Tags: patch Add completion-preserve-selection, a defcustom which allows keeping the same selected candidate after *Completions* is updated by minibuffer-completion-help. This works correctly with choose-completion-deselect-if-after: If point is after a completion (such that choose-completion-deselect-if-after=t means it won't be treated as selected), point will still be after that completion after updating the list. This feature is primarily motivated by the fact that some other completion UIs (e.g. ido, vertico, etc) effectively have this behavior: whenever they update the list of completions, they preserve whatever candidate is selected. Since the default UI doesn't (yet) have support for auto-updating the list of completions, preserving the selected candidate is less significant. But it might be an interesting feature on its own, and it's very non-invasive, so maybe we can turn it on by default. In GNU Emacs 29.2.50 (build 5, x86_64-pc-linux-gnu, X toolkit, cairo version 1.15.12, Xaw scroll bars) of 2024-10-15 built on igm-qws-u22796a Repository revision: 16a2e41014c6ea0f3cf268be8d37fe09aeac231e Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Rocky Linux 8.10 (Green Obsidian) Configured using: 'configure --with-x-toolkit=lucid --without-gpm --without-gconf --without-selinux --without-imagemagick --with-modules --with-gif=no --with-tree-sitter --with-native-compilation=aot PKG_CONFIG_PATH=/usr/local/home/garnish/libtree-sitter/0.22.6-1/lib/pkgconfig/'