GNU bug report logs - #51130
29.0.50; shell completion fails to complete filenames

Previous Next

Package: emacs;

Reported by: Carlos Pita <carlosjosepita2 <at> gmail.com>

Date: Mon, 11 Oct 2021 05:45:02 UTC

Severity: normal

Found in version 29.0.50

Full log


View this message in rfc822 format

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Carlos Pita <carlosjosepita2 <at> gmail.com>
Cc: 51130 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#51130: 29.0.50; shell completion fails to complete filenames
Date: Mon, 12 Sep 2022 13:22:33 +0200
Carlos Pita <carlosjosepita2 <at> gmail.com> writes:

> Now, many usual commands like cp don't have a pcomplete handler so they
> behave very poorly regarding completion, take for example:
>
>      cp <TAB>
>
> this doesn't give me any completion candidate!

[...]

> In shell.el we have:
>
>   ;; Don't use pcomplete's defaulting mechanism, rely on
>   ;; shell-dynamic-complete-functions instead.
>   (setq-local pcomplete-default-completion-function #'ignore)
>
> So pcomplete is falling back to the ignore (no-op) function. If you
> kill the local binding in the shell buffer, then the default of the
> default does complete paths.

This was possibly added by:

commit e17d9003618cef75852a0b88334cea66a5c4b016
Author:     Stefan Monnier <monnier <at> iro.umontreal.ca>
AuthorDate: Sat Jun 4 09:31:34 2011 -0300

    * lisp/shell.el: Require and use pcomplete.
    (shell-dynamic-complete-functions): Add pcomplete-completions-at-point.
    (shell-completion-vars): Set pcomplete-default-completion-function.

Just leaving pcomplete-default-completion-function alone seems to give
better results in shell-mode (after testing very briefly), so I'm not
sure why that was added.

Perhaps Stefan has some comments; added to the CCs.




This bug report was last modified 1 year and 286 days ago.

Previous Next


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