Mercurial > emacs
changeset 110577:71576987bc2d
* files.el (get-free-disk-space): Don't assume "df" output columns line up (Bug#6995).
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 25 Sep 2010 16:16:35 -0400 |
parents | 54834381dfd9 |
children | 5874484c8de5 |
files | lisp/ChangeLog lisp/files.el |
diffstat | 2 files changed, 15 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat Sep 25 15:50:13 2010 -0400 +++ b/lisp/ChangeLog Sat Sep 25 16:16:35 2010 -0400 @@ -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):
--- a/lisp/files.el Sat Sep 25 15:50:13 2010 -0400 +++ b/lisp/files.el Sat Sep 25 16:16:35 2010 -0400 @@ -5622,22 +5622,17 @@ 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