Subject: bug#7516: [PATCH] lisp/startup.el (normal-top-level-add-subdirs-to-load-path) Exclude more VCS dirs

From: Jari Aalto <[email-masked]>
Date: Tue, 30 Nov 2010 00:33:51 +0200

2010-11-29 20:11 Stefan Monnier <[email-masked]>:
>>         * startup.el: (normal-top-level-add-subdirs-to-load-path): Exclude
>>         more VCS directories: .svn, .hg, .bzr, .git and .mtn (monotone).
>
> Wouldn't it make more sense to skip anything that starts with a dot?

Sure. See below.

Jari

2010-11-29  Jari Aalto  <[email-masked]>

        * startup.el (normal-top-level-add-subdirs-to-load-path): Change
        `member' to `string-match' file test.  Skip all dot-files.

>From 77eb2b69e60378fbfd8e1d70630ec136638381cd Mon Sep 17 00:00:00 2001
From: Jari Aalto <[email-masked]>
Date: Mon, 29 Nov 2010 15:52:58 +0200
Subject: [PATCH] startup.el: (normal-top-level-add-subdirs-to-load-path): Skip all dot files.
Organization: Private
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Signed-off-by: Jari Aalto <[email-masked]>
---
 lisp/startup.el |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/lisp/startup.el b/lisp/startup.el
index da0264d..5b9b62b 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -419,7 +419,9 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
 	  (push attrs normal-top-level-add-subdirs-inode-list)
 	  (dolist (file contents)
 	    ;; The lower-case variants of RCS and CVS are for DOS/Windows.
-	    (unless (member file '("." ".." "RCS" "CVS" "rcs" "cvs"))
+	    ;; Skip all dot-files.
+	    (unless (let ((case-fold-search t))
+		      (string-match "^\\(RCS\\|CVS\\|\\..*\\)$" file))
 	      (when (and (string-match "\\`[[:alnum:]]" file)
 			 ;; Avoid doing a `stat' when it isn't necessary
 			 ;; because that can cause trouble when an NFS server
-- 
1.7.2.3