emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master bd6c3a0: * lisp/obsolete/cl.el (labels): Don't quote lambda


From: Stefan Monnier
Subject: master bd6c3a0: * lisp/obsolete/cl.el (labels): Don't quote lambda
Date: Wed, 11 Aug 2021 18:20:39 -0400 (EDT)

branch: master
commit bd6c3a014a55176c56ca38c89c6ecab69a384ab7
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * lisp/obsolete/cl.el (labels): Don't quote lambda
    
    (flet): Don't need `fboundp` any more before calling `symbol-function`.
---
 lisp/obsolete/cl.el | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/lisp/obsolete/cl.el b/lisp/obsolete/cl.el
index 09f9ab7..9df6231 100644
--- a/lisp/obsolete/cl.el
+++ b/lisp/obsolete/cl.el
@@ -431,8 +431,7 @@ definitions, or lack thereof).
            (obsolete "use either `cl-flet' or `cl-letf'."  "24.3"))
   `(letf ,(mapcar
            (lambda (x)
-             (if (or (and (fboundp (car x))
-                          (eq (car-safe (symbol-function (car x))) 'macro))
+             (if (or (eq (car-safe (symbol-function (car x))) 'macro)
                      (cdr (assq (car x) macroexpand-all-environment)))
                  (error "Use `labels', not `flet', to rebind macro names"))
              (let ((func `(cl-function
@@ -466,10 +465,10 @@ rather than relying on `lexical-binding'."
        (push `(cl-function (lambda . ,(cdr binding))) sets)
        (push var sets)
        (push (cons (car binding)
-                    `(lambda (&rest cl-labels-args)
-                       (if (eq (car cl-labels-args) cl--labels-magic)
-                           (list cl--labels-magic ',var)
-                         (cl-list* 'funcall ',var cl-labels-args))))
+                    (lambda (&rest cl-labels-args)
+                      (if (eq (car cl-labels-args) cl--labels-magic)
+                          (list cl--labels-magic var)
+                        (cl-list* 'funcall var cl-labels-args))))
               newenv)))
     ;; `lexical-let' adds `cl--function-convert' (which calls
     ;; `cl--labels-convert') as a macroexpander for `function'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]