Running 'rgrep' in Eshell now uses the Emacs grep facility instead of
calling external rgrep.
+** Pcomplete
+
+---
+*** New user option 'pcomplete-remote-file-ignore'.
+When this option is non-nil, remote file names are not completed by
+Pcomplete. Packages, like 'shell-mode', could set this in order to
+suppress remote file name completion at all.
+
** Shell Mode
+++
"A regexp of names to be disregarded during directory completion."
:type '(choice regexp (const :tag "None" nil)))
+(defcustom pcomplete-remote-file-ignore nil
+ "Whether to ignore remote file names."
+ :version "30.1"
+ :type 'boolean)
+
(define-obsolete-variable-alias 'pcomplete-ignore-case 'completion-ignore-case
"28.1")
(sort comps pcomplete-compare-entry-function)))
,@(cdr (completion-file-name-table s p a)))
(let ((completion-ignored-extensions nil)
- (completion-ignore-case completion-ignore-case))
+ (completion-ignore-case completion-ignore-case)
+ (tramp-mode (and tramp-mode (not pcomplete-remote-file-ignore)))
+ (non-essential (not (file-remote-p s)))
+ (minibuffer-completing-file-name (file-remote-p s))))
(completion-table-with-predicate
#'comint-completion-file-name-table pred 'strict s p a))))))
"Sort and remove multiples in SEQUENCE.
Sequence should be a vector or list of strings."
(sort (seq-uniq sequence) #'string-lessp))
-(define-obsolete-function-alias 'pcomplete-uniqify-list #'pcomplete-uniquify-list "27.1")
+(define-obsolete-function-alias
+ 'pcomplete-uniqify-list #'pcomplete-uniquify-list "27.1")
(defun pcomplete-process-result (cmd &rest args)
"Call CMD using `call-process' and return the simplest result."
;; Don't use pcomplete's defaulting mechanism, rely on
;; shell-dynamic-complete-functions instead.
(setq-local pcomplete-default-completion-function #'ignore)
+ ;; Do not expand remote file names.
+ (setq-local pcomplete-remote-file-ignore t)
(setq-local comint-input-autoexpand shell-input-autoexpand)
;; Not needed in shell-mode because it's inherited from comint-mode, but
;; placed here for read-shell-command.