Subject: eshell environment does not override TERM

From: Bruno Haible <[email-masked]>
Date: Thu, 21 May 2009 22:02:42 +0200

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

When I invoke M-x eshell, subprocesses see the same TERM
environment variable as the one from which emacs was launched.
For example, when I launch emacs from an xterm, which has
TERM=xterm set, then processes run from within eshell will
see TERM=xterm as well and emit ANSI control codes for bold
or colored output. But eshell does not interpret these control
codes, and shows weird-looking ASCII characters instead.

Example:
M-x eshell
echo $TERM
wget http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.6.tar.gz
tar xfz libsigsegv-2.6.tar.gz
cd libsigsegv-2.6
./configure

shows:
^[[1mBuild Tools:^[[m

Likewise with packages that use automake's new 'color-tests'
option.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/22.2/etc/DEBUG for instructions.

In GNU Emacs 22.2.1 (x86_64-suse-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2008-09-12 on hammer22
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
configured using `configure  '--with-gcc' '--with-pop' '--without-hesiod' '--with-kerberos' '--with-kerberos5' '--with-leim' '--with-xim' '--with-system-malloc' '--prefix=/usr' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--with-x' '--with-sound' '--with-xpm' '--with-jpeg' '--with-tiff' '--with-gif' '--with-png' '--with-x-toolkit=lucid' '--x-includes=/usr/include' '--x-libraries=/usr/lib64:/usr/share/X11' '--build=x86_64-suse-linux-gnu' 'build_alias=x86_64-suse-linux-gnu' 'CC=gcc' 'CFLAGS=-O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -g -D_GNU_SOURCE -std=gnu89 -pipe -fno-strict-aliasing -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label -Wno-unprototyped-calls -DSYSTEM_PURESIZE_EXTRA=55000 	 -DSITELOAD_PURESIZE_EXTRA=10000 ' 'LDFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  show-paren-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> M-x n <backspace> 
b u g <tab> <tab> <backspace> <backspace> <backspace> 
e m <tab> a <tab> <backspace> <backspace> <backspace> 
<backspace> <backspace> r <backspace> e <backspace> 
<backspace> r e p <tab> o <tab> r <tab> <return>

Recent messages:
Loading paren...done
Loading cl-indent...done
Loading derived...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...
Loading help-mode...done
Making completion list... [2 times]
Loading emacsbug...
Loading regexp-opt...done
Loading emacsbug...done