]> git.eshelyaron.com Git - emacs.git/commitdiff
Fixed extend face filtered for prop.
authorJimmy Aguilar Mena <spacibba@aol.com>
Sun, 8 Sep 2019 12:41:31 +0000 (14:41 +0200)
committerJimmy Aguilar Mena <spacibba@aol.com>
Mon, 14 Oct 2019 12:18:40 +0000 (14:18 +0200)
* src/xfaces.c (face_at_buffer_position): Pass ATTR_FILTER to
merge_face_ref in when !NILP (prop).

src/xdisp.c
src/xfaces.c

index 518d823ca9a10bb2de4b0d0c31b3896af7740fd0..ee1a089af592c394c8ebf6e163fb6b6d47f5f334 100644 (file)
@@ -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
index 189ba1e7678987dc529663184b01373aefa8f8b7..d3851d033423f2372c38b9216a0c762041643b2b 100644 (file)
@@ -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);