]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve tramp-convert-file-attributes backward compatibility
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 29 Aug 2018 08:05:34 +0000 (10:05 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 29 Aug 2018 08:05:34 +0000 (10:05 +0200)
* lisp/net/tramp-sh.el (tramp-convert-file-attributes):
Use `seconds-to-time' for {access, modification, status change}
time.  Simplify check for inode.

* test/lisp/net/tramp-tests.el (tramp-test22-file-times):
Use `seconds-to-time'.

lisp/net/tramp-sh.el
test/lisp/net/tramp-tests.el

index 8cf7318adaa4f3c45c1f006ef4d301a6156ac11b..64d208175f9a03f3053604640e54126f27fea155 100644 (file)
@@ -5116,19 +5116,13 @@ Return ATTR."
       (setcar (nthcdr 3 attr) (round (nth 3 attr))))
     ;; Convert last access time.
     (unless (listp (nth 4 attr))
-      (setcar (nthcdr 4 attr)
-              (list (floor (nth 4 attr) 65536)
-                    (floor (mod (nth 4 attr) 65536)))))
+      (setcar (nthcdr 4 attr) (seconds-to-time (nth 4 attr))))
     ;; Convert last modification time.
     (unless (listp (nth 5 attr))
-      (setcar (nthcdr 5 attr)
-              (list (floor (nth 5 attr) 65536)
-                    (floor (mod (nth 5 attr) 65536)))))
+      (setcar (nthcdr 5 attr) (seconds-to-time (nth 5 attr))))
     ;; Convert last status change time.
     (unless (listp (nth 6 attr))
-      (setcar (nthcdr 6 attr)
-              (list (floor (nth 6 attr) 65536)
-                    (floor (mod (nth 6 attr) 65536)))))
+      (setcar (nthcdr 6 attr) (seconds-to-time (nth 6 attr))))
     ;; Convert file size.
     (when (< (nth 7 attr) 0)
       (setcar (nthcdr 7 attr) -1))
@@ -5158,8 +5152,8 @@ Return ATTR."
               (not (string-equal
                     (nth 3 attr)
                     (tramp-get-remote-gid vec 'string)))))
-    ;; Convert inode.  Big numbers have been added to Emacs 27.
-    (unless (or (fboundp 'bignump) (listp (nth 10 attr)))
+    ;; Convert inode.
+    (when (floatp (nth 10 attr))
       (setcar (nthcdr 10 attr)
               (condition-case nil
                   (let ((high (nth 10 attr))
index 293a0054560db74d23dd9b2e994c1372b2857557..55884f30a7e671c15531d7653d21e8969ca3122e 100644 (file)
@@ -3219,11 +3219,12 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
            ;; `current-time'.  Therefore, we use '(0 1).  We skip the
            ;; test, if the remote handler is not able to set the
            ;; correct time.
-           (skip-unless (set-file-times tmp-name1 '(0 1)))
+           (skip-unless (set-file-times tmp-name1 (seconds-to-time 1)))
            ;; Dumb remote shells without perl(1) or stat(1) are not
            ;; able to return the date correctly.  They say "don't know".
            (unless (equal (nth 5 (file-attributes tmp-name1)) '(0 0))
-             (should (equal (nth 5 (file-attributes tmp-name1)) '(0 1)))
+             (should
+              (equal (nth 5 (file-attributes tmp-name1)) (seconds-to-time 1)))
              (write-region "bla" nil tmp-name2)
              (should (file-exists-p tmp-name2))
              (should (file-newer-than-file-p tmp-name2 tmp-name1))