summaryrefslogtreecommitdiff
path: root/lisp/ls-lisp.el
diff options
context:
space:
mode:
authorGeoff Voelker <voelker@cs.washington.edu>1999-08-06 20:41:07 +0000
committerGeoff Voelker <voelker@cs.washington.edu>1999-08-06 20:41:07 +0000
commit046e824697cfeae8a1db9d1235f22808607f49a6 (patch)
tree25dbffaa1d73592ff6ad4107ab86546c20be1f60 /lisp/ls-lisp.el
parentb05236c67fee357b34c9a00223a271c33c6d563a (diff)
downloademacs-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.el23
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))