summary refs log tree commit diff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
authorSohom Bhattacharjee <soham.bhattacharjee15@gmail.com>2018-04-12 12:11:03 +0530
committerArun Isaac <arunisaac@systemreboot.net>2018-05-03 22:59:39 +0530
commit51eda974b2f353aac3a31bf9804a364b3f3a0337 (patch)
tree6af2d48e69e9a2c7ef719911ec10dc0b256731a6 /gnu/packages/emacs.scm
parent90ec79fb2933a4d33ab3861d72e1b4382c8d39f2 (diff)
downloadguix-51eda974b2f353aac3a31bf9804a364b3f3a0337.tar.gz
gnu: Add emacs-noflet.
* gnu/packages/emacs.scm (emacs-noflet): New variable.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 186b87fec6..ffd7316cd9 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -10343,3 +10343,40 @@ It provides auto-completion for HTTP methods and headers in
 @code{restclient-mode}.  Completion source is given by
 @code{know-your-http-well}.")
     (license license:gpl3+)))
+
+(define-public emacs-noflet
+  (let ((version "20170629")
+        (revision "1")
+        (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
+    (package
+      (name "emacs-noflet")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/nicferrier/emacs-noflet")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'require-dash
+             ;; noflet.el uses -map from dash, but (require 'dash) is
+             ;; missing. So, add it.
+             (lambda _
+               (substitute* "noflet.el"
+                 ((";;; Code:") ";;; Code:\n(require 'dash)"))
+               #t)))))
+      (propagated-inputs
+       `(("emacs-dash" ,emacs-dash)))
+      (home-page "https://github.com/nicferrier/emacs-noflet")
+      (synopsis "Locally override functions")
+      (description "@code{emacs-noflet} let's you locally override functions,
+in the manner of @command{flet}, but with access to the original function
+through the symbol: @command{this-fn}.")
+      (license license:gpl3+))))