From ed6c00311322eaeddeb96f7f8019c17f874612b6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Tue, 30 Apr 2024 15:20:34 +0200 Subject: [PATCH] * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Simplify. (cherry picked from commit c15d67ecfc8f586165674c289880618caf7f270e) --- lisp/emacs-lisp/bytecomp.el | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 8e8fcea9b72..d9890b5c37a 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -4191,16 +4191,13 @@ This function is never called when `lexical-binding' is nil." ;; Nontrivial doc string expression: create a bytecode object ;; from small pieces at run time. `(make-byte-code - ',(aref fun 0) ; 15-bit form of arglist descriptor. - ',(aref fun 1) ; The byte-code. - (vconcat (vector . ,env) ',(aref fun 2)) ; constant vector. - ,@(let ((rest (nthcdr 3 (mapcar (lambda (x) `',x) fun)))) - (if docstring-exp - `(,(car rest) - ,(byte-run-strip-symbol-positions docstring-exp) - ,@(cddr rest)) - rest)))) - )))) + ,(aref fun 0) ; 15-bit form of arglist descriptor. + ,(aref fun 1) ; The byte-code. + (vconcat (vector . ,env) ,(aref fun 2)) ; constant vector + ,(aref fun 3) ; max stack depth + ,(byte-run-strip-symbol-positions docstring-exp) + ;; optional interactive spec and anything else, all quoted + ,@(mapcar (lambda (x) `',x) (drop 5 (append fun nil))))))))) (defun byte-compile-get-closed-var (form) "Byte-compile the special `internal-get-closed-var' form." -- 2.39.5