mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-17 17:58:46 +00:00
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 `/`.
This commit is contained in:
parent
4155ca273a
commit
ba42f79324
@ -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)
|
||||
|
||||
|
@ -460,9 +460,12 @@ Thus, this does not include the shell's current directory.")
|
||||
This is the value of `pcomplete-command-completion-function' for
|
||||
Shell buffers. It implements `shell-completion-execonly' for
|
||||
`pcomplete' completion."
|
||||
(pcomplete-here (pcomplete-entries nil
|
||||
(if shell-completion-execonly
|
||||
'file-executable-p))))
|
||||
(if (pcomplete-match "/")
|
||||
(pcomplete-here (pcomplete-entries nil
|
||||
(if shell-completion-execonly
|
||||
'file-executable-p)))
|
||||
(pcomplete-here
|
||||
(nth 2 (shell--command-completion-data)))))
|
||||
|
||||
(defun shell-completion-vars ()
|
||||
"Setup completion vars for `shell-mode' and `read-shell-command'."
|
||||
|
Loading…
Reference in New Issue
Block a user