]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix problem with ede-mode bugging out on non-existent files
authorLin Sun <lin.sun@zoom.us>
Mon, 21 Sep 2020 15:33:13 +0000 (17:33 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 21 Sep 2020 15:33:13 +0000 (17:33 +0200)
* lisp/cedet/ede/emacs.el: Check whether the directory exists in
ede-emacs-find-in-directories before using it (bug#43547).

lisp/cedet/ede/emacs.el

index bfcbd40fccef260b613549cb9466fd89449ae66d..a052c5c61e7f6be56c32bec48215d7c8e1dada24 100644 (file)
@@ -234,20 +234,19 @@ All files need the macros from lisp.h!"
       (let* ((D (car dirs))
             (ed (expand-file-name D base))
             (ef (expand-file-name name ed)))
-       (if (file-exists-p ef)
-           (setq ans ef)
-         ;; Not in this dir?  How about subdirs?
-         (let ((dirfile (directory-files ed t))
-               (moredirs nil)
-               )
-           ;; Get all the subdirs.
-           (dolist (DF dirfile)
-             (when (and (file-directory-p DF)
-                        (not (string-match "\\.$" DF)))
-               (push DF moredirs)))
-           ;; Try again.
-           (setq ans (ede-emacs-find-in-directories name ed moredirs))
-           ))
+       (when (file-exists-p ed)
+          (if (file-exists-p ef)
+             (setq ans ef)
+           ;; Not in this dir?  How about subdirs?
+           (let ((dirfile (directory-files ed t))
+                 (moredirs nil))
+             ;; Get all the subdirs.
+             (dolist (DF dirfile)
+               (when (and (file-directory-p DF)
+                          (not (string-match "\\.$" DF)))
+                 (push DF moredirs)))
+             ;; Try again.
+             (setq ans (ede-emacs-find-in-directories name ed moredirs)))))
        (setq dirs (cdr dirs))))
     ans))