]> git.eshelyaron.com Git - emacs.git/commitdiff
Move mh-flet macro to mh-acros.el
authorStefan Kangas <stefan@marxist.se>
Sat, 6 Aug 2022 18:33:50 +0000 (20:33 +0200)
committerStefan Kangas <stefan@marxist.se>
Sat, 6 Aug 2022 18:33:50 +0000 (20:33 +0200)
* lisp/mh-e/mh-compat.el (mh-flet): Move from here...
* lisp/mh-e/mh-acros.el (mh-flet): ...to here.

lisp/mh-e/mh-acros.el
lisp/mh-e/mh-compat.el

index 805b0820b03526705126c1a9ef73e31603e7facd..31630b43ca6ff703e6657307aa0a44acf36406d2 100644 (file)
@@ -269,6 +269,22 @@ MH-E functions."
                  binders)
        (let* ,binders ,@body))))
 
+;; Emacs 24 made flet obsolete and suggested either cl-flet or
+;; cl-letf. This macro is based upon gmm-flet from Gnus.
+(defmacro mh-flet (bindings &rest body)
+  "Make temporary overriding function definitions.
+That is, temporarily rebind the functions listed in BINDINGS and then
+execute BODY.  BINDINGS is a list containing one or more lists of the
+form (FUNCNAME ARGLIST BODY...), similar to defun."
+  (declare (indent 1) (debug ((&rest (sexp sexp &rest form)) &rest form)))
+  (if (fboundp 'cl-letf)
+      `(cl-letf ,(mapcar (lambda (binding)
+                           `((symbol-function ',(car binding))
+                             (lambda ,@(cdr binding))))
+                         bindings)
+         ,@body)
+    `(flet ,bindings ,@body)))
+
 (provide 'mh-acros)
 
 ;; Local Variables:
index 27158fc53a1638eaafb6862e7db284a81038588c..b7a1271b4ec263b13ed52d276075cd7743eea332 100644 (file)
 (define-obsolete-function-alias 'mh-assoc-string #'assoc-string "29.1")
 (define-obsolete-function-alias 'mh-cancel-timer #'cancel-timer "29.1")
 
-;; Emacs 24 made flet obsolete and suggested either cl-flet or
-;; cl-letf. This macro is based upon gmm-flet from Gnus.
-(defmacro mh-flet (bindings &rest body)
-  "Make temporary overriding function definitions.
-That is, temporarily rebind the functions listed in BINDINGS and then
-execute BODY.  BINDINGS is a list containing one or more lists of the
-form (FUNCNAME ARGLIST BODY...), similar to defun."
-  (declare (indent 1) (debug ((&rest (sexp sexp &rest form)) &rest form)))
-  (if (fboundp 'cl-letf)
-      `(cl-letf ,(mapcar (lambda (binding)
-                           `((symbol-function ',(car binding))
-                             (lambda ,@(cdr binding))))
-                         bindings)
-         ,@body)
-    `(flet ,bindings ,@body)))
-
 (define-obsolete-function-alias 'mh-display-color-cells
   #'display-color-cells "29.1")