+2007-11-06 Michael Albinus <michael.albinus@gmx.de>
+
+ * 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 <lekktu@gmail.com>
* ido.el (ido-save-history): Write the history file in the current
(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
; (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'."
(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
(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")