@@ -1940,42 +1940,43 @@ and IGNORE-CASE return a function which can be used as argument for `sort'."
19401940 " Return a cons cell where car is a list of all files to display in DIR and
19411941cdr is a list of all subdirs to display in DIR. Both lists are sorted
19421942according to `ecb-sources-sort-method' ."
1943- (or (ecb-files-and-subdirs-cache-get dir)
1944- ; ; dir is not cached
1945- (let ((files (ecb-directory-files dir nil nil t ))
1946- (source-regexps (or (ecb-check-directory-for-source-regexps
1947- (ecb-fix-filename dir))
1948- '((" " ) (" " ))))
1949- (cvsignore-files (if (ecb-check-directory-for-cvsignore-exclude dir)
1950- (ecb-files-from-cvsignore dir)))
1951- sorted-files source-files subdirs cached-value)
1952- ; ; if necessary sort FILES
1953- (setq sorted-files
1954- (if ecb-sources-sort-method
1955- (sort files (ecb-get-sources-sort-function
1956- ecb-sources-sort-method))
1957- files ))
1958- ; ; divide real files and subdirs. For really large directories (~ >=
1959- ; ; 2000 entries) this is the performance-bottleneck in the
1960- ; ; file-browser of ECB.
1961- (dolist (file sorted-files)
1962- (if (ecb-file-directory-p (ecb-fix-filename dir file))
1963- (when (not (ecb-check-dir-exclude file))
1964- ; ; (when (not (ecb-file-accessible-directory-p file))
1965- ; ; (ecb-merge-face-into-text file
1966- ; ; ecb-directory-not-accessible-face))
1967- (setq subdirs (append subdirs (list file))))
1968- (when (and (not (member file cvsignore-files))
1969- (or (ecb-match-regexp-list file (cadr source-regexps))
1970- (not (ecb-match-regexp-list file (car source-regexps)))))
1971- (setq source-files (append source-files (list file))))))
1972-
1973- (setq cached-value (cons source-files subdirs))
1974- ; ; check if this directory must be cached
1975- (if (ecb-check-directory-for-caching dir (length sorted-files))
1976- (ecb-files-and-subdirs-cache-add dir cached-value))
1977- ; ; return the result
1978- cached-value)))
1943+ (when (file-directory-p dir)
1944+ (or (ecb-files-and-subdirs-cache-get dir)
1945+ ; ; dir is not cached
1946+ (let ((files (ecb-directory-files dir nil nil t ))
1947+ (source-regexps (or (ecb-check-directory-for-source-regexps
1948+ (ecb-fix-filename dir))
1949+ '((" " ) (" " ))))
1950+ (cvsignore-files (if (ecb-check-directory-for-cvsignore-exclude dir)
1951+ (ecb-files-from-cvsignore dir)))
1952+ sorted-files source-files subdirs cached-value)
1953+ ; ; if necessary sort FILES
1954+ (setq sorted-files
1955+ (if ecb-sources-sort-method
1956+ (sort files (ecb-get-sources-sort-function
1957+ ecb-sources-sort-method))
1958+ files ))
1959+ ; ; divide real files and subdirs. For really large directories (~ >=
1960+ ; ; 2000 entries) this is the performance-bottleneck in the
1961+ ; ; file-browser of ECB.
1962+ (dolist (file sorted-files)
1963+ (if (ecb-file-directory-p (ecb-fix-filename dir file))
1964+ (when (not (ecb-check-dir-exclude file))
1965+ ; ; (when (not (ecb-file-accessible-directory-p file))
1966+ ; ; (ecb-merge-face-into-text file
1967+ ; ; ecb-directory-not-accessible-face))
1968+ (setq subdirs (append subdirs (list file))))
1969+ (when (and (not (member file cvsignore-files))
1970+ (or (ecb-match-regexp-list file (cadr source-regexps))
1971+ (not (ecb-match-regexp-list file (car source-regexps)))))
1972+ (setq source-files (append source-files (list file))))))
1973+
1974+ (setq cached-value (cons source-files subdirs))
1975+ ; ; check if this directory must be cached
1976+ (if (ecb-check-directory-for-caching dir (length sorted-files))
1977+ (ecb-files-and-subdirs-cache-add dir cached-value))
1978+ ; ; return the result
1979+ cached-value))))
19791980
19801981
19811982(defun ecb-update-sources-buffer (dir-before-update )
0 commit comments