aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim F. Storm2005-01-10 13:34:53 +0000
committerKim F. Storm2005-01-10 13:34:53 +0000
commit539f1217675895e849df3cee5c95a9ea4e36071e (patch)
tree6393cd9bbc3651a538312dafe0ac9c8432517bbe
parenta2858aae1cac104ee18fe557089a03c2a0003337 (diff)
downloademacs-539f1217675895e849df3cee5c95a9ea4e36071e.tar.gz
emacs-539f1217675895e849df3cee5c95a9ea4e36071e.zip
(get_next_display_element, next_element_from_display_vector):
Don't lookup lface_id from display table glyphs here; instead use merge_faces to merge the lisp face id into current face.
-rw-r--r--src/xdisp.c32
1 files changed, 11 insertions, 21 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 77f12166088..600e01a13e1 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4978,18 +4978,15 @@ get_next_display_element (it)
4978 if (lface_id) 4978 if (lface_id)
4979 { 4979 {
4980 g = FAST_GLYPH_CHAR (g); 4980 g = FAST_GLYPH_CHAR (g);
4981 /* The function returns -1 if lface_id is invalid. */ 4981 face_id = merge_faces (it->f, Qt, lface_id,
4982 face_id = ascii_face_of_lisp_face (it->f, lface_id); 4982 it->face_id);
4983 if (face_id >= 0)
4984 face_id = merge_into_realized_face (it->f, Qnil,
4985 face_id, it->face_id);
4986 } 4983 }
4987 } 4984 }
4988 else 4985 else
4989 { 4986 {
4990 /* Merge the escape-glyph face into the current face. */ 4987 /* Merge the escape-glyph face into the current face. */
4991 face_id = merge_into_realized_face (it->f, Qescape_glyph, 4988 face_id = merge_faces (it->f, Qescape_glyph, 0,
4992 0, it->face_id); 4989 it->face_id);
4993 g = '^'; 4990 g = '^';
4994 } 4991 }
4995 4992
@@ -5009,18 +5006,15 @@ get_next_display_element (it)
5009 if (lface_id) 5006 if (lface_id)
5010 { 5007 {
5011 escape_glyph = FAST_GLYPH_CHAR (escape_glyph); 5008 escape_glyph = FAST_GLYPH_CHAR (escape_glyph);
5012 /* The function returns -1 if lface_id is invalid. */ 5009 face_id = merge_faces (it->f, Qt, lface_id,
5013 face_id = ascii_face_of_lisp_face (it->f, lface_id); 5010 it->face_id);
5014 if (face_id >= 0)
5015 face_id = merge_into_realized_face (it->f, Qnil,
5016 face_id, it->face_id);
5017 } 5011 }
5018 } 5012 }
5019 else 5013 else
5020 { 5014 {
5021 /* Merge the escape-glyph face into the current face. */ 5015 /* Merge the escape-glyph face into the current face. */
5022 face_id = merge_into_realized_face (it->f, Qescape_glyph, 5016 face_id = merge_faces (it->f, Qescape_glyph, 0,
5023 0, it->face_id); 5017 it->face_id);
5024 escape_glyph = '\\'; 5018 escape_glyph = '\\';
5025 } 5019 }
5026 5020
@@ -5309,13 +5303,9 @@ next_element_from_display_vector (it)
5309 else 5303 else
5310 { 5304 {
5311 int lface_id = FAST_GLYPH_FACE (g); 5305 int lface_id = FAST_GLYPH_FACE (g);
5312 if (lface_id) 5306 if (lface_id > 0)
5313 { 5307 it->face_id = merge_faces (it->f, Qt, lface_id,
5314 /* The function returns -1 if lface_id is invalid. */ 5308 it->saved_face_id);
5315 int face_id = ascii_face_of_lisp_face (it->f, lface_id);
5316 if (face_id >= 0)
5317 it->face_id = face_id;
5318 }
5319 } 5309 }
5320 } 5310 }
5321 else 5311 else