GNU bug report logs -
#62237
28.1 or higher: 24-bit true color breaks colours in Emacsen built without X under GNU Screen
Previous Next
Reported by: Sebastian Tennant <sdt <at> sebyte.me>
Date: Fri, 17 Mar 2023 09:42:02 UTC
Severity: normal
Found in version 28.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Quoth Eli Zaretskii <eliz <at> gnu.org>
on Sat, 18 Mar 2023 11:09:10 +0200:
>>>> […] machines you are able to do a rlogin and still keep the
>>>> correct termcap/terminfo entry. The terminal name is put in the
>>>> $TERM variable of all new windows. Screen also sets the $TERMCAP
>>>> variable reflecting the capabilities of the virtual terminal
>>>> emulated. Notice that, however, on machines using the terminfo
>>>> database this variable has no effect. Furthermore, the variable
>>>> $WINDOW is set to the window number of each window.
>>>>
>>> This seems to tell how 'screen' figures out the terminal name, not
>>> how it sets TERM. I asked who and why sets TERM to
>>> screen.SOMETHING.
>>>
>> screen does: "The terminal name is put in the $TERM variable of all
>> new windows."
>>
> So how did Emacs ever succeed to work inside screen, then? AFAIK,
> we never supported this form of TERM's value.
If you discard the ‘screen.’ prefix by explicitly setting TERM in your
.screenrc; for example:
term xterm-256color
it makes no difference, i.e. colours are still broken (when COLORTERM
is set to ‘truecolour’).
> Is this something relatively new?
I started using screen in 2011 and I'm pretty sure it was prepending
‘.screen’ then.
I'm not convinced this is the issue. Remember, the colours were fine
under screen in Emacs 27.2. There's something in the truecolor
support added in Emacs 28.1, specifically the respect paid to the
vaule of COLORTERM, that doesn't agree with screen.
It seems truecolor support was added to screen in July 2015:
https://git.savannah.gnu.org/cgit/screen.git/log/?qt=grep&q=truecolor
Debian bullseye ships screen 4.8.0 which, according to:
https://git.savannah.gnu.org/cgit/screen.git/
was released in 2000 which would suggest my screen does supprt
truecolor. Oddly, my screen(1) manpage makes no mention of truecolor
support, yet various online manpages, for example:
https://www.man7.org/linux/man-pages/man1/screen.1.html
document a ‘truecolor on|off’ configuraion option:
truecolor [on|off]
Enables truecolor support. Currently autodetection of truecolor
support cannot be done reliably, as such it's left to user to
enable. Default is off. Known terminals that may support it are:
iTerm2, Konsole, st. Xterm includes support for truecolor escapes
but converts them back to indexed 256 color space.
I've added the line:
truecolor on
to my .screenrc and it doesn't barf, but it makes no diffference
either. I shall investigate further.
This bug report was last modified 2 years and 57 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.