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

From: Stephen Berman <[email-masked]>
Date: Wed, 17 Apr 2024 15:57:56 +0200

On Wed, 17 Apr 2024 15:04:34 +0300 Eli Zaretskii <[email-masked]> wrote:

>> From: Stephen Berman <[email-masked]>
>> Cc: [email-masked]
>> Date: Wed, 17 Apr 2024 00:04:33 +0200
>> 
>> > 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
>> 
>> ... and here's the patch:
>
> LGTM, with 2 minor comments:
>
>> +@defopt widget-skip-inactive
>> +If non-@code{nil}, navigating between widgets by @kbd{M-@key{TAB}}
>                                                     ^^^^^^^^^^^^^^^^^

Oops, that was copy-pasta; thanks for catching it.

> This should probably be @kbd{key{TAB}}.

Or rather @key{TAB}, right?  That's what's used earlier in the Widget
manual and IIUC is what (info "(texinfo) @key") recommends.

>> +(@code{widget-forward}) or @kbd{S-@key{TAB}} (@code{widget-backward},
>> +also bound to @kbd{M-@key{TAB}}) skips over inactive widgets.
>                                    ^
> I'd add a comma there.

AFAIK, according to the usual rules of comma usage in English, a comma
should not be used there, since the entire phrase "navigating between
widgets by ‘<TAB>’ (‘widget-forward’) or ‘S-<TAB>’ (‘widget-backward’,
also bound to ‘M-<TAB>’)" is the subject of "skips".  But I grant that,
due to the length of this phrase and the parenthetical phrases it
includes, it does prosodically "feel" like there should be a comma.  The
following reformulation avoids this, and moreover conforms better to the
style of the Widget manual by using the imperative form "skip":

  If non-@code{nil}, skip over inactive widgets when using @key{TAB}
  (@code{widget-forward}) or @kbd{S-@key{TAB}} (@code{widget-backward},
  also bound to @kbd{M-@key{TAB}}) to navigate between widgets.

Is this formulation acceptable?

Steve Berman