[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42149: Substring and flex completion ignore implicit trailing ‘any’
From: |
Dario Gjorgjevski |
Subject: |
bug#42149: Substring and flex completion ignore implicit trailing ‘any’ |
Date: |
Tue, 08 Sep 2020 13:12:51 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> Is this is vanilla emacs, or are you using some icomplete-mode or
> fido-mode?
> I.e. can you post the entire Emacs -Q recipe?
It is really simple to reproduce.
0. Run ‘emacs -Q’ in a directory with two files: “1” and “foo1”.
1. Enable fido-mode.
2. C-x C-f 1 RET.
Emacs will open “foo1” even though I would expect it to open “1” as that
is an exact match. But, I really think this is a pointless discussion.
The issue *is not caused by fido-mode* but by the mechanism of substring
(and therefore, flex) completion. You can also trigger it without
fido-mode by invoking minibuffer-force-complete-and-exit.
(completion-flex-all-completions "1" '("1" "11" "1122") nil 1)
(completion-substring-all-completions "1" '("1" "11" "1122") nil 1)
Both return completely the nonsensical result of
(#("1"
0 1 (face completions-common-part completion-score 0.0))
#("11"
0 1 (face completions-common-part completion-score 0.0)
1 2 (face completions-first-difference))
#("1122"
0 1 (face completions-common-part completion-score 0.0)
1 2 (face completions-first-difference))
. 0)
(Why are all the completion-score values 0?) Applying the attached
patch changes the result to
(#("1"
0 1 (face completions-common-part completion-score 1.0))
#("11"
0 1 (face completions-common-part completion-score 0.5)
1 2 (face completions-first-difference))
#("1122"
0 1 (face completions-common-part completion-score 0.25)
1 2 (face completions-first-difference))
. 0)
which I hope you would agree makes a lot more sense.
> M-j instead of RET in these one-letter completion cases. Or even C-u
> M-j, if that doesn't work.
Sure, but my muscle memory opposes that.
Best regards,
Dario
completion-substring--all-completions.diff
Description: Add explicit trailing ‘any’ to substring completion
--
dario.gjorgjevski@gmail.com :: +49 1525 8666837
% gpg --keyserver 'hkps://hkps.pool.sks-keyservers.net' \
\`> --recv-keys '744A4F0B4F1C9371'
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, Dario Gjorgjevski, 2020/09/08
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, João Távora, 2020/09/08
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, Dario Gjorgjevski, 2020/09/08
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, João Távora, 2020/09/08
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’,
Dario Gjorgjevski <=
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, João Távora, 2020/09/08
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, Dario Gjorgjevski, 2020/09/08
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, João Távora, 2020/09/08
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, Dario Gjorgjevski, 2020/09/09
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, Dario Gjorgjevski, 2020/09/09
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, Stefan Monnier, 2020/09/09
- bug#42149: Substring and flex completion ignore implicit trailing ‘any’, Dario Gjorgjevski, 2020/09/10