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

From: Alex Branham <[email-masked]>
Date: Thu, 15 Aug 2019 11:10:54 -0500

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

> Patch attached.

... and here's the actual patch

>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.
-- 
2.22.0

>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.
-- 
2.22.0