bug#81635: 32.0.50; Change in TAB cycling *Completions* and minibuffer

Stephen Berman via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email protected]>
Newsgroups gmane.emacs.bugs
Message-ID <[email protected]>
On Thu, 20 Aug 2026 13:50:48 -0400 Spencer Baugh <[email protected]> wrote:

> Stephen Berman <[email protected]> writes:
>> When `completion-auto-select' is set to t and `completion-auto-wrap' is
>> also t (the default), then TAB and S-TAB cycle through the *Completions*
>> buffer and after the last (resp. first) completion candidate switches to
>> the minibuffer.  In Emacs 30 typing TAB in the minibuffer continues the
>> cycling, i.e., TAB continues with the first candidate, S-TAB with the
>> last.  This behavior changed with commit 5b19ca56f1d9 (bug#74019): since
>> then TAB in the minibuffer returns to the last candidate and S-TAB
>> returns to the first, and further TABs or S-TABs just bounce back and
>> forth between that candidate and the minibuffer rather than cycling
>> through *Completions*.  That is, after returning to *Completions* from
>> the minibuffer you have to switch from TAB to S-TAB or vice versa in
>> order to resume cycling through *Completions*.  This change in behavior
>> seems like unintended fallout from commit 5b19ca56f1d9.  The attached
>> patch restores the previous cyclic behavior.  I've added Spencer Baugh
>> (the author of that commit) and Stefan Monnier in Cc:, in case they have
>> any comments.
>
> Thanks for the detailed report.  This should fix it, and includes a
> test.

Yes, this also restores the cyclic behavior, thanks.  Eli and Sean,
since this fixes a regression in Emacs 31, can it be installed in the
release branch?

Steve Berman
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.