From ba42f7932419c3c8b1e23f39c81a1a2dd1b3a154 Mon Sep 17 00:00:00 2001
From: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Sun, 27 Sep 2020 22:07:14 -0400
Subject: Fix pcomplete completion of things like `xargs` and `sudo`
 (bug#16197)

* lisp/pcmpl-unix.el (pcomplete/xargs): Don't `pcomplete-this` around
`pcomplete-command-completion-function`.
(pcomplete/sudo): Make it an alias for `pcomplete/xargs`.

* lisp/shell.el (shell-command-completion-function): Return the
names from `exec-path` when the command name has no `/`.
---
 lisp/pcmpl-unix.el | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'lisp/pcmpl-unix.el')

diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el
index 74f45b95233..9d346cfbd22 100644
--- a/lisp/pcmpl-unix.el
+++ b/lisp/pcmpl-unix.el
@@ -82,10 +82,14 @@ being via `pcmpl-ssh-known-hosts-file'."
 ;;;###autoload
 (defun pcomplete/xargs ()
   "Completion for `xargs'."
-  (pcomplete-here (funcall pcomplete-command-completion-function))
+  ;; FIXME: Add completion of xargs-specific arguments.
+  (funcall pcomplete-command-completion-function)
   (funcall (or (pcomplete-find-completion-function (pcomplete-arg 1))
 	       pcomplete-default-completion-function)))
 
+;; FIXME: Add completion of sudo-specific arguments.
+(defalias 'pcomplete/sudo #'pcomplete/xargs)
+
 ;;;###autoload
 (defalias 'pcomplete/time 'pcomplete/xargs)
 
-- 
cgit v1.2.3