From 91ab9c13bfffea4b4c3634a1782e23da1b0de5b3 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Wed, 7 Sep 2011 15:17:54 +0300 Subject: [PATCH] * lisp/progmodes/compile.el (compilation-start): Let-bind `thisenv' to `compilation-environment'. Set buffer-local `compilation-environment' to `thisenv' later after (funcall mode). (Bug#8340) * lisp/vc/vc-git.el (vc-git-grep): Remove --no-color. (Bug#9408) (vc-git-grep): Prepend "PAGER=" to `compilation-environment' instead of replacing its value. (Bug#8340) --- lisp/ChangeLog | 11 +++++++++++ lisp/progmodes/compile.el | 4 +++- lisp/vc/vc-git.el | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e3e0c857385..2bb7bf0466d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2011-09-07 Juri Linkov + + * progmodes/compile.el (compilation-start): Let-bind `thisenv' to + `compilation-environment'. Set buffer-local + `compilation-environment' to `thisenv' later after (funcall mode). + (Bug#8340) + + * vc/vc-git.el (vc-git-grep): Remove --no-color. (Bug#9408) + (vc-git-grep): Prepend "PAGER=" to `compilation-environment' + instead of replacing its value. (Bug#8340) + 2011-09-07 Juri Linkov * progmodes/grep.el (grep-regexp-alist): Calculate column positions diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 5f99cfe0028..4871c980fb5 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1482,6 +1482,7 @@ Returns the compilation buffer created." "compilation" (replace-regexp-in-string "-mode\\'" "" (symbol-name mode)))) (thisdir default-directory) + (thisenv compilation-environment) outwin outbuf) (with-current-buffer (setq outbuf @@ -1528,8 +1529,9 @@ Returns the compilation buffer created." ;; Remember the original dir, so we can use it when we recompile. ;; default-directory' can't be used reliably for that because it may be ;; affected by the special handling of "cd ...;". - ;; NB: must be fone after (funcall mode) as that resets local variables + ;; NB: must be done after (funcall mode) as that resets local variables (set (make-local-variable 'compilation-directory) thisdir) + (set (make-local-variable 'compilation-environment) thisenv) (if highlight-regexp (set (make-local-variable 'compilation-highlight-regexp) highlight-regexp)) diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index fc42b43c97d..1bb246fea0b 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -988,7 +988,7 @@ This command shares argument histories with \\[rgrep] and \\[grep]." (setq command nil)) (setq dir (file-name-as-directory (expand-file-name dir))) (setq command - (grep-expand-template "git grep --no-color -n -e -- " + (grep-expand-template "git grep -n -e -- " regexp files)) (when command (if (equal current-prefix-arg '(4)) @@ -998,7 +998,7 @@ This command shares argument histories with \\[rgrep] and \\[grep]." (add-to-history 'grep-history command)))) (when command (let ((default-directory dir) - (compilation-environment '("PAGER="))) + (compilation-environment (cons "PAGER=" compilation-environment))) ;; Setting process-setup-function makes exit-message-function work ;; even when async processes aren't supported. (compilation-start command 'grep-mode)) -- 2.39.2