]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/obsolete/cl.el (labels): Don't quote lambda
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 11 Aug 2021 22:20:35 +0000 (18:20 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 11 Aug 2021 22:20:35 +0000 (18:20 -0400)
(flet): Don't need `fboundp` any more before calling `symbol-function`.

lisp/obsolete/cl.el

index 09f9ab7b7f297729ed6c767014f72d676f97dc08..9df623185724f7c01e73d4712561b5923298beaa 100644 (file)
@@ -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'.