comparison lisp/files.el @ 98413:6708b075f931

(locate-dominating-file): Wrap directory-files with condition-case, instead of calling file-directory-p, which stats the directory one more time.
author Eli Zaretskii <eliz@gnu.org>
date Tue, 30 Sep 2008 12:51:44 +0000
parents 7c5cb1da6c7f
children 2c7f6673441b
comparison
equal deleted inserted replaced
98412:f999c89e46fd 98413:6708b075f931
732 ;; things like /net and /afs. This assumes that all the 732 ;; things like /net and /afs. This assumes that all the
733 ;; files inside a project belong to the same user. 733 ;; files inside a project belong to the same user.
734 (let ((prev-user user)) 734 (let ((prev-user user))
735 (setq user (nth 2 (file-attributes dir))) 735 (setq user (nth 2 (file-attributes dir)))
736 (or (null prev-user) (equal user prev-user)))) 736 (or (null prev-user) (equal user prev-user))))
737 (if (setq files (and (file-directory-p dir) 737 (if (setq files (condition-case nil
738 (directory-files dir 'full regexp))) 738 (directory-files dir 'full regexp)
739 (error nil)))
739 (throw 'found (car files)) 740 (throw 'found (car files))
740 (if (equal dir 741 (if (equal dir
741 (setq dir (file-name-directory 742 (setq dir (file-name-directory
742 (directory-file-name dir)))) 743 (directory-file-name dir))))
743 (setq dir nil)))) 744 (setq dir nil))))