diff options
author | Gerd Moellmann <gerd@gnu.org> | 2000-08-16 12:14:15 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2000-08-16 12:14:15 +0000 |
commit | 65aa5e85fa3594ed0470f55d0c6c06c2d9de1d22 (patch) | |
tree | 9147d9844c8b2b10a50284255e8faf2f47f03ee3 /src/term.c | |
parent | bb10be8b6f10bc9a53f11869b1fb7f216394b852 (diff) | |
download | emacs-65aa5e85fa3594ed0470f55d0c6c06c2d9de1d22.tar.gz |
(write_glyphs): Also turn off inverse video after turning
off other appearances in case TS_exit_attribute_mode is not equal
to TS_end_standout_mode.
(insert_glyphs): Turn inverse video on/off for each run of glyphs
with the same face.
(turn_off_face): Reset standout_mode only if
TS_exit_attribute_mode has been output and TS_exit_attribute_mode
is equal to TS_end_standout_mode.
Diffstat (limited to 'src/term.c')
-rw-r--r-- | src/term.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/term.c b/src/term.c index d3b1b250072..01e5b578164 100644 --- a/src/term.c +++ b/src/term.c @@ -1115,6 +1115,7 @@ write_glyphs (string, len) /* Turn appearance modes off. */ turn_off_face (f, face_id); + turn_off_highlight (); } /* We may have to output some codes to terminate the writing. */ @@ -1159,7 +1160,6 @@ insert_glyphs (start, len) sf = XFRAME (selected_frame); f = updating_frame ? updating_frame : sf; - highlight_if_desired (); if (TS_ins_multi_chars) { @@ -1189,6 +1189,7 @@ insert_glyphs (start, len) } else { + highlight_if_desired (); turn_on_face (f, start->face_id); glyph = start; ++start; @@ -1221,7 +1222,10 @@ insert_glyphs (start, len) OUTPUT1_IF (TS_pad_inserted_char); if (start) - turn_off_face (f, glyph->face_id); + { + turn_off_face (f, glyph->face_id); + turn_off_highlight (); + } } cmcheckmagic (); @@ -2082,13 +2086,14 @@ turn_off_face (f, face_id) || face->tty_alt_charset_p || face->tty_blinking_p || face->tty_underline_p) - OUTPUT1_IF (TS_exit_attribute_mode); + { + OUTPUT1_IF (TS_exit_attribute_mode); + if (strcmp (TS_exit_attribute_mode, TS_end_standout_mode) == 0) + standout_mode = 0; + } if (face->tty_alt_charset_p) OUTPUT_IF (TS_exit_alt_charset_mode); - - if (standout_mode) - standout_mode = 0; } else { |