bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#46177: 27.1; Display problem with minibuffer overlay when using disp


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" string
this 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.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]