Re: display-supports-face-attributes-p bug?

From:

Eli Zaretskii

Subject:

Re: display-supports-face-attributes-p bug?

Date:

Thu, 09 Jun 2005 06:54:38 +0300

> Cc: address@hidden, address@hidden
> From: James Cloos <address@hidden>
> Date: Wed, 08 Jun 2005 17:00:01 -0400
>
> Strace(8)ing setterm(1) shows that it also uses terminfo and get's the
> same escape sequence for underline for xterm as it does for linux.
>
> So emacs should know that \033[4m turns on underline in both cases,
> but somehow doesn't output it if %ENV{TERM} ~= 'linux' (to use Perl
> syntax -- I forget the elisp construct). Is something special-casing
> consoles?
I don't think Emacs does anything special for the Linux console, if
that's what you meant.
I think the way to debug this is to step through the code in term.c
that produces underlining. First, make sure that
TS_enter_underline_mode and TS_exit_underline_mode hold the right
strings, then, in turn_on_face, make sure that the check
if (face->tty_underline_p && MAY_USE_WITH_COLORS_P (NC_UNDERLINE))
does TRT (where TRT is to underline if the Linux console can mix
underlining with colors).
If it turns out that Emacs thinks the Linux console cannot mix colors
with underlining, you can try "emacs --color=no" to see if that causes
underlining to work. If it does, it means that mixing colors with
underlining is the issue; if the Linux terminal can actually do that,
perhaps the way Emacs checks for this needs some work.