1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-12 09:51:05 -07:00
emacs/test/lisp
Stephen Berman 77ca60b48d Navigate *Completions* buffer based on 'completions-format'
This patch makes 'next-completion' and 'previous-completion' work
in the vertical completions format analogously to how they work in
the default horizontal format (bug#78959).  It also fixes wrapping
in the vertical format and confines navigation (including
wrapping) in column-wise movement in the vertical format to the
current line, analogously to how navigation (including wrapping)
in line-wise movement in the horizontal format is confined to the
current column.

* doc/emacs/mini.texi (Completion): Fix several typos and improve
wording is several places.
(Completion Commands): Document navigation of the *Completions*
buffer in the vertical format.  Document the difference between
format-sensitive movement and strictly column-wise or line-wise
movement.  Document 'minibuffer-complete-and-exit' and update the
documentation of 'minibuffer-completion-auto-choose' and
'minibuffer-choose-completion'.  Document the use of a numeric
prefix argument with the navigation commands.
(Completion Options): Rearrange and improve documentation of
'completions-sort', 'completions-format' and
'completion-auto-wrap', updating the latter to document the new
behavior.

* lisp/minibuffer.el (minibuffer-visible-completions-map): Rebind
"<left>" to 'minibuffer-previous-column-completion' and "<right>"
to 'minibuffer-next-column-completion'.
(minibuffer-next-completion): Add check for whether completions
format is vertical to decide whether to call
'next-line-completion' and replace calling 'next-completion' by
'next-column-completion'.
(minibuffer-next-column-completion)
(minibuffer-previous-column-completion): New commands.

* lisp/simple.el (completion-list-mode-map): Rebind "<left>" to
'previous-column-completion' and "<right>" to 'next-column-completion'.
(last-completion): Add handling for vertical completions format.
(completion--move-to-candidate-end): Always move point to the
position immediately after the last character of the completion
candidate.  This unifies the behavior, simplifies the
implementation and facilitates implementing the improved
navigation of the *Completions* buffer.
(previous-column-completion, next-column-completion): New
commands, replacing the previous definitions of
'previous-completion' and 'next-completion' to reflect their
column-wise operation.  Confine navigation (including wrapping) in
vertical format to the current line.
(previous-line-completion, next-line-completion): Implement
line-wise navigation (including wrapping) through all completions
in vertical format, not just those in the current column as in
horiztonal format.  Update doc strings.
(next-completion, previous-completion): Redefine to call
'{next,previous}-line-completion' when completions format is
vertical and '{next,previous}-column-completion' otherwise.

* test/lisp/minibuffer-tests.el
(completions-format-navigation--tests): New function providing a
template to define tests of the navigation and wrapping behavior
with specified numbers of completion candidates.
(completions-format-navigation-test-{2,3,4,5,10,15,16}): New tests.
2025-09-22 16:04:42 +02:00
..
align-resources
auth-source-resources
bookmark-resources
calc Add user option to inhibit Calc startup message (bug#79143) 2025-08-30 10:22:06 +03:00
calendar Fix DTSTART date when exporting `diary-float' 2025-05-17 12:00:59 +03:00
cedet Fix semantic-utest-ia tests 2025-06-07 11:01:35 +03:00
custom-resources
dabbrev-resources ; Add missing lexical-binding cookies 2025-03-02 19:46:15 +01:00
dired-resources/insert-directory
emacs-lisp ; even less test log spam from load 2025-09-12 10:41:43 +02:00
emulation Update copyright year to 2025 2025-01-02 18:39:42 +01:00
epg-resources
erc Remove scrolltobottom dependency from erc-fill module 2025-08-25 21:17:48 -07:00
eshell Fix some tests on OpenBSD 2025-08-07 17:43:58 +03:00
faces-resources Update copyright year to 2025 2025-01-02 18:39:42 +01:00
files-resources Ensure .dir-locals-2.el behavior as documented (bug#75890) 2025-03-22 16:47:27 -04:00
gnus * test/lisp/gnus/message-tests.el (message-default-buffer-type): New test. 2025-03-25 19:48:06 +01:00
hfy-cmap-resources
image Update copyright year to 2025 2025-01-02 18:39:42 +01:00
international Fix 'ucs-normalize' tests following Unciode 17.0 import 2025-09-14 07:34:41 +03:00
loadhist-resources Correctly unload variable aliases. 2025-03-16 12:52:40 -04:00
mail Update copyright year to 2025 2025-01-02 18:39:42 +01:00
mh-e Update copyright year to 2025 2025-01-02 18:39:42 +01:00
minibuffer-resources
net Tramp code cleanup 2025-09-15 18:26:50 +02:00
nxml Update copyright year to 2025 2025-01-02 18:39:42 +01:00
obsolete Update copyright year to 2025 2025-01-02 18:39:42 +01:00
org Update copyright year to 2025 2025-01-02 18:39:42 +01:00
pcmpl-linux-resources
play Update copyright year to 2025 2025-01-02 18:39:42 +01:00
progmodes ruby-syntax-propertize: Add exception for /= 2025-09-16 02:17:13 +03:00
saveplace-resources
so-long-tests Update copyright year to 2025 2025-01-02 18:39:42 +01:00
term Update copyright year to 2025 2025-01-02 18:39:42 +01:00
textmodes Use linear arrays in ispell test to work with old bash 2025-09-14 12:40:09 +02:00
time-resources
url url: %-encode literal % characters when building query strings 2025-08-02 16:49:52 +03:00
use-package Fix use-package :custom-face to set face-defface-spec (bug#77928) 2025-04-27 10:48:55 +03:00
vc VC checkin-patch: Support extracting commit metadata from patches 2025-09-21 21:59:02 +01:00
xdg-resources
abbrev-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
align-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
allout-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
allout-widgets-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ansi-color-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ansi-osc-tests.el ansi-osc.el: Use marker (bug#78184) 2025-05-31 15:21:21 +03:00
apropos-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
arc-mode-tests.el ; Fix previous arc-mode-test commit 2025-04-26 17:09:00 +03:00
auth-source-pass-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
auth-source-tests.el Improve check for netrc tokens 2025-09-15 11:43:52 +02:00
autoinsert-tests.el Autoinsert: Allow condition to be a function 2025-08-09 13:35:48 +03:00
autorevert-tests.el Fix failed tests on emba 2025-09-18 14:56:05 +02:00
battery-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
bookmark-tests.el Eliminate bookmark-maybe-historicize-string duplicates 2025-02-11 08:47:44 +01:00
buff-menu-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
button-tests.el Prevent button.el from clearing help-echo strings 2025-03-08 17:29:34 +01:00
calculator-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
char-fold-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
color-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
comint-tests.el Make comint understand SSH proxy password phrases 2025-09-13 09:16:25 +02:00
completion-preview-tests.el Merge from savannah/emacs-30 2025-03-04 14:32:48 +08:00
completion-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
cus-edit-tests.el Fix comparison of current values for the key-sequence :type 2025-02-23 01:15:24 +01:00
custom-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
dabbrev-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
delim-col-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
descr-text-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
desktop-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
dired-aux-tests.el Prefer ert-with-temp-directory in tests 2025-02-23 03:46:57 +01:00
dired-tests.el Correct (debug body) edebug specs 2025-03-08 18:35:07 +01:00
dired-x-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
dnd-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
dom-tests.el ; * test/lisp/dom-tests.el: silence obsoletion warnings 2025-09-14 11:31:53 +02:00
edmacro-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
electric-tests.el Support strings for electric pairs (bug#78053) 2025-06-21 12:24:55 +03:00
elide-head-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
env-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
epg-config-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
epg-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
faces-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ffap-tests.el Add option 'ffap-prefer-remote-file' (bug#78925) 2025-07-12 11:48:52 +03:00
filenotify-tests.el ; Instrument file-notify-test07-many-events 2025-09-16 09:04:05 +02:00
files-tests.el Ensure .dir-locals-2.el behavior as documented (bug#75890) 2025-03-22 16:47:27 -04:00
files-x-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
find-cmd-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
follow-tests.el Fix loading follow.el 2025-03-13 08:14:36 +01:00
font-lock-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
format-spec-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
help-fns-tests.el ; Quote function symbols in help-fns-tests.el 2025-02-11 01:14:32 +01:00
help-mode-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
help-tests.el (help-function-arglist): Fix bug#79128 2025-08-07 13:49:48 -04:00
hfy-cmap-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
hi-lock-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
hl-line-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
htmlfontify-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ibuffer-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ido-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
image-file-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
image-tests.el ; Don't fail image tests if jpeg is supported via imagemagick 2025-02-21 13:02:58 +01:00
imenu-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
info-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
info-xref-tests.el Extend info-xref-test-emacs-manuals, fix info reference 2025-08-27 11:24:12 +02:00
isearch-tests.el Fix invalid search bound in 'search-within-boundaries'. 2025-04-29 19:41:44 +03:00
jit-lock-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
json-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
jsonrpc-tests.el test/eieio: Silence warnings about slots and obsolete name arg 2025-04-07 00:55:48 -04:00
kmacro-tests.el Use cl-with-gensyms in a few more cases 2025-02-25 01:23:33 +01:00
loadhist-tests.el Correctly unload variable aliases. 2025-03-16 12:52:40 -04:00
lpr-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ls-lisp-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
man-tests.el New test for finding C header files 2025-01-06 20:04:20 +01:00
md4-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
minibuffer-tests.el Navigate *Completions* buffer based on 'completions-format' 2025-09-22 16:04:42 +02:00
misc-tests.el Fix `string-pixel-width' with alternate text properties 2025-03-20 14:55:23 +02:00
mouse-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
mwheel-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
newcomment-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
obarray-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
paren-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
password-cache-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
pcmpl-linux-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
pcomplete-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
proced-tests.el ; Temporarily disable proced tests on macOS (Bug#76898) 2025-03-11 01:03:50 +01:00
ps-print-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
register-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
repeat-tests.el Fix repeat-echo-message-string for keys with hints (bug#78797). 2025-06-19 09:40:36 +03:00
replace-tests.el (perform-replace): Make it work with F-keys in TTYs (bug#78113) 2025-05-22 09:33:14 -04:00
rot13-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
savehist-tests.el ; silence some compiler warnings in tests 2025-07-19 17:02:28 +02:00
saveplace-tests.el ; Fix saveplace-tests for MS-Windows 2025-02-22 11:49:25 +02:00
scroll-lock-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
server-tests.el Fix a number of ERT tests for execution on Android 2025-02-25 19:13:24 +08:00
ses-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
shadowfile-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
shell-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
simple-tests.el Move buffer related functions from ert-x.el to ert.el 2025-02-24 20:45:41 +01:00
sort-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
soundex-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
speedbar-tests.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
sqlite-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
startup-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
subr-tests.el Disallow string data resizing (bug#79784) 2025-08-24 10:28:27 +02:00
tab-bar-tests.el (tab-bar-tests-quit-restore-window): Try and clarify the skip 2025-04-18 09:35:14 -04:00
tabify-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
tar-mode-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
tempo-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
term-tests.el ; Fix char encoding in term-tests.el 2025-06-12 11:38:01 +03:00
thingatpt-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
thread-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
time-stamp-tests.el time-stamp-tests: Hygienic macros 2025-06-01 08:07:27 -07:00
time-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
timezone-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
uniquify-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
version-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
visual-wrap-tests.el Clean up text properties in 'visual-wrap-prefix-mode' 2025-06-10 22:09:26 -07:00
wdired-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
which-key-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
whitespace-tests.el Move buffer related functions from ert-x.el to ert.el 2025-02-24 20:45:41 +01:00
wid-edit-tests.el Strengthen widget-get/put tests 2025-03-03 10:49:09 +01:00
winner-tests.el Add :set attribute to winner-dont-bind-my-keys 2025-03-15 04:06:31 +01:00
x-dnd-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
xdg-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
xml-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
xt-mouse-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
yank-media-tests.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00