summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2022-08-06 20:33:50 +0200
committerStefan Kangas <stefan@marxist.se>2022-08-06 20:33:50 +0200
commitf8354d1935c8900a5b8dada7ba564cdd6dafdc93 (patch)
treebfec9d2edc2e02096f6a31ce769bc79ff643b66e
parentdb2b5e784b2031f788af455f7056015bd15ce719 (diff)
downloademacs-f8354d1935c8900a5b8dada7ba564cdd6dafdc93.tar.gz
Move mh-flet macro to mh-acros.el
* lisp/mh-e/mh-compat.el (mh-flet): Move from here... * lisp/mh-e/mh-acros.el (mh-flet): ...to here.
-rw-r--r--lisp/mh-e/mh-acros.el16
-rw-r--r--lisp/mh-e/mh-compat.el16
2 files changed, 16 insertions, 16 deletions
diff --git a/lisp/mh-e/mh-acros.el b/lisp/mh-e/mh-acros.el
index 805b0820b03..31630b43ca6 100644
--- a/lisp/mh-e/mh-acros.el
+++ b/lisp/mh-e/mh-acros.el
@@ -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:
diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el
index 27158fc53a1..b7a1271b4ec 100644
--- a/lisp/mh-e/mh-compat.el
+++ b/lisp/mh-e/mh-compat.el
@@ -42,22 +42,6 @@
(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")