diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2024-04-30 15:20:34 +0200 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2024-04-30 16:22:48 +0200 |
commit | c15d67ecfc8f586165674c289880618caf7f270e (patch) | |
tree | 84862f45eb3a6f0af4e3bc7577d21583adedca56 /lisp/emacs-lisp | |
parent | c3c2e3b4d3e9eac09293fca23e93f644e00e9431 (diff) | |
download | emacs-c15d67ecfc8f586165674c289880618caf7f270e.tar.gz |
* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Simplify.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 17 |
1 files 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." |