Make comint-term-environment connection-aware (bug#51426)
* lisp/comint.el (comint-term-environment): Make it connection-aware. * doc/emacs/misc.texi (Shell Options): Document the above change, and explain how this interacts with 'system-uses-terminfo'. * etc/NEWS: Announce the above change.
This commit is contained in:
parent
802e9b1b45
commit
9c95a4fa55
3 changed files with 24 additions and 9 deletions
|
|
@ -1497,14 +1497,20 @@ directory stack if they are not already on it
|
|||
underlying shell, of course.
|
||||
|
||||
@vindex comint-terminfo-terminal
|
||||
@vindex system-uses-terminfo
|
||||
@vindex TERM@r{, environment variable, in sub-shell}
|
||||
Comint mode sets the @env{TERM} environment variable to a safe default
|
||||
value, but this value disables some useful features. For example,
|
||||
color is disabled in applications that use @env{TERM} to determine if
|
||||
color is supported. Therefore, Emacs provides an option
|
||||
@code{comint-terminfo-terminal}, which you can set to a terminal that
|
||||
is present in your system's terminfo database, in order to take
|
||||
advantage of advanced features of that terminal.
|
||||
@code{comint-terminfo-terminal} to let you choose a terminal with more
|
||||
advanced features, as defined in your system's terminfo database.
|
||||
Emacs will use this option as the value for @env{TERM} so long as
|
||||
@code{system-uses-terminfo} is non-nil.
|
||||
|
||||
Both @code{comint-terminfo-terminal} and @code{system-uses-terminfo}
|
||||
can be declared as connection-local variables to adjust these options
|
||||
to match what a remote system expects (@pxref{Connection Variables}).
|
||||
|
||||
@node Terminal emulator
|
||||
@subsection Emacs Terminal Emulator
|
||||
|
|
|
|||
8
etc/NEWS
8
etc/NEWS
|
|
@ -120,6 +120,14 @@ When non-nil, if the point is in a closing delimiter and the opening
|
|||
delimiter is offscreen, shows some context around the opening
|
||||
delimiter in the echo area.
|
||||
|
||||
** Comint
|
||||
|
||||
+++
|
||||
*** 'comint-term-environment' is now aware of connection-local variables.
|
||||
The user option 'comint-terminfo-terminal' and variable
|
||||
'system-uses-terminfo' can now be set as connection-local variables to
|
||||
change the terminal used on a remote host.
|
||||
|
||||
|
||||
* Changes in Specialized Modes and Packages in Emacs 29.1
|
||||
|
||||
|
|
|
|||
|
|
@ -889,12 +889,13 @@ series of processes in the same Comint buffer. The hook
|
|||
;; and there is no way for us to define it here.
|
||||
;; Some programs that use terminfo get very confused
|
||||
;; if TERM is not a valid terminal type.
|
||||
(if (and (boundp 'system-uses-terminfo) system-uses-terminfo)
|
||||
(list (format "TERM=%s" comint-terminfo-terminal)
|
||||
"TERMCAP="
|
||||
(format "COLUMNS=%d" (window-width)))
|
||||
(list "TERM=emacs"
|
||||
(format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width)))))
|
||||
(with-connection-local-variables
|
||||
(if system-uses-terminfo
|
||||
(list (format "TERM=%s" comint-terminfo-terminal)
|
||||
"TERMCAP="
|
||||
(format "COLUMNS=%d" (window-width)))
|
||||
(list "TERM=emacs"
|
||||
(format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width))))))
|
||||
|
||||
(defun comint-nonblank-p (str)
|
||||
"Return non-nil if STR contains non-whitespace syntax."
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue