[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master ab8a34ce8a: * lisp/emacs-lisp/bytecomp.el (byte-compile-make-clos
From: |
Stefan Monnier |
Subject: |
master ab8a34ce8a: * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Minor optimization |
Date: |
Fri, 18 Mar 2022 16:07:51 -0400 (EDT) |
branch: master
commit ab8a34ce8a54539cc9f66892145153312fa2a7fa
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Minor
optimization
---
lisp/emacs-lisp/bytecomp.el | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index c680437f32..c39d931517 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -3924,7 +3924,7 @@ discarding."
docstring-exp)) ;Otherwise, we don't need a closure.
(cl-assert (byte-code-function-p fun))
(byte-compile-form
- (if (or (not docstring-exp) (stringp docstring-exp))
+ (if (macroexp-const-p docstring-exp)
;; Use symbols V0, V1 ... as placeholders for closure variables:
;; they should be short (to save space in the .elc file), yet
;; distinct when disassembled.
@@ -3940,7 +3940,7 @@ discarding."
(vconcat dummy-vars (aref fun 2))
(aref fun 3)
(if docstring-exp
- (cons docstring-exp (cdr opt-args))
+ (cons (eval docstring-exp t) (cdr opt-args))
opt-args))))
`(make-closure ,proto-fun ,@env))
;; Nontrivial doc string expression: create a bytecode object
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master ab8a34ce8a: * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): Minor optimization,
Stefan Monnier <=