unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#72404: 30.0.60; Customization of options is broken
@ 2024-07-31 17:25 Juri Linkov
  2024-07-31 18:04 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Juri Linkov @ 2024-07-31 17:25 UTC (permalink / raw)
  To: 72404

I found this bug while testing 'tab-bar-format', but all
customizable variables that use :options are broken in emacs-30.
Here is an example for 'log-edit-hook':

0. emacs-30 -Q
1. Eval: (require 'log-edit)
2. Check the value of 'log-edit-hook'.
   Its value is
   (log-edit-insert-message-template log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
3. M-x customize-variable RET log-edit-hook RET
4. Click the checkbox to enable 'log-edit-insert-cvs-rcstemplate'.
5. Apply
6. Check the value of 'log-edit-hook'.
   Its value is (log-edit-insert-cvs-rcstemplate)

In GNU Emacs 30.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit,
 cairo version 1.16.0, Xaw3d scroll bars) of 2024-07-31
Repository revision: ceb5a1522270c41d0c9f5e6b52d61e3173f72f1d
Repository branch: emacs-30
Windowing system distributor 'The X.Org Foundation', version 11
Configured using: 'configure --with-native-compilation --with-x-toolkit=lucid'

Whereas in GNU Emacs 29.3.50 it was correctly changed to
(log-edit-insert-message-template log-edit-insert-cvs-rcstemplate
log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#72404: 30.0.60; Customization of options is broken
  2024-07-31 17:25 bug#72404: 30.0.60; Customization of options is broken Juri Linkov
@ 2024-07-31 18:04 ` Eli Zaretskii
  2024-07-31 20:18   ` john muhl
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-07-31 18:04 UTC (permalink / raw)
  To: Juri Linkov, Mauro Aranda; +Cc: 72404

> From: Juri Linkov <juri@linkov.net>
> Date: Wed, 31 Jul 2024 20:25:30 +0300
> 
> I found this bug while testing 'tab-bar-format', but all
> customizable variables that use :options are broken in emacs-30.
> Here is an example for 'log-edit-hook':
> 
> 0. emacs-30 -Q
> 1. Eval: (require 'log-edit)
> 2. Check the value of 'log-edit-hook'.
>    Its value is
>    (log-edit-insert-message-template log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
> 3. M-x customize-variable RET log-edit-hook RET
> 4. Click the checkbox to enable 'log-edit-insert-cvs-rcstemplate'.
> 5. Apply
> 6. Check the value of 'log-edit-hook'.
>    Its value is (log-edit-insert-cvs-rcstemplate)
> 
> In GNU Emacs 30.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit,
>  cairo version 1.16.0, Xaw3d scroll bars) of 2024-07-31
> Repository revision: ceb5a1522270c41d0c9f5e6b52d61e3173f72f1d
> Repository branch: emacs-30
> Windowing system distributor 'The X.Org Foundation', version 11
> Configured using: 'configure --with-native-compilation --with-x-toolkit=lucid'
> 
> Whereas in GNU Emacs 29.3.50 it was correctly changed to
> (log-edit-insert-message-template log-edit-insert-cvs-rcstemplate
> log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)

Thanks.  Bisection would be useful, I think.

Adding Mauro, in case he has some ideas or even fixes.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#72404: 30.0.60; Customization of options is broken
  2024-07-31 18:04 ` Eli Zaretskii
@ 2024-07-31 20:18   ` john muhl
  2024-08-01  5:09     ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: john muhl @ 2024-07-31 20:18 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 72404, stephen.berman, Mauro Aranda, Juri Linkov

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Juri Linkov <juri@linkov.net>
>> Date: Wed, 31 Jul 2024 20:25:30 +0300
>> 
>> I found this bug while testing 'tab-bar-format', but all
>> customizable variables that use :options are broken in emacs-30.
>> Here is an example for 'log-edit-hook':
>> 
>> 0. emacs-30 -Q
>> 1. Eval: (require 'log-edit)
>> 2. Check the value of 'log-edit-hook'.
>>    Its value is
>>    (log-edit-insert-message-template log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
>> 3. M-x customize-variable RET log-edit-hook RET
>> 4. Click the checkbox to enable 'log-edit-insert-cvs-rcstemplate'.
>> 5. Apply
>> 6. Check the value of 'log-edit-hook'.
>>    Its value is (log-edit-insert-cvs-rcstemplate)
>> 
>> In GNU Emacs 30.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit,
>>  cairo version 1.16.0, Xaw3d scroll bars) of 2024-07-31
>> Repository revision: ceb5a1522270c41d0c9f5e6b52d61e3173f72f1d
>> Repository branch: emacs-30
>> Windowing system distributor 'The X.Org Foundation', version 11
>> Configured using: 'configure --with-native-compilation --with-x-toolkit=lucid'
>> 
>> Whereas in GNU Emacs 29.3.50 it was correctly changed to
>> (log-edit-insert-message-template log-edit-insert-cvs-rcstemplate
>> log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
>
> Thanks.  Bisection would be useful, I think.
>
> Adding Mauro, in case he has some ideas or even fixes.

Reverting 8d354925ddb fixes it here.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#72404: 30.0.60; Customization of options is broken
  2024-07-31 20:18   ` john muhl
@ 2024-08-01  5:09     ` Eli Zaretskii
  2024-08-01 10:12       ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-08-01  5:09 UTC (permalink / raw)
  To: john muhl, stephen.berman; +Cc: 72404, maurooaranda, juri

> From: john muhl <jm@pub.pink>
> Cc: Juri Linkov <juri@linkov.net>,  Mauro Aranda <maurooaranda@gmail.com>,
>   72404@debbugs.gnu.org,  stephen.berman@gmx.net
> Date: Wed, 31 Jul 2024 15:18:46 -0500
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> 0. emacs-30 -Q
> >> 1. Eval: (require 'log-edit)
> >> 2. Check the value of 'log-edit-hook'.
> >>    Its value is
> >>    (log-edit-insert-message-template log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
> >> 3. M-x customize-variable RET log-edit-hook RET
> >> 4. Click the checkbox to enable 'log-edit-insert-cvs-rcstemplate'.
> >> 5. Apply
> >> 6. Check the value of 'log-edit-hook'.
> >>    Its value is (log-edit-insert-cvs-rcstemplate)
> >> 
> >> In GNU Emacs 30.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit,
> >>  cairo version 1.16.0, Xaw3d scroll bars) of 2024-07-31
> >> Repository revision: ceb5a1522270c41d0c9f5e6b52d61e3173f72f1d
> >> Repository branch: emacs-30
> >> Windowing system distributor 'The X.Org Foundation', version 11
> >> Configured using: 'configure --with-native-compilation --with-x-toolkit=lucid'
> >> 
> >> Whereas in GNU Emacs 29.3.50 it was correctly changed to
> >> (log-edit-insert-message-template log-edit-insert-cvs-rcstemplate
> >> log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
> >
> > Thanks.  Bisection would be useful, I think.
> >
> > Adding Mauro, in case he has some ideas or even fixes.
> 
> Reverting 8d354925ddb fixes it here.

Thanks!

Stephen, please look at this ASAP, as this sounds like a serious
and very recent regression.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#72404: 30.0.60; Customization of options is broken
  2024-08-01  5:09     ` Eli Zaretskii
@ 2024-08-01 10:12       ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-08-01 17:28         ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-08-01 10:12 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 72404, john muhl, maurooaranda, juri

On Thu, 01 Aug 2024 08:09:52 +0300 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: john muhl <jm@pub.pink>
>> Cc: Juri Linkov <juri@linkov.net>,  Mauro Aranda <maurooaranda@gmail.com>,
>>   72404@debbugs.gnu.org,  stephen.berman@gmx.net
>> Date: Wed, 31 Jul 2024 15:18:46 -0500
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> 0. emacs-30 -Q
>> >> 1. Eval: (require 'log-edit)
>> >> 2. Check the value of 'log-edit-hook'.
>> >>    Its value is
>> >>    (log-edit-insert-message-template log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
>> >> 3. M-x customize-variable RET log-edit-hook RET
>> >> 4. Click the checkbox to enable 'log-edit-insert-cvs-rcstemplate'.
>> >> 5. Apply
>> >> 6. Check the value of 'log-edit-hook'.
>> >>    Its value is (log-edit-insert-cvs-rcstemplate)
>> >>
>> >> In GNU Emacs 30.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit,
>> >>  cairo version 1.16.0, Xaw3d scroll bars) of 2024-07-31
>> >> Repository revision: ceb5a1522270c41d0c9f5e6b52d61e3173f72f1d
>> >> Repository branch: emacs-30
>> >> Windowing system distributor 'The X.Org Foundation', version 11
>> >> Configured using: 'configure --with-native-compilation --with-x-toolkit=lucid'
>> >>
>> >> Whereas in GNU Emacs 29.3.50 it was correctly changed to
>> >> (log-edit-insert-message-template log-edit-insert-cvs-rcstemplate
>> >> log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
>> >
>> > Thanks.  Bisection would be useful, I think.
>> >
>> > Adding Mauro, in case he has some ideas or even fixes.
>>
>> Reverting 8d354925ddb fixes it here.
>
> Thanks!
>
> Stephen, please look at this ASAP, as this sounds like a serious
> and very recent regression.

I took a look and tried stepping through with Edebug, but so far could
not find out how my changes in that commit cause the regression.  I
won't have time for further debugging until next week, and given my
unfamiliarty with the widget and custom code (I didn't even know about
:options till now), I may well not be able to fix this.  Feel free to
revert the commit in the mean time.  It would also be good to have a
test for this case (in emacs-30 with the commit all widget and custom
tests pass).

Steve Berman





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#72404: 30.0.60; Customization of options is broken
  2024-08-01 10:12       ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-08-01 17:28         ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-08-04  7:49           ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-08-01 17:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 72404, john muhl, maurooaranda, juri

On Thu, 01 Aug 2024 12:12:52 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:

> On Thu, 01 Aug 2024 08:09:52 +0300 Eli Zaretskii <eliz@gnu.org> wrote:
>
>>> From: john muhl <jm@pub.pink>
>>> Cc: Juri Linkov <juri@linkov.net>,  Mauro Aranda <maurooaranda@gmail.com>,
>>>   72404@debbugs.gnu.org,  stephen.berman@gmx.net
>>> Date: Wed, 31 Jul 2024 15:18:46 -0500
>>>
>>> Eli Zaretskii <eliz@gnu.org> writes:
>>>
>>> >> 0. emacs-30 -Q
>>> >> 1. Eval: (require 'log-edit)
>>> >> 2. Check the value of 'log-edit-hook'.
>>> >>    Its value is
>>> >>    (log-edit-insert-message-template log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
>>> >> 3. M-x customize-variable RET log-edit-hook RET
>>> >> 4. Click the checkbox to enable 'log-edit-insert-cvs-rcstemplate'.
>>> >> 5. Apply
>>> >> 6. Check the value of 'log-edit-hook'.
>>> >>    Its value is (log-edit-insert-cvs-rcstemplate)
>>> >>
>>> >> In GNU Emacs 30.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit,
>>> >>  cairo version 1.16.0, Xaw3d scroll bars) of 2024-07-31
>>> >> Repository revision: ceb5a1522270c41d0c9f5e6b52d61e3173f72f1d
>>> >> Repository branch: emacs-30
>>> >> Windowing system distributor 'The X.Org Foundation', version 11
>>> >> Configured using: 'configure --with-native-compilation --with-x-toolkit=lucid'
>>> >>
>>> >> Whereas in GNU Emacs 29.3.50 it was correctly changed to
>>> >> (log-edit-insert-message-template log-edit-insert-cvs-rcstemplate
>>> >> log-edit-insert-cvs-template log-edit-insert-changelog log-edit-show-files)
>>> >
>>> > Thanks.  Bisection would be useful, I think.
>>> >
>>> > Adding Mauro, in case he has some ideas or even fixes.
>>>
>>> Reverting 8d354925ddb fixes it here.
>>
>> Thanks!
>>
>> Stephen, please look at this ASAP, as this sounds like a serious
>> and very recent regression.
>
> I took a look and tried stepping through with Edebug, but so far could
> not find out how my changes in that commit cause the regression.  I
> won't have time for further debugging until next week, and given my
> unfamiliarty with the widget and custom code (I didn't even know about
> :options till now), I may well not be able to fix this.  Feel free to
> revert the commit in the mean time.  It would also be good to have a
> test for this case (in emacs-30 with the commit all widget and custom
> tests pass).

I did happen to have a bit more time for this problem, and I think I've
found the cause, a single line in commit 8d354925ddb:

diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 693991a6f3e..aa653549dad 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -2549,7 +2549,8 @@ widget-checklist-add-item
 			    (t
 			     (widget-create-child-value
 			      widget type (car (cdr chosen)))
-                             (widget-specify-selected child)))))
+                             ;; (widget-specify-selected child)
+                             ))))
 	       (t
 		(error "Unknown escape `%c'" escape)))))
      ;; Update properties.

With this line commented out as in the above patch, I get the expected
value when carrying out Juri's recipe.  Moreover, after making that
change, I then briefly tested customizing the face widget-unselected
(which the problematic commit added) to inherit from the default face
and it shows the labels of unselected check boxes in the default face,
as it should.  So maybe deleting the commented out line above and
leaving the rest of the change is a sufficient fix.  But I have to admit
I don't know why that line causes the problem, and I haven't done enough
testing of this change to the widget-unselected face feature, so this is
just a status report.

Steve Berman





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#72404: 30.0.60; Customization of options is broken
  2024-08-01 17:28         ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-08-04  7:49           ` Eli Zaretskii
  2024-08-04 10:00             ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-08-04  7:49 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 72404, jm, maurooaranda, juri

> From: Stephen Berman <stephen.berman@gmx.net>
> Cc: john muhl <jm@pub.pink>,  juri@linkov.net,  maurooaranda@gmail.com,
>   72404@debbugs.gnu.org
> Date: Thu, 01 Aug 2024 19:28:04 +0200
> 
> On Thu, 01 Aug 2024 12:12:52 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
> 
> I did happen to have a bit more time for this problem, and I think I've
> found the cause, a single line in commit 8d354925ddb:
> 
> diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
> index 693991a6f3e..aa653549dad 100644
> --- a/lisp/wid-edit.el
> +++ b/lisp/wid-edit.el
> @@ -2549,7 +2549,8 @@ widget-checklist-add-item
>  			    (t
>  			     (widget-create-child-value
>  			      widget type (car (cdr chosen)))
> -                             (widget-specify-selected child)))))
> +                             ;; (widget-specify-selected child)
> +                             ))))
>  	       (t
>  		(error "Unknown escape `%c'" escape)))))
>       ;; Update properties.
> 
> With this line commented out as in the above patch, I get the expected
> value when carrying out Juri's recipe.  Moreover, after making that
> change, I then briefly tested customizing the face widget-unselected
> (which the problematic commit added) to inherit from the default face
> and it shows the labels of unselected check boxes in the default face,
> as it should.  So maybe deleting the commented out line above and
> leaving the rest of the change is a sufficient fix.  But I have to admit
> I don't know why that line causes the problem, and I haven't done enough
> testing of this change to the widget-unselected face feature, so this is
> just a status report.

Thanks, I installed the above fix.

It turns out the same problem also caused bug#72156, so I've now
merged them.

I'm leaving this bug open, in the hope that you or someone else will
find the root cause for the regression and fix it.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#72404: 30.0.60; Customization of options is broken
  2024-08-04  7:49           ` Eli Zaretskii
@ 2024-08-04 10:00             ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 8+ messages in thread
From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-08-04 10:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 72404, jm, maurooaranda, juri

On Sun, 04 Aug 2024 10:49:52 +0300 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Stephen Berman <stephen.berman@gmx.net>
>> Cc: john muhl <jm@pub.pink>,  juri@linkov.net,  maurooaranda@gmail.com,
>>   72404@debbugs.gnu.org
>> Date: Thu, 01 Aug 2024 19:28:04 +0200
>>
>> On Thu, 01 Aug 2024 12:12:52 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
>>
>> I did happen to have a bit more time for this problem, and I think I've
>> found the cause, a single line in commit 8d354925ddb:
>>
>> diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
>> index 693991a6f3e..aa653549dad 100644
>> --- a/lisp/wid-edit.el
>> +++ b/lisp/wid-edit.el
>> @@ -2549,7 +2549,8 @@ widget-checklist-add-item
>>  			    (t
>>  			     (widget-create-child-value
>>  			      widget type (car (cdr chosen)))
>> -                             (widget-specify-selected child)))))
>> +                             ;; (widget-specify-selected child)
>> +                             ))))
>>  	       (t
>>  		(error "Unknown escape `%c'" escape)))))
>>       ;; Update properties.
>>
>> With this line commented out as in the above patch, I get the expected
>> value when carrying out Juri's recipe.  Moreover, after making that
>> change, I then briefly tested customizing the face widget-unselected
>> (which the problematic commit added) to inherit from the default face
>> and it shows the labels of unselected check boxes in the default face,
>> as it should.  So maybe deleting the commented out line above and
>> leaving the rest of the change is a sufficient fix.  But I have to admit
>> I don't know why that line causes the problem, and I haven't done enough
>> testing of this change to the widget-unselected face feature, so this is
>> just a status report.
>
> Thanks, I installed the above fix.

Thanks, this seems at least a plausible stopgap.

> It turns out the same problem also caused bug#72156, so I've now
> merged them.
>
> I'm leaving this bug open, in the hope that you or someone else will
> find the root cause for the regression and fix it.

I will try to debug it further, but I do hope Mauro or someone else more
familiar with the widget and custom code than I am will look into it.

Steve Berman





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-08-04 10:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31 17:25 bug#72404: 30.0.60; Customization of options is broken Juri Linkov
2024-07-31 18:04 ` Eli Zaretskii
2024-07-31 20:18   ` john muhl
2024-08-01  5:09     ` Eli Zaretskii
2024-08-01 10:12       ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-08-01 17:28         ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-08-04  7:49           ` Eli Zaretskii
2024-08-04 10:00             ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).