diff options
| author | Eli Zaretskii | 2019-12-16 17:43:30 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2019-12-16 17:43:30 +0200 |
| commit | 1e240a0ecdcf0eb4653ba57f8daa138ba2a2aab6 (patch) | |
| tree | c341768ed90e8e40889fe4cde143e0ff28a396c6 | |
| parent | 5aab1e83f55ccbf7affc25272f6b1107aa17598c (diff) | |
| download | emacs-1e240a0ecdcf0eb4653ba57f8daa138ba2a2aab6.tar.gz emacs-1e240a0ecdcf0eb4653ba57f8daa138ba2a2aab6.zip | |
Fix face merging for display strings broken by a recent commit
* src/xfaces.c (face_at_string_position): Revert the last
change, as it cannot possibly solve bug#38563.
* src/xdisp.c (face_at_pos): Fix a typo made during last
change here, which broke face merging for display strings.
(Bug#38633)
| -rw-r--r-- | src/xdisp.c | 2 | ||||
| -rw-r--r-- | src/xfaces.c | 4 |
2 files changed, 1 insertions, 5 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 4ddde1be717..08c6927052c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -4243,7 +4243,7 @@ face_at_pos (const struct it *it, enum lface_attribute_index attr_filter) | |||
| 4243 | the display string do. This sounds like a design bug, | 4243 | the display string do. This sounds like a design bug, |
| 4244 | but Emacs always did that since v21.1, so changing that | 4244 | but Emacs always did that since v21.1, so changing that |
| 4245 | might be a big deal. */ | 4245 | might be a big deal. */ |
| 4246 | base_face_id = it->string_from_display_prop_p | 4246 | base_face_id = it->string_from_prefix_prop_p |
| 4247 | ? (!NILP (Vface_remapping_alist) | 4247 | ? (!NILP (Vface_remapping_alist) |
| 4248 | ? lookup_basic_face (it->w, it->f, DEFAULT_FACE_ID) | 4248 | ? lookup_basic_face (it->w, it->f, DEFAULT_FACE_ID) |
| 4249 | : DEFAULT_FACE_ID) | 4249 | : DEFAULT_FACE_ID) |
diff --git a/src/xfaces.c b/src/xfaces.c index 26fd3631f90..c5515e71512 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -6446,10 +6446,6 @@ face_at_string_position (struct window *w, Lisp_Object string, | |||
| 6446 | 6446 | ||
| 6447 | /* Begin with attributes from the base face. */ | 6447 | /* Begin with attributes from the base face. */ |
| 6448 | memcpy (attrs, base_face->lface, sizeof attrs); | 6448 | memcpy (attrs, base_face->lface, sizeof attrs); |
| 6449 | /* Reset the attribute of the base face used as the filter, because | ||
| 6450 | otherwise there's no way for faces to be merged to countermand that. */ | ||
| 6451 | if (EQ (attrs[attr_filter], Qt)) | ||
| 6452 | attrs[attr_filter] = Qnil; | ||
| 6453 | 6449 | ||
| 6454 | /* Merge in attributes specified via text properties. */ | 6450 | /* Merge in attributes specified via text properties. */ |
| 6455 | if (!NILP (prop)) | 6451 | if (!NILP (prop)) |