Mercurial > emacs
changeset 74766:ca4412906dbd
* 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.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Wed, 20 Dec 2006 05:57:41 +0000 |
parents | 3cedab34a4b6 |
children | 89d09601ddf8 |
files | lisp/ChangeLog lisp/net/ange-ftp.el lisp/net/tramp.el |
diffstat | 3 files changed, 30 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Dec 20 05:16:36 2006 +0000 +++ b/lisp/ChangeLog Wed Dec 20 05:57:41 2006 +0000 @@ -1,3 +1,13 @@ +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
--- a/lisp/net/ange-ftp.el Wed Dec 20 05:16:36 2006 +0000 +++ b/lisp/net/ange-ftp.el Wed Dec 20 05:57:41 2006 +0000 @@ -3977,7 +3977,7 @@ 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 @@ -4005,8 +4005,13 @@ 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)
--- a/lisp/net/tramp.el Wed Dec 20 05:16:36 2006 +0000 +++ b/lisp/net/tramp.el Wed Dec 20 05:57:41 2006 +0000 @@ -2856,7 +2856,8 @@ ;; 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 @@ -2866,7 +2867,8 @@ (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 @@ -4627,10 +4629,13 @@ ;; 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. @@ -6965,8 +6970,8 @@ 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))