mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 21:37:34 +00:00
(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.
This commit is contained in:
parent
a2858aae1c
commit
539f121767
1 changed files with 11 additions and 21 deletions
32
src/xdisp.c
32
src/xdisp.c
|
|
@ -4978,18 +4978,15 @@ get_next_display_element (it)
|
|||
if (lface_id)
|
||||
{
|
||||
g = FAST_GLYPH_CHAR (g);
|
||||
/* The function returns -1 if lface_id is invalid. */
|
||||
face_id = ascii_face_of_lisp_face (it->f, lface_id);
|
||||
if (face_id >= 0)
|
||||
face_id = merge_into_realized_face (it->f, Qnil,
|
||||
face_id, it->face_id);
|
||||
face_id = merge_faces (it->f, Qt, lface_id,
|
||||
it->face_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Merge the escape-glyph face into the current face. */
|
||||
face_id = merge_into_realized_face (it->f, Qescape_glyph,
|
||||
0, it->face_id);
|
||||
face_id = merge_faces (it->f, Qescape_glyph, 0,
|
||||
it->face_id);
|
||||
g = '^';
|
||||
}
|
||||
|
||||
|
|
@ -5009,18 +5006,15 @@ get_next_display_element (it)
|
|||
if (lface_id)
|
||||
{
|
||||
escape_glyph = FAST_GLYPH_CHAR (escape_glyph);
|
||||
/* The function returns -1 if lface_id is invalid. */
|
||||
face_id = ascii_face_of_lisp_face (it->f, lface_id);
|
||||
if (face_id >= 0)
|
||||
face_id = merge_into_realized_face (it->f, Qnil,
|
||||
face_id, it->face_id);
|
||||
face_id = merge_faces (it->f, Qt, lface_id,
|
||||
it->face_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Merge the escape-glyph face into the current face. */
|
||||
face_id = merge_into_realized_face (it->f, Qescape_glyph,
|
||||
0, it->face_id);
|
||||
face_id = merge_faces (it->f, Qescape_glyph, 0,
|
||||
it->face_id);
|
||||
escape_glyph = '\\';
|
||||
}
|
||||
|
||||
|
|
@ -5309,13 +5303,9 @@ next_element_from_display_vector (it)
|
|||
else
|
||||
{
|
||||
int lface_id = FAST_GLYPH_FACE (g);
|
||||
if (lface_id)
|
||||
{
|
||||
/* The function returns -1 if lface_id is invalid. */
|
||||
int face_id = ascii_face_of_lisp_face (it->f, lface_id);
|
||||
if (face_id >= 0)
|
||||
it->face_id = face_id;
|
||||
}
|
||||
if (lface_id > 0)
|
||||
it->face_id = merge_faces (it->f, Qt, lface_id,
|
||||
it->saved_face_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in a new issue