GNU bug report logs -
#8340
23.2; recompile does not retain compilation-environment needed by vc-git-grep
Previous Next
Reported by: Trevor Spiteri <tspiteri <at> ieee.org>
Date: Thu, 24 Mar 2011 19:11:02 UTC
Severity: normal
Found in version 23.2
Done: Juri Linkov <juri <at> jurta.org>
Bug is archived. No further changes may be made.
Full log
Message #14 received at 8340 <at> debbugs.gnu.org (full text, mbox):
> -(defvar compilation-environment nil
> - "*List of environment variables for compilation to inherit.
> +(defcustom compilation-environment nil
> + "List of environment variables for compilation to inherit.
> Each element should be a string of the form ENVVARNAME=VALUE.
> This list is temporarily prepended to `process-environment' prior to
> -starting the compilation process.")
> +starting the compilation process."
> + :type '(repeat (string :tag "ENVVARNAME=VALUE"))
> + :options '(("LANG=C"))
> + :group 'compilation
> + :version "24.1")
What is this supposed to fix?
> ;; History of compile commands.
> (defvar compile-history nil)
> @@ -1482,6 +1491,7 @@ (defun compilation-start (command &optio
> "compilation"
> (replace-regexp-in-string "-mode\\'" "" (symbol-name mode))))
> (thisdir default-directory)
> + (thisenv compilation-environment)
> outwin outbuf)
> (with-current-buffer
> (setq outbuf
> @@ -1530,6 +1541,7 @@ (defun compilation-start (command &optio
> ;; affected by the special handling of "cd ...;".
> ;; NB: must be fone 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))
> === modified file 'lisp/vc/vc-git.el'
> --- lisp/vc/vc-git.el 2011-09-01 07:29:56 +0000
> +++ lisp/vc/vc-git.el 2011-09-06 09:19:48 +0000
> @@ -998,7 +998,7 @@ (defun vc-git-grep (regexp &optional fil
> (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))
Mixing defcustom+bufferlocal+letbinding is really asking for trouble,
although I think in this case it might just fall within the limits of
what does work.
The vc-git.el patch looks perfectly good and so does the (set...thisenv).
But I'd prefer to refrain from making compilation-environment a defcustom
for now, until we find a really good use for it.
Stefan
This bug report was last modified 13 years and 318 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.