summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2024-04-30 15:20:34 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2024-04-30 16:22:48 +0200
commitc15d67ecfc8f586165674c289880618caf7f270e (patch)
tree84862f45eb3a6f0af4e3bc7577d21583adedca56 /lisp/emacs-lisp
parentc3c2e3b4d3e9eac09293fca23e93f644e00e9431 (diff)
downloademacs-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.el17
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."