summaryrefslogtreecommitdiff
path: root/src/term.c
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2011-04-18 19:21:31 -0400
committerChong Yidong <cyd@stupidchicken.com>2011-04-18 19:21:31 -0400
commit16a43933e891bae502efbe367e32608fcfffdec3 (patch)
treeddb3c0de0625e8d5880828006d9b66aae9ec97d2 /src/term.c
parent8d6d9c8f8de3841257c0b74448a824583bbf2c01 (diff)
Allow glyphless-char-display to distinguish between X and text terminals.
Use this for Tabulated List mode. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Use a custom glyphless-char-display table. (tabulated-list-glyphless-char-display): New var. * src/term.c (produce_glyphless_glyph): Handle cons cell entry in glyphless-char-display. * src/xdisp.c (lookup_glyphless_char_display) (produce_glyphless_glyph): Handle cons cell entry in glyphless-char-display. (Vglyphless_char_display): Document it.
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/term.c b/src/term.c
index df13d7c0db..cae83f4d26 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1936,6 +1936,8 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym)
{
if (! STRINGP (acronym) && CHAR_TABLE_P (Vglyphless_char_display))
acronym = CHAR_TABLE_REF (Vglyphless_char_display, it->c);
+ if (CONSP (acronym))
+ acronym = XCDR (acronym);
buf[0] = '[';
str = STRINGP (acronym) ? SSDATA (acronym) : "";
for (len = 0; len < 6 && str[len] && ASCII_BYTE_P (str[len]); len++)