summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorPaul Pogonyshev <pogonyshev@gmail.com>2020-10-27 09:43:55 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2020-10-27 09:43:55 +0100
commit083707bbab74a7fcc60fa566156224924ffc3c64 (patch)
treea86611be219c7d559860d6dc6d767f8e3e401bab /lisp/emacs-lisp
parent7f32224dc324b0ee0f1b512c8d8b19aeb80141c1 (diff)
downloademacs-083707bbab74a7fcc60fa566156224924ffc3c64.tar.gz
emacs-083707bbab74a7fcc60fa566156224924ffc3c64.tar.bz2
emacs-083707bbab74a7fcc60fa566156224924ffc3c64.zip
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).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el3
1 files changed, 1 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index a547b672b1a..cbda16d051b 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -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.