From: Jimmy Aguilar Mena Date: Sun, 8 Sep 2019 12:41:31 +0000 (+0200) Subject: Fixed extend face filtered for prop. X-Git-Tag: emacs-27.0.90~1077^2~13 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b5cd6871c0b9ba4443793217c2f9a63423a6e58d;p=emacs.git Fixed extend face filtered for prop. * src/xfaces.c (face_at_buffer_position): Pass ATTR_FILTER to merge_face_ref in when !NILP (prop). --- 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);