1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-28 02:40:46 -08:00

Don't leak result of nested byte-compilation to outer level

* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Bind
`byte-compiler-error-flag' instead of setting it (bug#41065).
This fixes a problem of "leaking" the flag when compiling
something that then compiles something that errors out (i.e., an
"inner" compile).
This commit is contained in:
Paul Pogonyshev 2020-10-27 09:43:55 +01:00 committed by Lars Ingebrigtsen
parent 7f32224dc3
commit 083707bbab

View file

@ -1938,7 +1938,7 @@ See also `emacs-lisp-byte-compile-and-load'."
(byte-compile--known-dynamic-vars
(byte-compile--load-dynvars (getenv "EMACS_DYNVARS_FILE")))
target-file input-buffer output-buffer
byte-compile-dest-file)
byte-compile-dest-file byte-compiler-error-flag)
(setq target-file (byte-compile-dest-file filename))
(setq byte-compile-dest-file target-file)
(with-current-buffer
@ -2000,7 +2000,6 @@ See also `emacs-lisp-byte-compile-and-load'."
'no-byte-compile)
(when byte-compile-verbose
(message "Compiling %s..." filename))
(setq byte-compiler-error-flag nil)
;; It is important that input-buffer not be current at this call,
;; so that the value of point set in input-buffer
;; within byte-compile-from-buffer lingers in that buffer.