]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/ange-ftp.el (ange-ftp-file-name-completion): Handle optional
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 20 Dec 2006 05:57:41 +0000 (05:57 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 20 Dec 2006 05:57:41 +0000 (05:57 +0000)
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.

lisp/ChangeLog
lisp/net/ange-ftp.el
lisp/net/tramp.el

index fe321c3060b78c0a01285b456aaa842b3c2e5d6e..9549676f15572193de830d4c563bc5182a4ffb14 100644 (file)
@@ -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
index c77dbbd64b3f15626a6d57689f6dcf3da9d237ce..75c9b04a040ab7d40f9caf23a93ff81210cadf23 100644 (file)
@@ -3977,7 +3977,7 @@ E.g.,
                                                          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 @@ E.g.,
           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)
index 6a46486e6e1ff516a2f3b6acbd499be414f67a73..3cdcfd740840999f19538ac4ef124ee5a44520b6 100644 (file)
@@ -2856,7 +2856,8 @@ of."
 
 
 ;; 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 @@ of."
     (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 @@ Falls back to normal file name handler if no tramp file name handler exists."
 
 ;; 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 @@ localname (file name on remote host)."
        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))