Subject: Emacs colors are off in screen sessions

From: Clément Pit-Claudel <[email-masked]>
Date: Thu, 21 Feb 2019 09:56:18 -0500

Hi all,

I'm having issues with color selection and syntax highlighting in Emacs running in screen.
I'm comparing the appearance of `emacs -nw -Q` on GNU / Linux Mint 18.3 (based on Ubuntu 16.04).

In a newly created gnome-terminal window (TERM=xterm-256color), I get orange comments in *scratch*.
In a newly created screen (TERM=screen), I get pale yellow comments in *scratch*.  If I change TERM to either xterm-256color or screen-256color, I get the expected orange text.

If I install the ncurses-term package, I get the same colors in gnome-terminal, but in a newly created screen TERM becomes screen.xterm-256color and I get red comments in *scratch*.  If I change TERM to xterm-256color nothing changes, and if I change TERM to screen-256color I get the expected orange text (may be relevant: https://emacs.stackexchange.com/questions/20545/emacs-colors-being-set-differently-when-term-is-screen-256color-and-xterm-256)

Is this all as expected?  Why does changing to xterm-256color yield different results with or without ncurses-term?  If I understand correctly, the reason why TERM changes after I install ncurses-term is that this package provides the screen.xterm-256color termcap entry, and then screen acts as documented:

       When screen tries to figure out a terminal name for itself, it first looks for an entry named "screen.<term>",
       where <term> is the contents of your $TERM variable.  If no such  entry  exists,  screen  tries  "screen" (…)

Is there anything that Emacs could do differently to make things smoother?  In particular, could TERM=screen.xterm-256color behave the same as TERM=screen-256color?

Thanks,
Clément.