GNU bug report logs - #6085
Eshell doesn't handle ANSI escapes/colors well

Previous Next

Package: emacs;

Reported by: Ken Hori <fplemma <at> gmail.com>

Date: Mon, 3 May 2010 03:55:02 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#6085: closed (Eshell doesn't handle ANSI escapes/colors well)
Date: Sat, 29 May 2010 18:30:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 29 May 2010 14:29:22 -0400
with message-id <87d3wer27x.fsf <at> stupidchicken.com>
and subject line Re: Eshell doesn't handle ANSI escapes/colors well
has caused the GNU bug report #6085,
regarding Eshell doesn't handle ANSI escapes/colors well
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
6085: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6085
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ken Hori <fplemma <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Eshell doesn't handle ANSI escapes/colors well
Date: Sun, 2 May 2010 20:54:46 -0700
From Emacs bzr HEAD:

Eshell doesn't handle a terminal escape code like ^[.

My eshell-output-filter-functions:
 '(eshell-output-filter-functions (quote (eshell-handle-ansi-color
eshell-handle-control-codes eshell-watch-for-password-prompt
eshell-postoutput-scroll-to-bottom)))

Example:
[~/emacs.20100501/lisp/eshell]$ export TERM=xterm-256color
[~/emacs.20100501/lisp/eshell]$ *grep --color=auto ansi esh-*
^[[Kesh-mode.el^[[K^[[K:^[[K    eshell-handle-^[[Kansi^[[K-color
^[[Kesh-mode.el^[[K^[[K:^[[K(autoload
'^[[Kansi^[[K-color-apply-on-region "^[[Kansi^[[K-color")
^[[Kesh-mode.el^[[K^[[K:^[[K(defun eshell-handle-^[[Kansi^[[K-color ()
^[[Kesh-mode.el^[[K^[[K:^[[K  (^[[Kansi^[[K-color-apply-on-region
eshell-last-output-start
^[[Kesh-mode.el^[[K^[[K:^[[K		   'eshell-handle-^[[Kansi^[[K-color)
^[[Kesh-var.el^[[K^[[K:^[[K;; is identical to just saying (lisp); but
with the variable exp^[[Kansi^[[Kon


`term-handle-ansi-escape' from term.el seems to be be handling
ansi escapes very well. Maybe we can integrate  a modified
version of it into Eshell.



[Message part 3 (message/rfc822, inline)]
From: Chong Yidong <cyd <at> stupidchicken.com>
To: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
Cc: Ken Hori <fplemma <at> gmail.com>, 6085-done <at> debbugs.gnu.org
Subject: Re: Eshell doesn't handle ANSI escapes/colors well
Date: Sat, 29 May 2010 14:29:22 -0400
>> Eshell doesn't handle a terminal escape code like ^[.
>>
>> [~/emacs.20100501/lisp/eshell]$ export TERM=xterm-256color
>> [~/emacs.20100501/lisp/eshell]$ *grep --color=auto ansi esh-*
>> ^[[Kesh-mode.el^[[K^[[K:^[[K    eshell-handle-^[[Kansi^[[K-color
>
> This was working some time ago so maybe looking at what have changed and
> reenable this feature should be good.

No, this is not a regression.  The mess here is due to the ^[[K ("erase
line") sequence that colorized grep emits.  (I don't know why it needs
this control sequence.)

There is no sane way for the ansi-color package to handle this.  Unlike
term.el, it is not intended to be a terminal emulator.  The best we can
do is to delete such sequences from the output, and I've committed a
change to do that.


This bug report was last modified 15 years and 56 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.