;; The following isn't needed for Emacs 20 but for 19.34?
-(defun tramp-handle-file-name-completion (filename directory)
+(defun tramp-handle-file-name-completion
+ (filename directory &optional predicate)
"Like `file-name-completion' for tramp files."
(unless (tramp-tramp-file-p directory)
(error
(try-completion
filename
(mapcar (lambda (x) (cons x nil))
- (file-name-all-completions filename directory)))))
+ (file-name-all-completions filename directory))
+ predicate)))
;; cp, mv and ln
;; Method, host name and user name completion for a file.
;;;###autoload
-(defun tramp-completion-handle-file-name-completion (filename directory)
+(defun tramp-completion-handle-file-name-completion
+ (filename directory &optional predicate)
"Like `file-name-completion' for tramp files."
- (try-completion filename
- (mapcar 'list (file-name-all-completions filename directory))))
+ (try-completion
+ filename
+ (mapcar 'list (file-name-all-completions filename directory))
+ predicate))
;; I misuse a little bit the tramp-file-name structure in order to handle
;; completion possibilities for partial methods / user names / host names.
item)
(while choices
(setq item (pop choices))
- (when (and (string-match (nth 0 item) (or host ""))
- (string-match (nth 1 item) (or user "")))
+ (when (and (string-match (or (nth 0 item) "") (or host ""))
+ (string-match (or (nth 1 item) "") (or user "")))
(setq method (nth 2 item))
(setq choices nil)))
method))