--- Begin Message ---
Subject: |
27.0.50; icomplete, substring completion and C-x C-f misbehaving |
Date: |
Mon, 14 Jan 2019 16:32:42 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (windows-nt) |
Hi maintainers,
I'm using substring completion, icomplete-mode and C-x C-f. Navigating
deeper in directories using successive C-M-i's sometimes fails:
Emacs -Q
M-: (add-to-list 'completion-styles 'substring)
M-x icomplete-mode
C-x C-f p a t h / t o / e m a c s /
s r c C-M-i
Expected to see the same as if I had typed "s r c /", instead I see
"{lib-src | src }".
This doesn't happen all the time: in this situation it seems to have
become confused by the fact that "lib-src" contains the substring "src"
João
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#34116: 27.0.50; minibuffer-force-complete-and-exit mostly broken |
Date: |
Wed, 23 Jan 2019 16:36:07 +0000 |
On Wed, Jan 23, 2019 at 4:09 PM Stefan Monnier <address@hidden> wrote:
>
> > But what about this which solves both problems bug#34077
> > and bug#34116?
>
> LGTM,
> Stefan
Great!
commit b9add0a5a7eddcf80a189c478b39a5cb7a12befe (HEAD -> master,
origin/master, origin/HEAD)
Author: João Távora
Date: Wed Jan 23 16:30:41 2019 +0000
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.
commit 210e592e55ade154c8d58bd467711fb69368f6cb
Author: João Távora
Date: Wed Jan 23 16:17:03 2019 +0000
Avoid cycling in minibuffer-force-complete-and-exit (bug#34116)
* lisp/minibuffer.el (minibuffer-force-complete-and-exit): Check
completion-cycling before minibuffer-force-complete.
--- End Message ---