From: Paul Pogonyshev Date: Tue, 27 Oct 2020 08:43:55 +0000 (+0100) Subject: Don't leak result of nested byte-compilation to outer level X-Git-Tag: emacs-28.0.90~5400 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=083707bbab74a7fcc60fa566156224924ffc3c64;p=emacs.git 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). --- 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.