]> git.eshelyaron.com Git - emacs.git/commitdiff
(ls-lisp-format): Support inodes that are 2- or 3-member cons cells.
authorEli Zaretskii <eliz@gnu.org>
Sat, 5 Apr 2008 15:03:42 +0000 (15:03 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 5 Apr 2008 15:03:42 +0000 (15:03 +0000)
lisp/ChangeLog
lisp/ls-lisp.el

index 9b77811579821e2b9d2309f6d9c47bc559dd540b..d1083f353230cfc95a79eaf15a26bdc6367f6e73 100644 (file)
@@ -1,3 +1,8 @@
+2008-04-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * ls-lisp.el (ls-lisp-format): Support inodes that are 2- or
+       3-member cons cells.
+
 2008-04-05  Chong Yidong  <cyd@stupidchicken.com>
 
        * cus-face.el (custom-face-attributes): Handle roman slant.
index 2963168a89984ad71a004ca59851f0a6b5afb10e..854f47a59c360ef98fcf5bf9c74c687609983912 100644 (file)
@@ -529,7 +529,17 @@ SWITCHES, TIME-INDEX and NOW give the full switch list and time data."
        ;; for symbolic link, or nil.
        (drwxrwxrwx (nth 8 file-attr))) ; attribute string ("drwxrwxrwx")
     (concat (if (memq ?i switches)     ; inode number
-               (format " %6d" (nth 10 file-attr)))
+               (let ((inode (nth 10 file-attr)))
+                 (if (consp inode)
+                     (if (consp (cdr inode))
+                         (format " %17.0f "
+                                 (+ (* (car inode) 1099511627776.0)
+                                    (* (cadr inode) 65536.0)
+                                    (cddr inode)))
+                       (format " %17.0f "
+                               (+ (* (car inode) 65536.0)
+                                  (cdr inode))))
+                   (format " %17d " inode))))
            ;; nil is treated like "" in concat
            (if (memq ?s switches)      ; size in K
                (format " %4.0f" (fceiling (/ file-size 1024.0))))