master c32fae39f85: Merge from origin/emacs-31

Eli Zaretskii <[email protected]> Sat, 4 Jul 2026 08:16:41 -0400 (EDT)
Newsgroups gmane.emacs.diffs
Message-ID <[email protected]>
branch: master
commit c32fae39f854273ffc391c524f8b1f0afb425f18
Merge: 2adce1839db f13e409cf4f
Author: Eli Zaretskii <[email protected]>
Commit: Eli Zaretskii <[email protected]>

    Merge from origin/emacs-31
    
    f13e409cf4f Fix min-width in mode-line constructs
---
 src/xdisp.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index 0ce9c4ebab9..caea8e77a9d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -5960,7 +5960,11 @@ handle_display_prop (struct it *it)
 	  pos = IT_STRING_CHARPOS (*it);
 	  start = 0;
 	}
-      if (pos > start)
+      if (pos > start
+	  /* If we are iterating over a string and display-stack level
+	     is zero, this is a mode line or similar.  The case of
+	     it->sp > 0 is handled in set_iterator_to_next.  */
+	  || (STRINGP (object) && it->sp == 0))
 	display_min_width (it, pos, objwin, Qnil);
     }