bug#81645: 32.0.50; Annotations break *Completions* navigation in vertical format
Eli Zaretskii <[email protected]>
| Newsgroups | gmane.emacs.bugs |
|---|---|
| Message-ID | <[email protected]> |
> Cc: Eli Zaretskii <[email protected]>, Sean Whitton <[email protected]> > From: Stephen Berman <[email protected]> > Date: Mon, 17 Aug 2026 16:06:06 +0200 > > 0. emacs -Q > 1. (setopt completions-format 'vertical) > 2. Sanity check: Typing `M-x auto- TAB' pops up the *Completions* buffer > and you can navigate up and down through each column by typing > `M-<DOWN>' and `M-<UP>' with wrapping from the last to the first > candidate and vice versa. > 3. Now type `M-x abbrev- TAB', then repeatedly type `M-<DOWN>': after > the last candidate point wraps to the second instead of the first > candidate. > 4. Now type `M-x dabbrev- TAB'. Now typing `M-<DOWN>' once moves to > last candidate, but repeating `M-<DOWN>' does not move point (in > particular, no wrapping). Now typing `M-<UP>' moves point back to > the first candidate, but typing `M-<UP>' again move point not to the > beginning of the last candidate but to the middle of the annotation > "(M-/)" affixed to the candidate. > > The problems in 3 and 4 are due to the annotations in the *Completions* > buffer. The attached patch fixes these problems, so that navigation in > 3 and 4 work as in 2 according to my testing. I think this patch should > be applied to the release branch because the type of navigation in > vertical format illustrated by 2 was introduced in Emacs 31 by commit > 77ca60b48d01, which, however, failed to take annotations into account. I think this is fine to install on the emacs-31 release branch, because the code it changes is specific to the 'vertical' completions-format, which is new in Emacs 31. Sean?