]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Simplify.
authorMattias EngdegÄrd <mattiase@acm.org>
Tue, 30 Apr 2024 12:51:07 +0000 (14:51 +0200)
committerEshel Yaron <me@eshelyaron.com>
Mon, 6 May 2024 16:30:11 +0000 (18:30 +0200)
Remove the add-lambda argument.  All callers adapted.

(cherry picked from commit c3c2e3b4d3e9eac09293fca23e93f644e00e9431)

lisp/emacs-lisp/bytecomp.el

index 6b7b804d7debcc4e502593876d6316a997a70ba4..8e8fcea9b72e56b96ea683e3a650bacf84f89a8a 100644 (file)
@@ -2841,7 +2841,7 @@ not to take responsibility for the actual compilation of the code."
           ;; Tell the caller that we didn't compile it yet.
           nil)
 
-      (let* ((code (byte-compile-lambda (cons arglist body) t)))
+      (let ((code (byte-compile-lambda `(lambda ,arglist . ,body))))
         (if this-one
             ;; A definition in b-c-initial-m-e should always take precedence
             ;; during compilation, so don't let it be redefined.  (Bug#8647)
@@ -3069,14 +3069,12 @@ If FORM is a lambda or a macro, byte-compile it as a function."
                         byte-compile--known-dynamic-vars)
                 ", "))))
 
-(defun byte-compile-lambda (fun &optional add-lambda reserved-csts)
+(defun byte-compile-lambda (fun &optional reserved-csts)
   "Byte-compile a lambda-expression and return a valid function.
 The value is usually a compiled function but may be the original
 lambda-expression."
-  (if add-lambda
-      (setq fun (cons 'lambda fun))
-    (unless (eq 'lambda (car-safe fun))
-      (error "Not a lambda list: %S" fun)))
+  (unless (eq 'lambda (car-safe fun))
+    (error "Not a lambda list: %S" fun))
   (byte-compile-check-lambda-list (nth 1 fun))
   (let* ((arglist (nth 1 fun))
          (bare-arglist (byte-run-strip-symbol-positions arglist)) ; for compile-defun.
@@ -4158,7 +4156,7 @@ This function is never called when `lexical-binding' is nil."
            (docstring-exp (nth 3 form))
            (body (nthcdr 4 form))
            (fun
-            (byte-compile-lambda `(lambda ,vars . ,body) nil (length env))))
+            (byte-compile-lambda `(lambda ,vars . ,body) (length env))))
       (cl-assert (or (> (length env) 0)
                     docstring-exp))    ;Otherwise, we don't need a closure.
       (cl-assert (byte-code-function-p fun))