[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/load-dir 30f9f1b 05/12: load-dir: allow ignoring some f
From: |
Stefan Monnier |
Subject: |
[elpa] externals/load-dir 30f9f1b 05/12: load-dir: allow ignoring some files |
Date: |
Sun, 29 Nov 2020 14:31:17 -0500 (EST) |
branch: externals/load-dir
commit 30f9f1b95cade609610998c394f32fbf3f77702b
Author: Ted Zlatanov <tzz@lifelogs.com>
Commit: Ted Zlatanov <tzz@lifelogs.com>
load-dir: allow ignoring some files
* packages/load-dir/load-dir.el: Update copyright.
(load-dir-ignored): New defcustom to ignore regexps;
by default ignores .dir-locals.
(load-dir-one): Use it.
---
load-dir.el | 33 ++++++++++++++++++++++-----------
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/load-dir.el b/load-dir.el
index 71b7dff..704f377 100644
--- a/load-dir.el
+++ b/load-dir.el
@@ -1,11 +1,11 @@
;;; load-dir.el --- Load all Emacs Lisp files in a given directory
-;; Copyright (C) 2011 Free Software Foundation, Inc
+;; Copyright (C) 2011, 2017 Free Software Foundation, Inc
;; Authors: Teodor Zlatanov <tzz@lifelogs.com>,
;; Ben Key <bkey76@gmail.com>
;; With-Help-From: Evans Winner <ego111@gmail.com>, PJ Weisberg
<pj@irregularexpressions.net>
-;; Version: 0.0.3
+;; Version: 0.0.4
;; Keywords: lisp, files, convenience
;; This file is part of GNU Emacs.
@@ -62,6 +62,13 @@
:group 'load-dir
:type 'boolean)
+(defcustom load-dir-ignored '("\\.dir-locals")
+ "This list of regular expressions tells load-dir to ignore some filenames.
+The match is a substring check against the whole filename."
+ :group 'load-dir
+ :tag "Ignore these regexps while loading a directory"
+ :type '(repeat :tag "Filename regexp" string))
+
(defcustom load-dirs nil
"This variable allows you to define which directories should be loaded.
@@ -107,18 +114,22 @@ Clears the list of loaded files and just calls
`load-dir-load'."
Recurses into subdirectories if `load-dir-recursive' is t."
(load-dir-debug "Loading Emacs Lisp code from %s" dir)
(let ((suffixes (get-load-suffixes)))
- (dolist (f (and (file-exists-p dir)
- (file-directory-p dir)
- (directory-files dir t)))
- (when (and (not (file-directory-p f))
- (member (file-name-extension f t) suffixes))
- (setq f (file-name-sans-extension f))
- (if (member f load-dir-loaded)
- (load-dir-debug "Skipping %s, it's already loaded." f)
+ (dolist (full (and (file-exists-p dir)
+ (file-directory-p dir)
+ (directory-files dir t)))
+ (when (and (not (file-directory-p full))
+ (member (file-name-extension full t) suffixes))
+ (setq f (file-name-sans-extension full))
+ (cond
+ ((member f load-dir-loaded)
+ (load-dir-debug "Skipping %s, it's already loaded." f))
+ ((cl-some (lambda (regexp) (string-match-p regexp full))
load-dir-ignored)
+ (load-dir-debug "Ignoring %s as per `load-dir-ignored'." full))
+ (t
(if load-dir-ignore-errors
(with-demoted-errors (load f))
(load f))
- (add-to-list 'load-dir-loaded f))))
+ (add-to-list 'load-dir-loaded f)))))
(when load-dir-recursive
(dolist (f (directory-files dir t directory-files-no-dot-files-regexp))
- [elpa] branch externals/load-dir created (now 0e05b47), Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 843b83a 02/12: epoch-view.el, load-dir.el: Capitalize package description string., Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 4214b44 03/12: * packages/load-dir/load-dir.el (load-dir-one): Avoid infinite recursion., Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 3699a38 04/12: Bump load-dir version number to 0.0.3., Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 30f9f1b 05/12: load-dir: allow ignoring some files,
Stefan Monnier <=
- [elpa] externals/load-dir f765d85 11/12: * copyright_exceptions: Update for new uni-confusables/gen-confusables.el, Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 95c37de 08/12: load-dir: no need for let f, Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir fbc39dc 09/12: * load-dir.el: Add `Maintainer:`., Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 5b00991 01/12: Give every package its own directory in packages/, Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 3e0c117 06/12: * load-dir/load-dir.el (load-dir-one): Don't set global `f`., Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 4c43bae 07/12: load-dir: fix CL and free variable warnings, Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir cbad1ca 10/12: * packages/load-dir/load-dir.el: require just cl-lib 0.5, Stefan Monnier, 2020/11/29
- [elpa] externals/load-dir 0e05b47 12/12: * .gitignore: New file, Stefan Monnier, 2020/11/29