]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/paths.el (Info-default-directory-list): Make it a defcustom.
authorGlenn Morris <rgm@gnu.org>
Sat, 26 May 2012 21:17:06 +0000 (14:17 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 26 May 2012 21:17:06 +0000 (14:17 -0700)
This is mainly so that we can use custom-initialize-delay,
which means we do not have to worry about "unpruned" directories.

lisp/ChangeLog
lisp/paths.el

index 3fffad2f13777eae650b0d1a3bdcadbc3c4b9b11..48cc0ca22ae5bbd49910a4c20009219cd1ea57c1 100644 (file)
@@ -1,3 +1,8 @@
+2012-05-26  Glenn Morris  <rgm@gnu.org>
+
+       * paths.el (Info-default-directory-list): Make it a defcustom,
+       mainly so that we can use custom-initialize-delay.
+
 2012-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * subr.el (buffer-has-markers-at): Mark obsolete.
index 85571ac42bf3a1546217d79d7280a0e42711bd36..4d7e3718be266b4ddbc2d86665b12e75bc78be8c 100644 (file)
 
 ;;; Code:
 
-(defvar Info-default-directory-list
+;; This is a defcustom largely so that we can get the benefit
+;; of custom-initialize-delay.  Perhaps it would work to make it a
+;; defvar and explicitly give it a standard-value property, and
+;; call custom-initialize-delay on it.
+(defcustom Info-default-directory-list
   (let* ((config-dir
          (file-name-as-directory configure-info-directory))
-        (config
-         (list config-dir))
-        (unpruned-prefixes
-         ;; Directory trees that may not exist at installation time, and
-         ;; so shouldn't be pruned based on existence.
-         '("/usr/local/"))
         (prefixes
          ;; Directory trees in which to look for info subdirectories
-         (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/")
-                               unpruned-prefixes))
+         (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/")))
         (suffixes
          ;; Subdirectories in each directory tree that may contain info
-         ;; directories.
+         ;; directories.  Most of these are rather outdated.
+         ;; It ought to be fine to stop checking the "emacs" ones now,
+         ;; since this is Emacs and we have not installed info files
+         ;; into such directories for a looong time...
          '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/"
            "emacs/" "lib/" "lib/emacs/"))
         (standard-info-dirs
                                  (mapcar (lambda (sfx)
                                            (concat pfx sfx "info/"))
                                          suffixes)))
-                            (if (member pfx unpruned-prefixes)
-                                dirs
-                              (prune-directory-list dirs config))))
+                            (prune-directory-list dirs)))
                         prefixes))))
     ;; If $(prefix)/share/info is not one of the standard info
     ;; directories, they are probably installing an experimental
     ;; version of Emacs, so make sure that experimental version's Info
     ;; files override the ones in standard directories.
     (if (member config-dir standard-info-dirs)
-       (nconc standard-info-dirs config)
+       ;; FIXME?  What is the point of adding it again at the end
+       ;; when it is already present earlier in the list?
+       (nconc standard-info-dirs (list config-dir))
       (cons config-dir standard-info-dirs)))
   "Default list of directories to search for Info documentation files.
 They are searched in the order they are given in the list.
@@ -79,7 +79,14 @@ Once Info is started, the list of directories to search
 comes from the variable `Info-directory-list'.
 This variable `Info-default-directory-list' is used as the default
 for initializing `Info-directory-list' when Info is started, unless
-the environment variable INFOPATH is set.")
+the environment variable INFOPATH is set.
+
+Although this is a customizable variable, that is mainly for technical
+reasons.  Normally, you should either set INFOPATH or customize
+`Info-additional-directory-list', rather than changing this variable."
+  :initialize 'custom-initialize-delay
+  :type '(repeat directory)
+  :group 'info)
 
 
 ;;; paths.el ends here