summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/bytecomp.el
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2022-06-14 19:09:20 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2022-06-14 20:19:59 +0200
commitd6600481ae9423eb2c51150967050afb05c301b8 (patch)
treec0126baad261bc2433b6f15c1247a7f0e25853f1 /lisp/emacs-lisp/bytecomp.el
parent6825e5686a4bf21f5d5a0ae1af889097cfa2f597 (diff)
downloademacs-d6600481ae9423eb2c51150967050afb05c301b8.tar.gz
emacs-d6600481ae9423eb2c51150967050afb05c301b8.tar.bz2
emacs-d6600481ae9423eb2c51150967050afb05c301b8.zip
Run cconv for dynbound code as well
Make cconv work for dynamically bound code and always run it. This allows later stages to benefit from transformations and normalisations in cconv. * lisp/emacs-lisp/bytecomp.el (byte-compile-preprocess): Always run cconv. * lisp/emacs-lisp/cconv.el (cconv--analyze-function) (cconv-analyze-form): In dynbound code, treat all variable bindings as dynamic (lambda, let, let* and condition-case).
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r--lisp/emacs-lisp/bytecomp.el4
1 files changed, 1 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 1f868d2217c..af74c0699b9 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2557,9 +2557,7 @@ list that represents a doc string reference.
;; macroexpand-all.
;; (if (memq byte-optimize '(t source))
;; (setq form (byte-optimize-form form for-effect)))
- (cond
- (lexical-binding (cconv-closure-convert form))
- (t form)))
+ (cconv-closure-convert form))
;; byte-hunk-handlers cannot call this!
(defun byte-compile-toplevel-file-form (top-level-form)