From 3fea95b79f7a80fc84f0aee38e1f31234ed7c657 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 18 Dec 2021 11:03:48 +0200 Subject: Fix display of window-specific overlays with 'display' property * src/xdisp.c (handle_display_prop): Pass the window to 'get_char_property_and_overlay', not the buffer. (Bug#52385) The assignment of the buffer to OBJECT was moved to before the call to 'get_char_property_and_overlay', for unknown reasons, as part of installing the support for the 'min-width' space spec. --- src/xdisp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index 5e549c9c63f..e74411c8178 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5361,9 +5361,6 @@ handle_display_prop (struct it *it) if (!it->string_from_display_prop_p) it->area = TEXT_AREA; - if (!STRINGP (it->string)) - object = it->w->contents; - propval = get_char_property_and_overlay (make_fixnum (position->charpos), Qdisplay, object, &overlay); @@ -5377,6 +5374,9 @@ handle_display_prop (struct it *it) /* Now OVERLAY is the overlay that gave us this property, or nil if it was a text property. */ + if (!STRINGP (it->string)) + object = it->w->contents; + display_replaced = handle_display_spec (it, propval, object, overlay, position, bufpos, FRAME_WINDOW_P (it->f)); -- cgit v1.2.3