;;; Code:
\f
-(defgroup shadow nil
+(defgroup lisp-shadow nil
"Locate Emacs Lisp file shadowings."
:prefix "shadows-"
:group 'lisp)
"*If non-nil, then shadowing files are reported only if their text differs.
This is slower, but filters out some innocuous shadowing."
:type 'boolean
- :group 'shadow)
+ :group 'lisp-shadow)
(defun find-emacs-lisp-shadows (&optional path)
"Return a list of Emacs Lisp files that create shadows.
are stripped from the file names in the list.
See the documentation for `list-load-path-shadows' for further information."
-
+
(or path (setq path load-path))
(let (true-names ; List of dirs considered.
files-seen-this-dir ; Files seen so far in this dir.
file) ; The current file.
-
+
(while path
(setq dir (directory-file-name (file-truename (or (car path) "."))))
;; This test prevents us declaring that XXX.el shadows
;; XXX.elc (or vice-versa) when they are in the same directory.
(setq files-seen-this-dir (cons file files-seen-this-dir))
-
+
(if (setq orig-dir (assoc file files))
;; This file was seen before, we have a shadowing.
;; Report it unless the files are identical.
When run interactively, the shadowings \(if any\) are displayed in a
buffer called `*Shadows*'. Shadowings are located by calling the
\(non-interactive\) companion function, `find-emacs-lisp-shadows'."
-
+
(interactive)
(let* ((path (copy-sequence load-path))
(tem path)