aboutsummaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
authorGerd Moellmann2000-08-16 12:14:15 +0000
committerGerd Moellmann2000-08-16 12:14:15 +0000
commit65aa5e85fa3594ed0470f55d0c6c06c2d9de1d22 (patch)
tree9147d9844c8b2b10a50284255e8faf2f47f03ee3 /src/term.c
parentbb10be8b6f10bc9a53f11869b1fb7f216394b852 (diff)
downloademacs-65aa5e85fa3594ed0470f55d0c6c06c2d9de1d22.tar.gz
emacs-65aa5e85fa3594ed0470f55d0c6c06c2d9de1d22.zip
(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.c17
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)
1115 1115
1116 /* Turn appearance modes off. */ 1116 /* Turn appearance modes off. */
1117 turn_off_face (f, face_id); 1117 turn_off_face (f, face_id);
1118 turn_off_highlight ();
1118 } 1119 }
1119 1120
1120 /* We may have to output some codes to terminate the writing. */ 1121 /* We may have to output some codes to terminate the writing. */
@@ -1159,7 +1160,6 @@ insert_glyphs (start, len)
1159 1160
1160 sf = XFRAME (selected_frame); 1161 sf = XFRAME (selected_frame);
1161 f = updating_frame ? updating_frame : sf; 1162 f = updating_frame ? updating_frame : sf;
1162 highlight_if_desired ();
1163 1163
1164 if (TS_ins_multi_chars) 1164 if (TS_ins_multi_chars)
1165 { 1165 {
@@ -1189,6 +1189,7 @@ insert_glyphs (start, len)
1189 } 1189 }
1190 else 1190 else
1191 { 1191 {
1192 highlight_if_desired ();
1192 turn_on_face (f, start->face_id); 1193 turn_on_face (f, start->face_id);
1193 glyph = start; 1194 glyph = start;
1194 ++start; 1195 ++start;
@@ -1221,7 +1222,10 @@ insert_glyphs (start, len)
1221 1222
1222 OUTPUT1_IF (TS_pad_inserted_char); 1223 OUTPUT1_IF (TS_pad_inserted_char);
1223 if (start) 1224 if (start)
1224 turn_off_face (f, glyph->face_id); 1225 {
1226 turn_off_face (f, glyph->face_id);
1227 turn_off_highlight ();
1228 }
1225 } 1229 }
1226 1230
1227 cmcheckmagic (); 1231 cmcheckmagic ();
@@ -2082,13 +2086,14 @@ turn_off_face (f, face_id)
2082 || face->tty_alt_charset_p 2086 || face->tty_alt_charset_p
2083 || face->tty_blinking_p 2087 || face->tty_blinking_p
2084 || face->tty_underline_p) 2088 || face->tty_underline_p)
2085 OUTPUT1_IF (TS_exit_attribute_mode); 2089 {
2090 OUTPUT1_IF (TS_exit_attribute_mode);
2091 if (strcmp (TS_exit_attribute_mode, TS_end_standout_mode) == 0)
2092 standout_mode = 0;
2093 }
2086 2094
2087 if (face->tty_alt_charset_p) 2095 if (face->tty_alt_charset_p)
2088 OUTPUT_IF (TS_exit_alt_charset_mode); 2096 OUTPUT_IF (TS_exit_alt_charset_mode);
2089
2090 if (standout_mode)
2091 standout_mode = 0;
2092 } 2097 }
2093 else 2098 else
2094 { 2099 {