Subject: bug#34330: 27.0.50; shell auto-complete cannot handle special characters

From: Alex Branham <[email-masked]>
Date: Fri, 23 Aug 2019 11:02:48 -0500

> On Thu 15 Aug 2019 at 11:06, Alex Branham <[email-masked]> wrote:

Is this OK to apply to master to fix the issue with completion of
filenames?

Alex

>
>>>From 1af4915f3dc774b4fb53e2b52b1318f4b52b7ba3 Mon Sep 17 00:00:00 2001
> From: Alex Branham <[email-masked]>
> Date: Thu, 15 Aug 2019 11:02:38 -0500
> Subject: [PATCH] Fix filename completion in shell mode buffers
>
> * lisp/shell.el (shell-dynamic-complete-functions): Move
> pcomplete-completions-at-point down the list so that filename
> completion has a chance to complete before pcompletion.
>
> Fixes bug#34330
> ---
>  lisp/shell.el | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/lisp/shell.el b/lisp/shell.el
> index 2914d1d2c8..889602d26e 100644
> --- a/lisp/shell.el
> +++ b/lisp/shell.el
> @@ -184,14 +184,15 @@ shell buffer.  The value may depend on the operating system or shell."
>      shell-environment-variable-completion
>      shell-command-completion
>      shell-c-a-p-replace-by-expanded-directory
> -    pcomplete-completions-at-point
>      shell-filename-completion
> -    comint-filename-completion)
> +    comint-filename-completion
> +    pcomplete-completions-at-point)
>    "List of functions called to perform completion.
>  This variable is used to initialize `comint-dynamic-complete-functions' in the
>  shell buffer."
>    :type '(repeat function)
> -  :group 'shell)
> +  :group 'shell
> +  :version "27.1")
>  
>  (defcustom shell-command-regexp "[^;&|\n]+"
>    "Regexp to match a single command within a pipeline.