]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix display of window-specific overlays with 'display' property
authorEli Zaretskii <eliz@gnu.org>
Sat, 18 Dec 2021 09:03:48 +0000 (11:03 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 Dec 2021 09:03:48 +0000 (11:03 +0200)
* 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

index 5e549c9c63f7b85dffa93099335d5836edbd13d7..e74411c8178466832db5770f0d096f727806a81a 100644 (file)
@@ -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));