From a1f221bd82eb4393ccba83a361b435a4992b532a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 8 Apr 2016 13:39:17 -0700 Subject: [PATCH] Comint and compile no longer set EMACS MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This mostly restores the change that I reverted on March 23, fixing most of Bug#20202. The only part of the change that is still reverted is the change to M-x term, where compatibility with current Bash constrains us from moving too quickly (Bug#20484). Problem reported by Phillip Lord in: http://bugs.gnu.org/20484#108 * etc/NEWS: Document this. * lisp/comint.el (comint-exec-1): * lisp/net/tramp-sh.el (tramp-remote-process-environment): * lisp/progmodes/compile.el (compilation-start): Don’t set EMACS=t in the subsidiary process. --- etc/NEWS | 6 ++++-- lisp/comint.el | 7 ------- lisp/net/tramp-sh.el | 1 - lisp/progmodes/compile.el | 8 -------- 4 files changed, 4 insertions(+), 18 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 95265882ec..78d725bddf 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1398,8 +1398,10 @@ symbol-function was changed not to signal 'void-function' any more. *** As a consequence, the second arg of 'indirect-function' is now obsolete. +++ -** Although comint, term, and compile still set the EMACS variable, -this is now considered deprecated and will be removed in a future release. +** M-x shell and M-x compile no longer set the EMACS environment variable. +This avoids clashing when other programs use the variable for other purposes. +Although M-x term still sets EMACS for compatibility with Bash 4.3 and earlier, +this is deprecated and will be phased out when Bash 4.4 or later takes over. Use the INSIDE_EMACS environment variable instead. +++ diff --git a/lisp/comint.el b/lisp/comint.el index cb79c175f0..dcd4a5ae4c 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -816,13 +816,6 @@ series of processes in the same Comint buffer. The hook (format "COLUMNS=%d" (window-width))) (list "TERM=emacs" (format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width)))) - - ;; This hack is for backward compatibility with Bash 4.3 and - ;; earlier. It can break common uses of 'configure', so - ;; remove it once Bash 4.4 or later is common. - (unless (getenv "EMACS") - (list "EMACS=t")) - (list (format "INSIDE_EMACS=%s,comint" emacs-version)) process-environment)) (default-directory diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 79ff1bea4c..4d529f7aa3 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -520,7 +520,6 @@ as given in your `~/.profile'." (defcustom tramp-remote-process-environment `("TMOUT=0" "LC_CTYPE=''" ,(format "TERM=%s" tramp-terminal-type) - "EMACS=t" ;; Deprecated; remove this line once Bash 4.4-or-later is common. ,(format "INSIDE_EMACS='%s,tramp:%s'" emacs-version tramp-version) "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=cat" "autocorrect=" "correct=") diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 0b15a28309..b7ab408f74 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1702,14 +1702,6 @@ Returns the compilation buffer created." (list "TERM=emacs" (format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width)))) - - ;; Set the EMACS variable, but - ;; don't override users' setting of $EMACS. - ;; Remove this hack once Bash 4.4-or-later is common, - ;; since it can break 'configure'. - (unless (getenv "EMACS") - (list "EMACS=t")) - (list (format "INSIDE_EMACS=%s,compile" emacs-version)) (copy-sequence process-environment)))) (set (make-local-variable 'compilation-arguments) -- 2.39.2