]> git.eshelyaron.com Git - emacs.git/commit
Force completion in icomplete with C-M-i, but don't cycle (bug#34077)
authorJoão Távora <joaotavora@gmail.com>
Wed, 23 Jan 2019 16:30:41 +0000 (16:30 +0000)
committerJoão Távora <joaotavora@gmail.com>
Wed, 23 Jan 2019 16:31:11 +0000 (16:31 +0000)
commitb9add0a5a7eddcf80a189c478b39a5cb7a12befe
tree0b11f55733c31a32a0cc5270520415c196308d61
parent210e592e55ade154c8d58bd467711fb69368f6cb
Force completion in icomplete with C-M-i, but don't cycle (bug#34077)

Cycling after forcing a completion with C-M-i in icomplete can be
confusing, as it leaves rotated prospects in the minibuffer.  In C-x
C-f, for example it is very difficult to understand if the prospects
refer to subdirectories of the directory being completed to, which
happens naturally when the completion is unique; or if they are a
cycled version of prospects that match the new completion pattern, in
case the completion happens to still match other items.

To resolve this confusion, never cycle with C-M-i in icomplete:
non-ambiguous cycling can be achieved with C-. and C-,

The former behaviour can still be restored with:

(define-key icomplete-minibuffer-map (kbd "C-M-i") 'minibuffer-force-complete)

* lisp/icomplete.el (icomplete-force-complete): New command.
(icomplete-minibuffer-map): Bind C-M-i to icomplete-force-complete.
lisp/icomplete.el