aboutsummaryrefslogtreecommitdiffstats
path: root/java/org
diff options
context:
space:
mode:
authorStefan Monnier2023-06-24 17:53:41 -0400
committerStefan Monnier2023-06-24 17:53:41 -0400
commite85ebb3d82466c5838e9c6836e6d8b5c8d0a7c33 (patch)
tree8c2f375400a73620d77cedeaa87a80299d66afd3 /java/org
parentf559bd1248a265662665c462b750eb5fc64dd811 (diff)
downloademacs-e85ebb3d82466c5838e9c6836e6d8b5c8d0a7c33.tar.gz
emacs-e85ebb3d82466c5838e9c6836e6d8b5c8d0a7c33.zip
(macroexp--unfold-lambda): Obey the lexbind semantics
While at it, rework the code so as not to rely on an intermediate rewriting of (funcall (lambda ..) ...) to ((lambda ..) ...) since that forms is deprecated. * lisp/emacs-lisp/byte-opt.el (byte-optimize-funcall): Unfold lambdas instead of turning them into the deprecated ((lambda ..) ..). (byte-optimize-form-code-walker): Don't unfold ((lambda ..) ..) any more. (byte-compile-inline-expand): Revert to non-optimized call if the unfolding can't be optimized. * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Don't unfold ((lambda ..) ..) any more. * lisp/emacs-lisp/cl-macs.el (cl--slet): Remove workaround. * lisp/emacs-lisp/disass.el (disassemble): Make sure the code is compiled with its own `lexical-binding` value. * lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda): Make it work both for ((lambda ..) ..) and for (funcall #'(lambda ..) ..). Be careful not to move dynbound vars from `lambda` to `let`. (macroexp--expand-all): Unfold (funcall #'(lambda ..) ..) instead of turning it into ((lambda ..) ..). Don't unfold ((lambda ..) ..) any more.
Diffstat (limited to 'java/org')
0 files changed, 0 insertions, 0 deletions