summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2012-02-26 20:36:59 +0100
committerMichael Albinus <michael.albinus@gmx.de>2012-02-26 20:36:59 +0100
commit530739c9095230eed623d69f04b6ceec8c917da7 (patch)
tree724f3462d855ed693f2c13cbf4cbee0cea0b4abb
parent487915d7385aeef679d9a6f077f319540835da4c (diff)
downloademacs-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/ChangeLog5
-rw-r--r--lisp/net/tramp.el26
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.