emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 2172d6a: Make 'compile' respect buffer-local process environment


From: Lars Ingebrigtsen
Subject: master 2172d6a: Make 'compile' respect buffer-local process environment
Date: Thu, 16 Sep 2021 10:09:50 -0400 (EDT)

branch: master
commit 2172d6a28dcbc01e7e0773c9ce46d6ad4b47262a
Author: Augusto Stoffel <arstoffel@gmail.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Make 'compile' respect buffer-local process environment
    
    * lisp/progmodes/compile.el (compilation-start): Use
    `process-environment' from original buffer in the compilation
    process (bug#50607).
---
 lisp/progmodes/compile.el | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 8d1486b..431b01b 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1783,6 +1783,9 @@ Returns the compilation buffer created."
            (replace-regexp-in-string "-mode\\'" "" (symbol-name mode))))
         (thisdir default-directory)
         (thisenv compilation-environment)
+         (buffer-path (and (local-variable-p 'exec-path) exec-path))
+         (buffer-env (and (local-variable-p 'process-environment)
+                          process-environment))
         outwin outbuf)
     (with-current-buffer
        (setq outbuf
@@ -1850,6 +1853,12 @@ Returns the compilation buffer created."
         ;; NB: must be done after (funcall mode) as that resets local variables
         (setq-local compilation-directory thisdir)
         (setq-local compilation-environment thisenv)
+        (if buffer-path
+            (setq-local exec-path buffer-path)
+          (kill-local-variable 'exec-path))
+        (if buffer-env
+            (setq-local process-environment buffer-env)
+          (kill-local-variable 'process-environment))
        (if highlight-regexp
             (setq-local compilation-highlight-regexp highlight-regexp))
         (if (or compilation-auto-jump-to-first-error



reply via email to

[Prev in Thread] Current Thread [Next in Thread]