Subject: bug#12792: 24.2.50; shell-mode renders all its output in a yellow face

From: Dima Kogan <[email-masked]>
Date: Sat, 3 Nov 2012 11:08:28 -0700

> On Sat, 03 Nov 2012 19:16:42 +0800
> Chong Yidong <[email-masked]> wrote:
>
> Dima Kogan <[email-masked]> writes:
> 
> > I'm using a very recent emacs snapshot. shell-mode no longer renders the
> > ANSI-code colors correctly. Even with a relatively stock bash, All
> > output is rendered in yellow except for the prompt line. The prompt
> > isn't yellow, but it's wrong also
> 
> I can't reproduce it with
> 
> emacs -Q
> M-x shell RET
> ls --color RET
> 
> The output of ls is colorized correctly.  (Latest emacs-24 brach,
> x86_64-unknown-linux-gnu, GTK+ Version 3.4.2.)

Looking at it a bit more, what seems to be happening is that console output that
has coloring (like ls --color) is colored correctly, while anything that is
plain text is yellow. So if I do ls --color, the first few files don't have any
particular colors applied to them, and thus appear yellow. The first directory
is blue, as it should be, and the rest of the ls --color output is ok after that
point. I.e. even the "normal" text appears black instead of yellow. When the ls
is done and I get back to the prompt, things get yellow again.

(describe-face) says that the yellow bits have a nil face. This sounds like the
problem. Apparently I also see lots of "Invalid face reference: nil" complaints
in the *Messages* buffer.

The original bug report had a description of my emacs. It's a very recent build,
and I do see the issue with emacs -Q.