Comint and compile no longer set EMACS

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.
This commit is contained in:
Paul Eggert 2016-04-08 13:39:17 -07:00
parent 5c288909b9
commit a1f221bd82
4 changed files with 4 additions and 18 deletions

View file

@ -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.
+++

View file

@ -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

View file

@ -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=")

View file

@ -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)