Subject: bug#62237: 28.1 or higher: 24-bit true color breaks colours in Emacsen built without X under GNU Screen

From: Eli Zaretskii <[email-masked]>
Date: Fri, 17 Mar 2023 18:42:43 +0200

> From: Sebastian Tennant <[email-masked]>
> Cc: [email-masked]
> Date: Fri, 17 Mar 2023 16:20:19 +0000
> 
> > First, if you can build the latest emacs-29 branch of the Emacs Git
> > repository, please try that and tell whether the problem persists or
> > have been solved in the meantime.
> 
> The photos happen to show an Emacs I built from master a couple of
> days ago, i.e. Emacs 30.0.50.  If you'd still like me to test branch
> emacs-29, then let me know and I will happily do so.

No, Emacs 30 is good enough.  (Your report says Emacs 28.1, which is
why I asked.)

>  ** Emacs can support 24-bit color TTY without terminfo database.
>  If your text-mode terminal supports 24-bit true color, but your system
>  lacks the terminfo database, you can instruct Emacs to support 24-bit
>  true color by setting 'COLORTERM=truecolor' in the environment.  This is
>  useful on systems such as FreeBSD which ships only with "etc/termcap".
> 
> This lead me to investigate whether or not COLORTERM was set in my
> environment.  I'm running Debian bullseye and terminfo is installed
> but, nevertheless, GNOME Terminal sets COLORTERM=truecolor by default.

What is TERM set to on that system?

> > Finally, please show the display produced by "M-x
> > list-colors-display" in both cases: when COLORTERM=truecolor is and
> > isn't set.  It is important for us to know how many colors Emacs
> > uses in each situation.
> 
> I've updated the screenshots to show the output of
> #'list-colors-display.  Here are the links again, for your
> convenience.
> 
>  https://download.sebyte.me/misc/truecolor-active.png
>  https://download.sebyte.me/misc/truecolor-inactive.png

This seems to say that your terminal isn't compatible with what Emacs
assumes under COLORTERM=truecolor.  It also says that your terminal
actually supports only 88 colors.  So you should unset COLORTERM in
your environment, or use another terminal emulator (like 256-color
Xterm or some really true-color emulator).