GNU bug report logs - #59803
completion-at-point in shell buffer ignores some files

Previous Next

Package: emacs;

Reported by: Nicolas Graner <nicolas <at> graner.name>

Date: Sat, 3 Dec 2022 11:02:01 UTC

Severity: normal

Done: Gregory Heytings <gregory <at> heytings.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Nicolas Graner <nicolas <at> graner.name>, Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 59803 <at> debbugs.gnu.org
Subject: bug#59803: completion-at-point in shell buffer ignores some files
Date: Sun, 04 Dec 2022 11:58:43 +0200
> From: Nicolas Graner <nicolas <at> graner.name>
> Date: Sat, 03 Dec 2022 12:01:16 +0100
> 
> In a *Shell* buffer, file name completion ignores file names already
> present on the current line. For example, if you have a file named `foo'
> and no other file starting with an f, when you type:
> 
> $ cp f<TAB> f<TAB>
> 
> the first <TAB> completes `f' to `foo', but the second <TAB> gives a `No
> match' error.
> 
> Similarly, if you have files named foo1, foo2, foo3 and foo4, then:
> 
> $ mv foo1 foo2 f<TAB>
> 
> shows only foo3 and foo4 in the completions buffer.
> 
> Happens in emacs 29 but not in 28.

This seems to be due to some changes in pcomplete.el since Emacs 28, because
if you remove pcomplete-completions-at-point from the value of
shell-dynamic-complete-functions, the problem goes away.

Stefan, can you help here?  It sounds like the culprit is some of the
changes in commit 0a36671f41 and/or 88b025f815, but I'm not sure.

Thanks.




This bug report was last modified 2 years and 161 days ago.

Previous Next


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