diff options
author | Geoff Voelker <voelker@cs.washington.edu> | 1999-08-06 20:41:07 +0000 |
---|---|---|
committer | Geoff Voelker <voelker@cs.washington.edu> | 1999-08-06 20:41:07 +0000 |
commit | 046e824697cfeae8a1db9d1235f22808607f49a6 (patch) | |
tree | 25dbffaa1d73592ff6ad4107ab86546c20be1f60 /lisp/ls-lisp.el | |
parent | b05236c67fee357b34c9a00223a271c33c6d563a (diff) | |
download | emacs-046e824697cfeae8a1db9d1235f22808607f49a6.tar.gz |
(ls-lisp-delete-matching): List argument is now alist
of filenames and attributes.
(ls-lisp-insert-directory): Use directory-files-and-attributes
for speed.
Diffstat (limited to 'lisp/ls-lisp.el')
-rw-r--r-- | lisp/ls-lisp.el | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el index e02bd5db459..6158eff5df9 100644 --- a/lisp/ls-lisp.el +++ b/lisp/ls-lisp.el @@ -134,29 +134,18 @@ are: A a c i r S s t u" (sum 0) elt short - (file-list (directory-files dir nil wildcard)) - file-alist + (file-alist (directory-files-and-attributes dir nil wildcard)) (now (current-time)) ;; do all bindings here for speed file-size fil attr) (cond ((memq ?A switches) - (setq file-list - (ls-lisp-delete-matching "^\\.\\.?$" file-list))) + (setq file-alist + (ls-lisp-delete-matching "^\\.\\.?$" file-alist))) ((not (memq ?a switches)) ;; if neither -A nor -a, flush . files - (setq file-list - (ls-lisp-delete-matching "^\\." file-list)))) - (setq file-alist - (mapcar - (function - (lambda (x) - ;; file-attributes("~bogus") bombs - (cons x (file-attributes (expand-file-name x))))) - ;; inserting the call to directory-files right here - ;; seems to stimulate an Emacs bug - ;; ILLEGAL DATATYPE (#o37777777727) or #o67 - file-list)) + (setq file-alist + (ls-lisp-delete-matching "^\\." file-alist)))) ;; ``Total'' line (filled in afterwards). (insert (if (car-safe file-alist) "total \007\n" @@ -201,7 +190,7 @@ are: A a c i r S s t u" ;; Should perhaps use setcdr for efficiency. (let (result) (while list - (or (string-match regexp (car list)) + (or (string-match regexp (car (car list))) (setq result (cons (car list) result))) (setq list (cdr list))) result)) |