]> git.eshelyaron.com Git - emacs.git/commit
Fix misuses of `byte-compile-macro-environment`
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 1 Mar 2021 17:18:49 +0000 (12:18 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 1 Mar 2021 17:18:49 +0000 (12:18 -0500)
commita0f60293d97cda858c033db4ae074e5e5560aab2
treeee76c0732471cc7dc4c2cde96c301c187fb10b14
parent6ad9b8d677fe136b9a0489eef0c2dd6a1f63917d
Fix misuses of `byte-compile-macro-environment`

These seem to be left overs from Emacs<24 when `macroexpand-all` was
implemented in the CL library and hence the macros's evaluation
environment could come from different places depending on the
circumstance (either `byte-compile-macro-environment`, or
`cl-macro-environment`, or ...).

`byte-compile-macro-environment` contains definitions which expand to
code that is only understood by the rest of the byte-compiler,
so using it for code which isn't being byte-compiled leads to errors
such as references to non-existing function
`internal--with-suppressed-warnings`.

* lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): Remove left-over
binding from when `macroexpand-all` was implemented in the CL library.

* lisp/emacs-lisp/ert.el (ert--expand-should-1):
* lisp/emacs-lisp/cl-macs.el (cl--compile-time-too): Properly preserve the
macroexpand-all-environment.
(cl--macroexp-fboundp): Pay attention to `cl-macrolet` macros as well.
lisp/emacs-lisp/cl-extra.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/ert.el