summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy Aguilar Mena <kratsbinovish@gmail.com>2019-09-08 14:41:31 +0200
committerJimmy Aguilar Mena <kratsbinovish@gmail.com>2019-09-08 14:41:31 +0200
commit95b3a23b30b82caec4a2b6aa293b1f7e0c300e3f (patch)
tree2fc3d887bf2f0fb2f31e9f360fefa9e7080ab073
parent7f2788186fee19c8d254b38a7d964ca0f370986d (diff)
downloademacs-extend_face_id.tar.gz
Fixed extend face filtered for prop.extend_face_id
-rw-r--r--src/xdisp.c13
-rw-r--r--src/xfaces.c4
2 files changed, 6 insertions, 11 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 9fb4f6be58e..c7fadec7b21 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4106,17 +4106,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
@@ -4270,7 +4265,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);
}
@@ -20496,7 +20491,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 7c5a0858bb6..4b3f2b20842 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -6129,11 +6129,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);