Subject: Re: bug#70413: 30.0.50; FR: skip inactive widgets when tabbing

From: Stephen Berman <[email-masked]>
Date: Tue, 16 Apr 2024 23:56:36 +0200

On Tue, 16 Apr 2024 15:53:48 +0300 Eli Zaretskii <[email-masked]> wrote:

>> Date: Tue, 16 Apr 2024 11:20:10 +0200
>> From:  Stephen Berman via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <[email-masked]>
>>
>> In buffers containing widgets, such as the Customize buffers, the
>> widgets can be either active or inactive: when you click (with the mouse
>> or RET) on an active widget, its associated action is executed, and when
>> you click on an inactive widget, this raises the error "Attempt to
>> perform action on inactive widget".  You can navigate among the widgets
>> by pressing TAB or S-TAB to move point to the next or previous widget.
>>
>> I think it would be useful and convenient to skip over inactive widgets
>> when tabbing; e.g. you then avoid accidentally tabbing to an inactive
>> widget, typing RET and getting the error, and in a buffer with many
>> active and inactive widgets, you can tab more quickly to the desired
>> active widget by skipping over the inactive ones.
>>
>> The attached patch implements this behavior.  Since tabbing to inactive
>> widgets has always been the behavior in the widget library, skipping is
>> conditioned on the value of a boolean defcustom, with the default being
>> the current non-skipping.
>
> This is OK, but please announce this new option in NEWS.

Thanks; see the attached patch.  I think this user option should also be
documented in the Widget manual, so the patch includes that as well.
The Widget manual has a node for widget customizations, so I added it
there.  But I think it is helpful to mention it also in the node
"Widgets and the Buffer", where the tabbing commands `widget-forward'
and `widget-backward' are documented, so that patch does that too.  If
you confirm this is ok, I'll push the code and doc changes to master.

Steve Berman