mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Encapsulate byte-compile-form-stack maintenance
* lisp/emacs-lisp/bytecomp.el (byte-compile-toplevel-file-form) (byte-compile-form): * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use `macroexp--with-extended-form-stack` instead of explicit push and pop.
This commit is contained in:
parent
f34f474e38
commit
9db1fe638e
2 changed files with 120 additions and 127 deletions
|
|
@ -334,8 +334,7 @@ Only valid during macro-expansion."
|
|||
"Expand all macros in FORM.
|
||||
This is an internal version of `macroexpand-all'.
|
||||
Assumes the caller has bound `macroexpand-all-environment'."
|
||||
(push form byte-compile-form-stack)
|
||||
(prog1
|
||||
(macroexp--with-extended-form-stack form
|
||||
(if (eq (car-safe form) 'backquote-list*)
|
||||
;; Special-case `backquote-list*', as it is normally a macro that
|
||||
;; generates exceedingly deep expansions from relatively shallow input
|
||||
|
|
@ -520,8 +519,7 @@ Assumes the caller has bound `macroexpand-all-environment'."
|
|||
newform
|
||||
(macroexp--expand-all form)))
|
||||
(macroexp--expand-all newform))))))
|
||||
(_ form))))
|
||||
(pop byte-compile-form-stack)))
|
||||
(_ form))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun macroexpand-all (form &optional environment)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue