From: Dima Kogan <dima@secretsauce.net>
To: Wolfgang Jenkner <wjenkner@inode.at>
Cc: 12792@debbugs.gnu.org
Subject: bug#12792: 24.2.50; shell-mode renders all its output in a yellow face
Date: Mon, 5 Nov 2012 15:57:11 -0800 [thread overview]
Message-ID: <20121105155711.267e869b@fatty> (raw)
In-Reply-To: <854nl4krvr.fsf@iznogoud.viz>
> On Mon, 05 Nov 2012 16:00:34 +0100
> Wolfgang Jenkner <wjenkner@inode.at> wrote:
>
> On Mon, Nov 05 2012, Dima Kogan wrote:
>
> > The output (with all the 'escape' characters replaced with '\e' to
> > make sure the email handlers don't get confused):
> >
> >
> > \e[31mdima@shorty\e[39m:\e[33m~\e[39m$
> > \e[31mdima@shorty\e[39m:\e[33m~\e[39m$
> > \e[31mdima@shorty\e[39m:\e[33m~\e[39m$ seq 5
> > 1
> > 2
> > 3
> > 4
> > 5
> > \e[31mdima@shorty\e[39m:\e[33m~\e[39m$ ls --color=auto -ld .emacs.d
> > drwxr-xr-x 6 dima dima 4096 Nov 3 15:31 \e[0m\e[01;34m.emacs.d\e[0m
> > \e[31mdima@shorty\e[39m:\e[33m~\e[39m$ seq 5
> > 1
> > 2
> > 3
> > 4
> > 5
> > \e[31mdima@shorty\e[39m:\e[33m~\e[39m$
> >
> >
> [...]
> > If I evaluate your defun also, I get everything red (nil face also)
> > until the ".emacs.d". The ".emacs.d" is blue, as it should be. From
> > that point on, all the plain output is black and all the prompts
> > are blue. This is correct, except the prompts still shouldn't be
> > all blue.
>
> Thanks for the precise recipe. I installed zsh 5.0.0 from ports in
> FreeBSD 9 and tried it, but I can't reproduce the bogus red colouring
> (with the rewritten ansi-color-apply-sequence).
>
> So I would like to ask you to do some more investigation:
>
> As usual, load ansi-color and then eval the new definition of
> ansi-color-apply-sequence.
>
> Then
>
> M-x trace-function-background <return> ansi-color-apply-sequence
> <return> <return> M-x trace-function-background <return>
> comint-output-filter <return> <return>
>
> M-x shell and type in the same shell commands as above.
>
> M-x untrace-all
>
> Then please attach the content of "*trace-output*" to your reply.
>
> Wolfgang
>
>
>
>
Hi Wolfgang. I just ran those tests.
Previously, I would do M-x shell, and then evaluate the new defun; this produced
the results I described earlier.
You just asked for a different order: load ansi-color, comint, THEN eval defun,
THEN M-x shell. That produces different colored results: everything looks
correct except the prompt is all blue all the time. Nothing has nil face. Is
this the expected behavior with that defun, or is the prompt supposed to look
right also?
The trace output follows. Note that once again I replaced all escape characters with '\e'.
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 18 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 36 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 54 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 72 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 90 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 108 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 126 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="1
2
3
4
"
1 <- comint-output-filter: #<marker (moves after insertion) at 140 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="5
\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 159 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="drwxr-xr-x 4 dima dima 4096 Nov 5 00:33 \e[0m\e[01;34m/home/dima/.emacs.d\e[0m
"
| 2 -> ansi-color-apply-sequence: escape-sequence=#("0m" 0 2 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("01;34m" 0 6 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (34 1)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("0m" 0 2 (fontified nil)) codes=(34 1)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 251 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 268 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 286 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 304 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="1
2
3
4
"
1 <- comint-output-filter: #<marker (moves after insertion) at 318 in *shell*>
======================================================================
1 -> comint-output-filter: process=#<process shell> string="5
\e[32mdima@fatty\e[39m:\e[33m/tmp\e[39m$ "
| 2 -> ansi-color-apply-sequence: escape-sequence=#("32m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (32)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(32)
| 2 <- ansi-color-apply-sequence: nil
| 2 -> ansi-color-apply-sequence: escape-sequence=#("33m" 0 3 (fontified nil)) codes=nil
| 2 <- ansi-color-apply-sequence: (33)
| 2 -> ansi-color-apply-sequence: escape-sequence=#("39m" 0 3 (fontified nil)) codes=(33)
| 2 <- ansi-color-apply-sequence: nil
1 <- comint-output-filter: #<marker (moves after insertion) at 337 in *shell*>
next prev parent reply other threads:[~2012-11-05 23:57 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-03 8:55 bug#12792: 24.2.50; shell-mode renders all its output in a yellow face Dima Kogan
2012-11-03 11:16 ` Chong Yidong
2012-11-03 18:08 ` Dima Kogan
2012-11-03 15:37 ` Wolfgang Jenkner
2012-11-03 16:32 ` Eli Zaretskii
2012-11-03 17:59 ` Wolfgang Jenkner
2012-11-04 3:27 ` Wolfgang Jenkner
2012-11-04 7:45 ` Dima Kogan
2012-11-04 13:49 ` Wolfgang Jenkner
2012-11-04 20:24 ` Dima Kogan
2012-11-04 23:39 ` Wolfgang Jenkner
2012-11-05 3:23 ` Dima Kogan
2012-11-05 15:00 ` Wolfgang Jenkner
2012-11-05 15:25 ` Wolfgang Jenkner
2012-11-05 23:57 ` Dima Kogan [this message]
2012-11-06 1:24 ` Wolfgang Jenkner
2012-11-06 1:31 ` Dima Kogan
2012-11-09 1:50 ` Wolfgang Jenkner
2012-11-09 17:30 ` Stefan Monnier
2012-11-09 18:20 ` Wolfgang Jenkner
2012-11-09 20:37 ` Stefan Monnier
2012-11-17 15:21 ` Paul Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121105155711.267e869b@fatty \
--to=dima@secretsauce.net \
--cc=12792@debbugs.gnu.org \
--cc=wjenkner@inode.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).