+2006-12-20 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/ange-ftp.el (ange-ftp-file-name-completion): Handle optional
+ parameter PREDICATE.
+
+ * lisp/tramp.el (tramp-handle-file-name-completion)
+ (tramp-completion-handle-file-name-completion): Handle optional
+ parameter PREDICATE.
+ (tramp-find-default-method): Add code for default values.
+
2006-12-20 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-stopped): After attaching to a process
ange-ftp-this-dir))
(ange-ftp-real-file-name-all-completions file ange-ftp-this-dir)))))
-(defun ange-ftp-file-name-completion (file dir)
+(defun ange-ftp-file-name-completion (file dir &optional predicate)
(let ((ange-ftp-this-dir (expand-file-name dir)))
(if (ange-ftp-ftp-name ange-ftp-this-dir)
(progn
file
(nconc (ange-ftp-generate-root-prefixes)
(ange-ftp-real-file-name-all-completions
- file ange-ftp-this-dir)))
- (ange-ftp-real-file-name-completion file ange-ftp-this-dir)))))
+ file ange-ftp-this-dir))
+ predicate)
+ (if predicate
+ (ange-ftp-real-file-name-completion
+ file ange-ftp-this-dir predicate)
+ (ange-ftp-real-file-name-completion
+ file ange-ftp-this-dir))))))
(defun ange-ftp-file-name-completion-1 (file tbl dir &optional predicate)
;; 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))