]> git.eshelyaron.com Git - emacs.git/commit
Byte compiler: Prevent special forms' symbols being replaced by bare symbols
authorAlan Mackenzie <acm@muc.de>
Fri, 22 Apr 2022 19:11:31 +0000 (19:11 +0000)
committerAlan Mackenzie <acm@muc.de>
Fri, 22 Apr 2022 19:11:31 +0000 (19:11 +0000)
commit0b9b363dabd70032a288e14333896022caa2d252
tree851501a770052112a5a88886caa68ea00e9e407b
parent5b23c9942ae057c886e68edb8c4bf09bf7e8eda9
Byte compiler: Prevent special forms' symbols being replaced by bare symbols

These are symbols with position from source code, which should not be replaced
by bare symbols in, e.g., optimization functions.

* lisp/Makefile.in: (BYTE_COMPILE_FLAGS, compile-first case): Set
max-specpdl-size to 5000 for the benefit of lisp/emacs-lisp/comp.el.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker)
(byte-optimize--rename-var, byte-optimize-if, byte-optimize-letX)
* lisp/emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel)
(byte-compile-lambda)
* lisp/emacs-lisp/cconv.el (cconv-convert)
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Preserve, e.g., (car
form) in the byte compiler, when this form's car is a symbol with position of
a special form, rather than replacing the symbol with a bare symbol, e.g.
'cond.
lisp/Makefile.in
lisp/emacs-lisp/byte-opt.el
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/cconv.el
lisp/emacs-lisp/macroexp.el