|
From: | Clemens |
Subject: | bug#46177: 27.1; Display problem with minibuffer overlay when using display property |
Date: | Sat, 30 Jan 2021 12:09:57 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
Use a face which explicitly overrides every attribute of minibuffer prompt face, I guess?
As far as I understand I would have to loop through the overlay string, too and apply those face adjustments to every of those display property strings. I think then I can also just inline them like in my shown example which avoid this issue in the first place.
(set-face-attribute 'minibuffer-prompt nil :foreground "purple") (minibuffer-with-setup-hook (lambda () (overlay-put (make-overlay (point-max) (point-max) nil t t) 'after-string (concat " from" (propertize " world" 'display " minibuffer")))) (read-string "Hello")) Even with the " from" string between the string defined in the display property gets the prompt face applied.Because " minibuffer" is a display string, and its buffer position is still EOB. That it has the " from " string in the overlay property before it doesn't change the buffer position whose face affects the display string.
Because the " minibuffer" string follows the non affected " from" stringthis is unexpected from a caller/UI viewpoint IMO. I don't understand the underlying reasoning for this but if you don't think there is something to fix here, I will accept that and continue using my workaround.
[Prev in Thread] | Current Thread | [Next in Thread] |