Mercurial > emacs
changeset 25194:daf6b641fb0e
(ls-lisp-delete-matching): List argument is now alist
of filenames and attributes.
(ls-lisp-insert-directory): Use directory-files-and-attributes
for speed.
author | Geoff Voelker <voelker@cs.washington.edu> |
---|---|
date | Fri, 06 Aug 1999 20:41:07 +0000 |
parents | 953155ee541a |
children | 7b26b165d383 |
files | lisp/ls-lisp.el |
diffstat | 1 files changed, 6 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ls-lisp.el Fri Aug 06 20:40:36 1999 +0000 +++ b/lisp/ls-lisp.el Fri Aug 06 20:41:07 1999 +0000 @@ -134,29 +134,18 @@ (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 @@ ;; 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))