summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/term.c14
-rw-r--r--src/tparam.h4
2 files changed, 18 insertions, 0 deletions
diff --git a/src/term.c b/src/term.c
index b0ff9cb546d..35fa8c931c1 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4131,6 +4131,20 @@ use the Bourne shell command 'TERM=...; export TERM' (C-shell:\n\
tty->TN_max_colors = tgetnum ("Co");
+#ifdef TERMINFO
+ /* Non-standard support for 24-bit colors. */
+ {
+ const char* fg = tigetstr ("setf24");
+ const char* bg = tigetstr ("setb24");
+ if (fg && bg && fg != (char *)-1 && bg != (char *)-1)
+ {
+ tty->TS_set_foreground = fg;
+ tty->TS_set_background = bg;
+ tty->TN_max_colors = 16777216;
+ }
+ }
+#endif
+
tty->TN_no_color_video = tgetnum ("NC");
if (tty->TN_no_color_video == -1)
tty->TN_no_color_video = 0;
diff --git a/src/tparam.h b/src/tparam.h
index 15664d68bdb..02136b6ca58 100644
--- a/src/tparam.h
+++ b/src/tparam.h
@@ -36,4 +36,8 @@ extern char PC;
extern char *BC;
extern char *UP;
+#ifdef TERMINFO
+char *tigetstr(const char *);
+#endif
+
#endif /* EMACS_TPARAM_H */