diff options
author | Andrea Corallo <akrl@sdf.org> | 2021-04-13 12:06:23 +0200 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2021-04-13 12:06:23 +0200 |
commit | b064ddd3f600ed28e62b09d556ecced5f80d9883 (patch) | |
tree | 2ddf4889f385beb34cd064f245a7e59265377c37 /lisp/emacs-lisp/byte-opt.el | |
parent | 2d23f19e7d5ff8a1ec1a188dcd530c185029d1f8 (diff) | |
parent | 6de79542e43ece9a12ebc032c275a6c3fee0b73b (diff) | |
download | emacs-b064ddd3f600ed28e62b09d556ecced5f80d9883.tar.gz emacs-b064ddd3f600ed28e62b09d556ecced5f80d9883.tar.bz2 emacs-b064ddd3f600ed28e62b09d556ecced5f80d9883.zip |
Merge remote-tracking branch 'savannah/master' into native-comp
Diffstat (limited to 'lisp/emacs-lisp/byte-opt.el')
-rw-r--r-- | lisp/emacs-lisp/byte-opt.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 436f5e48ae1..51b2f9bb98d 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -528,8 +528,14 @@ Same format as `byte-optimize--lexvars', with shared structure and contents.") `(condition-case ,var ;Not evaluated. ,(byte-optimize-form exp for-effect) ,@(mapcar (lambda (clause) - `(,(car clause) - ,@(byte-optimize-body (cdr clause) for-effect))) + (let ((byte-optimize--lexvars + (and lexical-binding + (if var + (cons (list var t) + byte-optimize--lexvars) + byte-optimize--lexvars)))) + (cons (car clause) + (byte-optimize-body (cdr clause) for-effect)))) clauses)))) (`(unwind-protect ,exp . ,exps) |