GNU bug report logs - #11785
24.1; term-mode doesn't respect first color change from a process

Previous Next

Package: emacs;

Reported by: Michael Hoffman <b3i4old02 <at> sneakemail.com>

Date: Tue, 26 Jun 2012 01:03:01 UTC

Severity: normal

Tags: patch

Merged with 5355

Found in versions 23.2, 23.3, 23.4, 24.1

Fixed in version 24.3

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 11785 in the body.
You can then email your comments to 11785 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#11785; Package emacs. (Tue, 26 Jun 2012 01:03:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Hoffman <b3i4old02 <at> sneakemail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 26 Jun 2012 01:03:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Michael Hoffman <b3i4old02 <at> sneakemail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.1; term-mode doesn't respect first color change from a process
Date: Mon, 25 Jun 2012 17:37:18 -0700
A small test file will demonstrate this problem:

$ cat test.sh
#!/usr/bin/env bash
echo -e "\E[31mRed \E[32mGreen"

When running this, I expect to get "Red" in red and "Green" in green.

Running `emacs -Q --eval '(ansi-term "./test.sh")' with Emacs 24 results
in "Red" in black (not red as expected) and "Green" in green. Doing this
with Emacs 23.1 results in the expected behavior ("Red" in red).

In GNU Emacs 24.1.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.10.4)
 of 2012-06-21 on rhel5-x64.grid.gs.washington.edu
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
Configured using:
 `configure '--without-gif' '--with-x' '--with-x-toolkit=gtk'
 '--prefix=/net/gs/vol3/software/modules-sw/emacs/24.1/Linux/RHEL5/x86_64''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: en_US
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=SCIM
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x r e p o r <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail regexp-opt rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dynamic-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11785; Package emacs. (Tue, 26 Jun 2012 07:39:02 GMT) Full text and rfc822 format available.

Message #8 received at 11785 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Michael Hoffman <b3i4old02 <at> sneakemail.com>
Cc: 11785 <at> debbugs.gnu.org
Subject: Re: bug#11785: 24.1;
	term-mode doesn't respect first color change from a process
Date: Tue, 26 Jun 2012 03:34:34 -0400
Michael Hoffman wrote:

> $ cat test.sh
> #!/usr/bin/env bash
> echo -e "\E[31mRed \E[32mGreen"
>
> When running this, I expect to get "Red" in red and "Green" in green.
>
> Running `emacs -Q --eval '(ansi-term "./test.sh")' with Emacs 24 results
> in "Red" in black (not red as expected) and "Green" in green. Doing this
> with Emacs 23.1 results in the expected behavior ("Red" in red).

The issue first appears in 23.2. Removing the call to term-ansi-reset in
term-mode brings back the red.




bug Marked as found in versions 23.2. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 Jun 2012 07:41:01 GMT) Full text and rfc822 format available.

bug Marked as found in versions 23.3. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 Jun 2012 07:41:02 GMT) Full text and rfc822 format available.

bug Marked as found in versions 23.4. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 Jun 2012 07:41:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11785; Package emacs. (Tue, 26 Jun 2012 20:33:01 GMT) Full text and rfc822 format available.

Message #17 received at 11785 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Michael Hoffman <b3i4old02 <at> sneakemail.com>
Cc: 11785 <at> debbugs.gnu.org
Subject: Re: bug#11785: 24.1;
	term-mode doesn't respect first color change from a process
Date: Tue, 26 Jun 2012 16:28:46 -0400
More specifically, this seems to fix your problem.
I haven't checked yet if it has other consequences though:

*** lisp/term.el	2012-06-20 16:21:57 +0000
--- lisp/term.el	2012-06-26 20:26:20 +0000
***************
*** 961,967 ****
    (setq term-ansi-current-reverse nil)
    (setq term-ansi-current-color 0)
    (setq term-ansi-current-invisible nil)
!   (setq term-ansi-face-already-done t)
    (setq term-ansi-current-bg-color 0))
  
  (define-derived-mode term-mode fundamental-mode "Term"
--- 961,967 ----
    (setq term-ansi-current-reverse nil)
    (setq term-ansi-current-color 0)
    (setq term-ansi-current-invisible nil)
!   (setq term-ansi-face-already-done nil)
    (setq term-ansi-current-bg-color 0))
  
  (define-derived-mode term-mode fundamental-mode "Term"




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11785; Package emacs. (Fri, 06 Jul 2012 02:13:01 GMT) Full text and rfc822 format available.

Message #20 received at 11785 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 11785 <at> debbugs.gnu.org, Michael Hoffman <b3i4old02 <at> sneakemail.com>
Subject: Re: bug#11785: 24.1;
	term-mode doesn't respect first color change from a process
Date: Thu, 05 Jul 2012 22:07:45 -0400
Glenn Morris wrote:

> More specifically, this seems to fix your problem.
> I haven't checked yet if it has other consequences though:
>
> *** lisp/term.el	2012-06-20 16:21:57 +0000
> --- lisp/term.el	2012-06-26 20:26:20 +0000
> ***************
> *** 961,967 ****
>     (setq term-ansi-current-reverse nil)
>     (setq term-ansi-current-color 0)
>     (setq term-ansi-current-invisible nil)
> !   (setq term-ansi-face-already-done t)
>     (setq term-ansi-current-bg-color 0))
>   
>   (define-derived-mode term-mode fundamental-mode "Term"
> --- 961,967 ----
>     (setq term-ansi-current-reverse nil)
>     (setq term-ansi-current-color 0)
>     (setq term-ansi-current-invisible nil)
> !   (setq term-ansi-face-already-done nil)
>     (setq term-ansi-current-bg-color 0))
>   
>   (define-derived-mode term-mode fundamental-mode "Term"

Stefan, you have some comments in term.el saying that
term-ansi-face-already-done should perhaps be t in more places.
Maybe this example shows why it shouldn't be?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11785; Package emacs. (Fri, 06 Jul 2012 21:38:02 GMT) Full text and rfc822 format available.

Message #23 received at 11785 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 11785 <at> debbugs.gnu.org, Michael Hoffman <b3i4old02 <at> sneakemail.com>
Subject: Re: bug#11785: 24.1;
	term-mode doesn't respect first color change from a process
Date: Fri, 06 Jul 2012 17:31:57 -0400
> Stefan, you have some comments in term.el saying that
> term-ansi-face-already-done should perhaps be t in more places.
> Maybe this example shows why it shouldn't be?

I can't remember any of it and don't have time to look into it now,
so... I'll trust you on that, but in any case, it suggest complementing
my comment.


        Stefan




Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Thu, 27 Sep 2012 07:08:01 GMT) Full text and rfc822 format available.

Notification sent to Michael Hoffman <b3i4old02 <at> sneakemail.com>:
bug acknowledged by developer. (Thu, 27 Sep 2012 07:08:02 GMT) Full text and rfc822 format available.

Message #28 received at 11785-done <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 11785-done <at> debbugs.gnu.org
Subject: Re: bug#11785: 24.1;
	term-mode doesn't respect first color change from a process
Date: Thu, 27 Sep 2012 03:07:17 -0400
Version: 24.3

Stefan Monnier wrote:

>> Stefan, you have some comments in term.el saying that
>> term-ansi-face-already-done should perhaps be t in more places.
>> Maybe this example shows why it shouldn't be?
>
> I can't remember any of it and don't have time to look into it now,
> so... I'll trust you on that, but in any case, it suggest complementing
> my comment.

I'm afraid I know nothing about what is going on here, I just saw by
experiment that reverting that change fixed the reported issue.
I committed it so it will hopefully get some testing that may reveal
whether or not there are any other consequences.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Oct 2012 11:24:04 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 12 Dec 2012 20:10:01 GMT) Full text and rfc822 format available.

Forcibly Merged 5355 11785. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 12 Dec 2012 20:10:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 10 Jan 2013 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 131 days ago.

Previous Next


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