Subject: Re: bug#66635: 30.0.50; customize-icon State button doesn't work (never did)

From: Mauro Aranda <[email-masked]>
Date: Sat, 21 Oct 2023 07:18:31 -0300

On 21/10/23 04:35, Eli Zaretskii wrote:
 >> Date: Fri, 20 Oct 2023 21:21:34 -0300
 >> From: Mauro Aranda <[email-masked]>
 >>
 >> On 20/10/23 18:08, Stefan Kangas wrote:
 >>  > Mauro Aranda <[email-masked]> writes:
 >>  >
 >>  >> I attach a patch to address the more important issues for now.  
That is,
 >>  >> at least have a working State button and rudimentary state checking.
 >>  >>
 >>  >> Setting and Saving icon specifications through the State button 
should
 >>  >> work now, by adding the custom-icon-action function.
 >>  >
 >>  >
 >>  > Thanks for working on this.
 >>  >
 >>  > Do you propose this patch for emacs-29?  It seems quite intrusive 
on the
 >>  > face of it, but OTOH `customize-icon' is new in Emacs 29, so 
there is no
 >>  > risk of regressions if this stuff never worked in the first 
place.  Or
 >>  > is that wrong?
 >>
 >> I'm not aware of all things you and Eli have to take into account when
 >> deciding whether a patch is good for emacs-29.  I know the non-intrusive
 >> or localized, and the safe part.  This patch is certainly neither, but
 >> it's the minimum (OK, maybe not the bare minimum) to make customizing
 >> icons work for an user.  I think that's a good reason for the patch to
 >> go into emacs-29, but I won't be insisting on it, specially if it is a
 >> burden, considering 29.1.90 pretest is out.
 >
 > icons.el is a new package in Emacs 29, so maybe such changes in it to
 > fix a serious problem are okay even at this stage.

Great, thanks.

 > How well is the fix tested?  Did you test it with several icons
 > introduced in Emacs 29 in various modes?  If not, would you please
 > test those and see the changes work well enough there to be
 > appropriate for a bug-fix release?

I just tested with the button icon, the only one suggested after
running emacs -Q.  I tested making modifications in the buffer, and that
the two options (three if not started with -Q) work and do what's
intended.  Namely:
- Undo Editions took me back to the STANDARD state.
- Setting for the session modified the specs for the session and
correctly displayed the SET state.
- Saving the setting saved a spec that in a new session (without emacs
-Q) causes:
M-x describe-icon RET button
to show the button customized.  The value I changed for that was from
LARGE BLUE CIRCLE to LARGE RED SQUARE

It's important to note that saving the setting shows the SET state
(rather than the SAVED state), but that's in a FIXME right before
custom-icon-state.

I'll do some more testing with the icons defined in outline.el,
tab-bar.el and warnings.el.  Additionally I'll try to test if
Customizing an icon interacts good enough with a Theme customizations.
I'll do that and report back.