]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't leak result of nested byte-compilation to outer level
authorPaul Pogonyshev <pogonyshev@gmail.com>
Tue, 27 Oct 2020 08:43:55 +0000 (09:43 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 27 Oct 2020 08:43:55 +0000 (09:43 +0100)
* 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).

lisp/emacs-lisp/bytecomp.el

index a547b672b1aafa7e1aae31d8b3806245cb2d2d70..cbda16d051b85aaa290bdac5b9445b89badf7b21 100644 (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.