From: Michael Albinus Date: Tue, 6 Nov 2007 21:17:36 +0000 (+0000) Subject: * net/tramp.el (top): Don't autoload `tramp-cache-print'. X-Git-Tag: emacs-pretest-23.0.90~9851 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=726f0272538ed95977d8686924b85ec81fa6e98f;p=emacs.git * net/tramp.el (top): Don't autoload `tramp-cache-print'. * net/tramp-cache (tramp-cache-print): Move down. (tramp-cache-list-connections): New defun. * net/tramp-cmds.el (tramp-cleanup-connection): Use it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1d47c37bf27..8ad799fa437 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2007-11-06 Michael Albinus + + * net/tramp.el (top): Don't autoload `tramp-cache-print'. + + * net/tramp-cache (tramp-cache-print): Move down. + (tramp-cache-list-connections): New defun. + + * net/tramp-cmds.el (tramp-cleanup-connection): Use it. + 2007-11-06 Juanma Barranquero * ido.el (ido-save-history): Write the history file in the current diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el index fcf7685e91b..7f8d376452f 100644 --- a/lisp/net/tramp-cache.el +++ b/lisp/net/tramp-cache.el @@ -138,26 +138,6 @@ Remove also properties of all files in subdirectories." (remhash key tramp-cache-data))) tramp-cache-data))) -(defun tramp-cache-print (table) - "Prints hash table TABLE." - (when (hash-table-p table) - (let (result) - (maphash - '(lambda (key value) - (let ((tmp (format - "(%s %s)" - (if (processp key) - (prin1-to-string (prin1-to-string key)) - (prin1-to-string key)) - (if (hash-table-p value) - (tramp-cache-print value) - (if (bufferp value) - (prin1-to-string (prin1-to-string value)) - (prin1-to-string value)))))) - (setq result (if result (concat result " " tmp) tmp)))) - table) - result))) - ;; Reverting or killing a buffer should also flush file properties. ;; They could have been changed outside Tramp. In eshell, "ls" would ;; not show proper directory contents when a file has been copied or @@ -236,6 +216,36 @@ function is intended to run also as process sentinel." ; (tramp-message key 7 "%s" event) (remhash key tramp-cache-data)) +(defun tramp-cache-print (table) + "Prints hash table TABLE." + (when (hash-table-p table) + (let (result) + (maphash + '(lambda (key value) + (let ((tmp (format + "(%s %s)" + (if (processp key) + (prin1-to-string (prin1-to-string key)) + (prin1-to-string key)) + (if (hash-table-p value) + (tramp-cache-print value) + (if (bufferp value) + (prin1-to-string (prin1-to-string value)) + (prin1-to-string value)))))) + (setq result (if result (concat result " " tmp) tmp)))) + table) + result))) + +(defun tramp-cache-list-connections () + "Return a list of all known connection vectors." + (let (result) + (maphash + '(lambda (key value) + (when (and (vectorp key) (null (aref key 3))) + (add-to-list 'result key))) + tramp-cache-data) + result)) + (defun tramp-dump-connection-properties () "Writes persistent connection properties into file `tramp-persistency-file-name'." diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el index 85ce4a93aa6..415d45f922d 100644 --- a/lisp/net/tramp-cmds.el +++ b/lisp/net/tramp-cmds.el @@ -61,12 +61,12 @@ When called interactively, a Tramp connection has to be selected." (let ((connections (mapcar (lambda (x) - (with-current-buffer x (list (file-remote-p default-directory)))) - ;; We shall not count debug buffers, because their - ;; default-directory is random. It could be even a remote - ;; one from another connection. - (all-completions - "*tramp" (mapcar 'list (tramp-list-tramp-buffers))))) + (tramp-make-tramp-file-name + (tramp-file-name-method x) + (tramp-file-name-user x) + (tramp-file-name-host x) + (tramp-file-name-localname x))) + (tramp-cache-list-connections))) name) (when connections diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 8b50e034b47..cf6a0b160b9 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -93,7 +93,6 @@ (autoload 'tramp-set-file-property "tramp-cache") (autoload 'tramp-flush-file-property "tramp-cache") (autoload 'tramp-flush-directory-property "tramp-cache") -(autoload 'tramp-cache-print "tramp-cache") (autoload 'tramp-get-connection-property "tramp-cache") (autoload 'tramp-set-connection-property "tramp-cache") (autoload 'tramp-flush-connection-property "tramp-cache")