Mercurial > emacs
changeset 30848:fc80dcfc32cd
(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.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Wed, 16 Aug 2000 12:12:30 +0000 |
parents | 91e24edb537a |
children | cac6b0fce0ec |
files | src/term.c |
diffstat | 1 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/term.c Wed Aug 16 11:19:34 2000 +0000 +++ b/src/term.c Wed Aug 16 12:12:30 2000 +0000 @@ -1115,6 +1115,7 @@ /* 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 @@ sf = XFRAME (selected_frame); f = updating_frame ? updating_frame : sf; - highlight_if_desired (); if (TS_ins_multi_chars) { @@ -1189,6 +1189,7 @@ } else { + highlight_if_desired (); turn_on_face (f, start->face_id); glyph = start; ++start; @@ -1221,7 +1222,10 @@ 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 @@ || 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 {