]> git.eshelyaron.com Git - emacs.git/commitdiff
(normal-top-level-add-subdirs-to-load-path):
authorRichard M. Stallman <rms@gnu.org>
Mon, 11 May 1998 01:17:48 +0000 (01:17 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 11 May 1998 01:17:48 +0000 (01:17 +0000)
Ignore subdirectories whose names start with nonalphanumeric
or that have a file called .nosearch.

lisp/startup.el

index ee7227aa1e9028e66406924bda8065194e9686c8..1a85a2aa0be44dbe72b375a454afe59d5481d052 100644 (file)
@@ -334,7 +334,10 @@ from being initialized."
 (defvar init-file-had-error nil)
 
 (defun normal-top-level-add-subdirs-to-load-path ()
-  "Add all subdirectories of current directory to `load-path'."
+  "Add all subdirectories of current directory to `load-path'.
+More precisely, this uses only the subdirectories whose names
+start with letters or digits; it excludes any subdirectory named`RCS',
+and any subdirectory that contains a file named `.nosearch'."
   (let (dirs 
        (pending (list default-directory)))
     ;; This loop does a breadth-first tree walk on DIR's subtree,
@@ -345,11 +348,13 @@ from being initialized."
       (let ((contents (directory-files (car dirs)))
            (default-directory (car dirs)))
        (while contents
-         (unless (member (car contents)
-                         '("." ".." "RCS"))
-           (when (file-directory-p (car contents))
-             (setq pending (nconc pending
-                                  (list (expand-file-name (car contents)))))))
+         (unless (member (car contents) '("." ".." "RCS"))
+           (when (and (string-match "\\`[a-zA-Z0-9]" (car contents))
+                      (file-directory-p (car contents)))
+             (let ((expanded (expand-file-name (car contents))))
+               (unless (file-exists-p (expand-file-name ".nosearch"
+                                                        expanded))
+                 (setq pending (nconc pending (list expanded)))))))
          (setq contents (cdr contents)))))
     (normal-top-level-add-to-load-path (cdr (nreverse dirs)))))