aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann <[email protected]>2000-08-16 12:14:15 +0000
committerGerd Moellmann <[email protected]>2000-08-16 12:14:15 +0000
commit65aa5e85fa3594ed0470f55d0c6c06c2d9de1d22 (patch)
tree9147d9844c8b2b10a50284255e8faf2f47f03ee3 /src
parentbb10be8b6f10bc9a53f11869b1fb7f216394b852 (diff)
(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')
-rw-r--r--src/ChangeLog11
-rw-r--r--src/term.c17
2 files changed, 22 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ace6b087bf..77f7ffc949 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2000-08-16 Gerd Moellmann <[email protected]>
+
+ * term.c (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.
+
2000-08-16 Kenichi Handa <[email protected]>
* coding.c (encode_coding): Fix the bug of not flushing ISO escape
diff --git a/src/term.c b/src/term.c
index d3b1b25007..01e5b57816 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
{