diff options
| author | Gerd Moellmann | 2000-08-16 12:14:15 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-08-16 12:14:15 +0000 |
| commit | 65aa5e85fa3594ed0470f55d0c6c06c2d9de1d22 (patch) | |
| tree | 9147d9844c8b2b10a50284255e8faf2f47f03ee3 /src/term.c | |
| parent | bb10be8b6f10bc9a53f11869b1fb7f216394b852 (diff) | |
| download | emacs-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.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) | |||
| 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 | { |