Add RGB fallback if environment has COLORTERM=truecolor https://github.com/emacs-mirror/emacs/commit/50f489b5dc59 --- doc/misc/efaq.texi.orig 2019-01-07 14:26:06 UTC +++ doc/misc/efaq.texi @@ -1603,6 +1603,10 @@ Currently there's no standard way to determine whether supports direct color mode. If such standard arises later on, support for @samp{setb24} and @samp{setf24} may be removed. +If Terminfo database is not available, but 24-bit direct color mode is +supported, it can still be enabled by defining the environment +variable @env{COLORTERM} to @samp{truecolor}. + @node Debugging a customization file @section How do I debug a @file{.emacs} file? @cindex Debugging @file{.emacs} file --- src/term.c.orig 2019-01-07 14:26:07 UTC +++ src/term.c @@ -4157,6 +4157,15 @@ use the Bourne shell command 'TERM=...; export TERM' ( tty->TS_set_background = bg; tty->TN_max_colors = 16777216; } + /* Fall back to xterm+direct (semicolon version) if requested + by the COLORTERM environment variable. */ + else if ((bg = getenv("COLORTERM")) != NULL + && strcasecmp(bg, "truecolor") == 0) + { + tty->TS_set_foreground = "\033[%?%p1%{8}%<%t3%p1%d%e38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%d%;m"; + tty->TS_set_background = "\033[%?%p1%{8}%<%t4%p1%d%e48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%d%;m"; + tty->TN_max_colors = 16777216; + } } #endif