Subject: bug#61413: [PATCH] Make warnings show a "warning" emoji instead of a stop-sign

From: Mauro Aranda <[email-masked]>
Date: Thu, 20 Feb 2025 19:12:02 -0300

Kévin Le Gouguec <[email-masked]> writes:

 > Mauro Aranda <[email-masked]> writes:
 >
 >>>> I think we'd like something similar for buttonize-region, so I 
wonder if
 >>>> it's not better to do the change inside button--properties, though.
 >>>
 >>> ACK to improve buttonize-region too. button--properties does not have
 >>> access to the information needed to get the fallback help-echo tho
 >>> (STRING for buttonize, START END for buttonize-region), are you 
thinking
 >>> of passing that fallback as a new argument, or have I missed something?
 >>
 >> I was thinking in not overwriting the help-echo property if the
 >> help-echo argument is nil.
 >
 > 💡 Gotcha.  Much cleaner than the original patch - that
 > (get-text-property 0 …) was not very elegant.
 >
 >> Currently, button--properties forces a value for the help-echo property.
 >> So it would be like: If it's nil,  don't add the help-echo property to
 >> the property list at all, leaving a previous help-echo property
 >> untouched.
 >
 > How does the attached look?

I think the change looks good.  I've just realized that the other caller
of button--properties might need a tweak.

In unbuttonize-region, we should change this call:
(remove-text-properties start end
                             (button--properties nil nil nil))

to:
(remove-text-properties start end
                             ;; t to ensure help-echo gets reset.
                             (button--properties nil nil t))

But, now we don't know if the help-echo property was effectively added
by the library or it was already there :-(.  Sadness.