From b5cd6871c0b9ba4443793217c2f9a63423a6e58d Mon Sep 17 00:00:00 2001 From: Jimmy Aguilar Mena Date: Sun, 8 Sep 2019 14:41:31 +0200 Subject: [PATCH] Fixed extend face filtered for prop. * src/xfaces.c (face_at_buffer_position): Pass ATTR_FILTER to merge_face_ref in when !NILP (prop). --- src/xdisp.c | 13 ++++--------- src/xfaces.c | 4 ++-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index 518d823ca9a..ee1a089af59 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -4149,17 +4149,12 @@ handle_fontified_prop (struct it *it) ***********************************************************************/ static enum prop_handled -handle_face_prop_general (struct it *it, +handle_face_prop_general (struct it *it, int *face_id_ptr, enum lface_attribute_index attr_filter) { - int new_face_id, *face_id_ptr; + int new_face_id; ptrdiff_t next_stop; - if (attr_filter == LFACE_EXTEND_INDEX) - face_id_ptr = &(it->extend_face_id); - else - face_id_ptr = &(it->face_id); - if (!STRINGP (it->string)) { new_face_id @@ -4313,7 +4308,7 @@ handle_face_prop_general (struct it *it, static enum prop_handled handle_face_prop (struct it *it) { - return handle_face_prop_general (it, 0); + return handle_face_prop_general (it, &(it->face_id), 0); } @@ -21598,7 +21593,7 @@ extend_face_to_end_of_line (struct it *it) || WINDOW_RIGHT_MARGIN_WIDTH (it->w) > 0)) return; - handle_face_prop_general (it, LFACE_EXTEND_INDEX); + handle_face_prop_general (it, &(it->extend_face_id), LFACE_EXTEND_INDEX); /* Face extension extends the background and box of IT->extend_face_id to the end of the line. If the background equals the background diff --git a/src/xfaces.c b/src/xfaces.c index 189ba1e7678..d3851d03342 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -6133,11 +6133,11 @@ face_at_buffer_position (struct window *w, ptrdiff_t pos, } /* Begin with attributes from the default face. */ - memcpy (attrs, default_face->lface, sizeof attrs); + memcpy (attrs, default_face->lface, sizeof(attrs)); /* Merge in attributes specified via text properties. */ if (!NILP (prop)) - merge_face_ref (w, f, prop, attrs, true, NULL, 0); + merge_face_ref (w, f, prop, attrs, true, NULL, attr_filter); /* Now merge the overlay data. */ noverlays = sort_overlays (overlay_vec, noverlays, w); -- 2.39.2