From eb7afdaddc286b57253cf0cd643b2ea594fb130c Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 26 May 2012 14:23:28 -0700 Subject: [PATCH] Don't mess with INFOPATH in ns builds It's not necessary, and would break if INFOPATH was already set (bug#2791). Ref also http://lists.gnu.org/archive/html/emacs-devel/2009-05/msg00035.html http://lists.gnu.org/archive/html/emacs-devel/2005-06/msg00064.html * lisp/paths.el (Info-default-directory-list): * lisp/info.el (info-initialize): For self-contained NS builds, put the included info/ directory at the front. * src/nsterm.m (ns_init_paths): Don't mess with INFOPATH. --- lisp/ChangeLog | 4 ++++ lisp/info.el | 14 +++++++++++++- lisp/paths.el | 7 ++++++- src/ChangeLog | 4 ++++ src/nsterm.m | 10 ---------- 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 48cc0ca22ae..918048ce62f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2012-05-26 Glenn Morris + * paths.el (Info-default-directory-list): + * info.el (info-initialize): For self-contained NS builds, put the + included info/ directory at the front. (Bug#2791) + * paths.el (Info-default-directory-list): Make it a defcustom, mainly so that we can use custom-initialize-delay. diff --git a/lisp/info.el b/lisp/info.el index 367d9d0a9ef..93523c4c16f 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -618,7 +618,19 @@ in `Info-file-supports-index-cookies-list'." (append (split-string (substring path 0 -1) sep) (Info-default-dirs)) (split-string path sep)) - (Info-default-dirs))))))) + (Info-default-dirs)))) + ;; For a self-contained (ie relocatable) NS build, AFAICS we + ;; always want the included info directory to be at the head of + ;; the search path, unless it's already in INFOPATH somewhere. + ;; It's at the head of Info-default-directory-list, + ;; but there's no way to get it at the head of Info-directory-list + ;; except by doing it here. + (and path + (featurep 'ns) + (let ((dir (expand-file-name "../info" data-directory))) + (and (file-directory-p dir) + (not (member dir (split-string path ":" t))) + (push dir Info-directory-list))))))) ;;;###autoload (defun info-other-window (&optional file-or-node) diff --git a/lisp/paths.el b/lisp/paths.el index 4d7e3718be2..a0d5cc7775d 100644 --- a/lisp/paths.el +++ b/lisp/paths.el @@ -37,7 +37,12 @@ ;; call custom-initialize-delay on it. (defcustom Info-default-directory-list (let* ((config-dir - (file-name-as-directory configure-info-directory)) + (file-name-as-directory + ;; Self-contained NS build with info/ in the app-bundle. + (or (and (featurep 'ns) + (let ((dir (expand-file-name "../info" data-directory))) + (if (file-directory-p dir) dir))) + configure-info-directory))) (prefixes ;; Directory trees in which to look for info subdirectories (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/"))) diff --git a/src/ChangeLog b/src/ChangeLog index c71ea45dded..bea9b4fbc47 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-05-26 Glenn Morris + + * nsterm.m (ns_init_paths): Don't mess with INFOPATH. (Bug#2791) + 2012-05-26 Eli Zaretskii Extend mouse support on W32 text-mode console. diff --git a/src/nsterm.m b/src/nsterm.m index 4b8b2bb4820..8bd2bb283b2 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -379,16 +379,6 @@ ns_init_paths (void) setenv ("EMACSDOC", [resourcePath UTF8String], 1); } } - - if (!getenv ("INFOPATH")) - { - resourcePath = [resourceDir stringByAppendingPathComponent: @"info"]; - if ([fileManager fileExistsAtPath: resourcePath isDirectory: &isDir]) - if (isDir) - setenv ("INFOPATH", [[resourcePath stringByAppendingString: @":"] - UTF8String], 1); - /* Note, extra colon needed to cause merge w/later user additions. */ - } } -- 2.39.2