From 51eda974b2f353aac3a31bf9804a364b3f3a0337 Mon Sep 17 00:00:00 2001
From: Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
Date: Thu, 12 Apr 2018 12:11:03 +0530
Subject: gnu: Add emacs-noflet.

* gnu/packages/emacs.scm (emacs-noflet): New variable.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
---
 gnu/packages/emacs.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

(limited to 'gnu')

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 @@ (define-public emacs-company-restclient
 @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+))))
-- 
cgit v1.2.3