GNU bug report logs - #19031
24.4; find-file in icomplete-mode shows completions with no input

Previous Next

Package: emacs;

Reported by: Ole Laursen <olau <at> iola.dk>

Date: Wed, 12 Nov 2014 16:42:02 UTC

Severity: normal

Tags: fixed

Found in version 24.4

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #45 received at 19031 <at> debbugs.gnu.org (full text, mbox):

From: Andrii Kolomoiets <andreyk.mad <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: olau <at> iola.dk, Eli Zaretskii <eliz <at> gnu.org>, larsi <at> gnus.org,
 19031 <at> debbugs.gnu.org
Subject: Re: bug#19031: 24.4; find-file in icomplete-mode shows completions
 with no input
Date: Tue, 08 Dec 2020 23:33:45 +0200
Juri Linkov <juri <at> linkov.net> writes:

>> Yes.  It's not about filtering out dotfiles but about to make icomplete
>> to not show completions until user starts typing filename.
>
> To make icomplete to not show completions until user starts typing filename,
> icomplete could remember the initial minibuffer content immediately after its
> activation, then after the user edits the minibuffer, compare the new content
> with the stored initial one.  So this doesn't require any changes
> outside of icomplete.

This may lead to unexpected behavior:

  (read-file-name "? " "~/" nil nil ".em")

Completions will be shown for minibuffer content like "~/.e" and
"~/.ema" but not for "~/.em".

Please read "until user starts typing filename" in my previous message
as "until input doesn't contains part of filename" ;)

> I'm not sure if such special casing for directory separators is needed.
> The option icomplete-show-matches-on-no-input is quite simple and it
> should check if the user changed the initial content.

Anyway the 'minibuffer-default' variable is not the right place to do
such thing.  It is used to provide default values which can be inserted
into the minibuffer with 'M-n':

1. emacs -Q
2. M-: (setq enable-recursive-minibuffers t)
3. C-x C-f
4. M-: (setq minibuffer-default "foo")
5. M-n




This bug report was last modified 4 years and 220 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.