diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2012-02-26 20:36:59 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2012-02-26 20:36:59 +0100 |
commit | 530739c9095230eed623d69f04b6ceec8c917da7 (patch) | |
tree | 724f3462d855ed693f2c13cbf4cbee0cea0b4abb | |
parent | 487915d7385aeef679d9a6f077f319540835da4c (diff) | |
download | emacs-530739c9095230eed623d69f04b6ceec8c917da7.tar.gz |
* net/tramp.el (tramp-inodes, tramp-devices): Initialize with 0.
(tramp-get-inode, tramp-get-device): Use cached values.
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/net/tramp.el | 26 |
2 files changed, 11 insertions, 20 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a79b6307d16..76a7ccfe753 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-02-26 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-inodes, tramp-devices): Initialize with 0. + (tramp-get-inode, tramp-get-device): Use cached values. + 2012-02-26 Alan Mackenzie <acm@muc.de> Check there is a font-lock specification before doing initial diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index cc1977dfe22..a5e3da9d04c 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -1650,7 +1650,7 @@ been set up by `rfn-eshadow-setup-minibuffer'." ;; applied might be not so efficient (Ange-FTP uses hashes). But ;; performance isn't the major issue given that file transfer will ;; take time. -(defvar tramp-inodes nil +(defvar tramp-inodes 0 "Keeps virtual inodes numbers.") ;; Devices must distinguish physical file systems. The device numbers @@ -1658,7 +1658,7 @@ been set up by `rfn-eshadow-setup-minibuffer'." ;; So we use virtual device numbers, generated by Tramp. Both Ange-FTP and ;; EFS use device number "-1". In order to be different, we use device number ;; (-1 . x), whereby "x" is unique for a given (method user host). -(defvar tramp-devices nil +(defvar tramp-devices 0 "Keeps virtual device numbers.") (defun tramp-default-file-modes (filename) @@ -3412,28 +3412,14 @@ the remote host use line-endings as defined in the variable (defun tramp-get-inode (vec) "Returns the virtual inode number. If it doesn't exist, generate a new one." - (let ((string (tramp-make-tramp-file-name - (tramp-file-name-method vec) - (tramp-file-name-user vec) - (tramp-file-name-host vec) - ""))) - (unless (assoc string tramp-inodes) - (add-to-list 'tramp-inodes - (list string (length tramp-inodes)))) - (nth 1 (assoc string tramp-inodes)))) + (with-file-property vec (tramp-file-name-localname vec) "inode" + (setq tramp-inodes (1+ tramp-inodes)))) (defun tramp-get-device (vec) "Returns the virtual device number. If it doesn't exist, generate a new one." - (let ((string (tramp-make-tramp-file-name - (tramp-file-name-method vec) - (tramp-file-name-user vec) - (tramp-file-name-host vec) - ""))) - (unless (assoc string tramp-devices) - (add-to-list 'tramp-devices - (list string (length tramp-devices)))) - (cons -1 (nth 1 (assoc string tramp-devices))))) + (with-connection-property (tramp-get-connection-process vec) "device" + (cons -1 (setq tramp-devices (1+ tramp-devices))))) (defun tramp-equal-remote (file1 file2) "Check, whether the remote parts of FILE1 and FILE2 are identical. |