]> git.eshelyaron.com Git - emacs.git/commitdiff
* files.el (get-free-disk-space): Don't assume "df" output columns line up (Bug#6995).
authorChong Yidong <cyd@stupidchicken.com>
Sat, 25 Sep 2010 20:16:35 +0000 (16:16 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 25 Sep 2010 20:16:35 +0000 (16:16 -0400)
lisp/ChangeLog
lisp/files.el

index c220f46509dd174b23eeb835ec74c930b6da1ffd..8adb6b03de657bdf14d612c4fe9bae169e67c698 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-25  Chong Yidong  <cyd@stupidchicken.com>
+
+       * files.el (get-free-disk-space): Don't assume the "df" output
+       columns line up (Bug#6995).
+
 2010-09-25  Juanma Barranquero  <lekktu@gmail.com>
 
        * finder.el (finder-unknown-keywords):
index 24190a515295afff4f437b7c15cfca8418c078f8..40627f690f81d4fcbc05cea5781e1d2f7c3f0395 100644 (file)
@@ -5622,22 +5622,17 @@ returns nil."
                                         directory-free-space-args
                                         dir)
                           0)))
-           ;; Usual format is as follows:
-           ;; Filesystem ...    Used  Available  Capacity ...
-           ;; /dev/sda6  ...48106535   35481255  10669850 ...
+           ;; Assume that the "available" column is before the
+           ;; "capacity" column.  Find the "%" and scan backward.
            (goto-char (point-min))
-           (when (re-search-forward " +Avail[^ \n]*"
-                                    (line-end-position) t)
-             (let ((beg (match-beginning 0))
-                   (end (match-end 0))
-                   str)
-               (forward-line 1)
-               (setq str
-                     (buffer-substring-no-properties
-                      (+ beg (point) (- (point-min)))
-                      (+ end (point) (- (point-min)))))
-               (when (string-match "\\` *\\([^ ]+\\)" str)
-                 (match-string 1 str))))))))))
+           (forward-line 1)
+           (when (re-search-forward
+                  "[[:space:]]+[^[:space:]]+%[^%]*$"
+                  (line-end-position) t)
+             (goto-char (match-beginning 0))
+             (let ((endpt (point)))
+               (skip-chars-backward "^[:space:]")
+               (buffer-substring-no-properties (point) endpt)))))))))
 
 ;; The following expression replaces `dired-move-to-filename-regexp'.
 (defvar directory-listing-before-filename-regexp