annotate lisp/setup-paths.el @ 931:3508e2f71814

[xemacs-hg @ 2002-07-24 04:46:29 by andyp] gutter enhancement
author andyp
date Wed, 24 Jul 2002 04:46:29 +0000
parents 79940b592197
children 4542b72c005e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 ;;; setup-paths.el --- setup various XEmacs paths
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ;; Copyright (C) 1985-1986, 1990, 1992-1997 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ;; Copyright (c) 1993, 1994 Sun Microsystems, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ;; Copyright (C) 1995 Board of Trustees, University of Illinois
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 ;; Author: Mike Sperber <sperber@informatik.uni-tuebingen.de>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ;; Maintainer: XEmacs Development Team
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 ;; Keywords: internal, dumped
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ;; XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 ;; along with XEmacs; see the file COPYING. If not, write to the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ;; Free Software Foundation, 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 ;; Boston, MA 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 ;;; Synched up with: Not in FSF.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 ;; This file is dumped with XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33
776
79940b592197 [xemacs-hg @ 2002-03-15 07:43:14 by ben]
ben
parents: 460
diff changeset
34 ;; This file contains functions and variables that describe and construct
79940b592197 [xemacs-hg @ 2002-03-15 07:43:14 by ben]
ben
parents: 460
diff changeset
35 ;; the various paths into the XEmacs hierarchy from a global viewpoint.
79940b592197 [xemacs-hg @ 2002-03-15 07:43:14 by ben]
ben
parents: 460
diff changeset
36 ;; This file doesn't actually do anything.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 ;; It requires find-paths.el and packages.el.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
42 (defvar paths-core-load-path-depth 0
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 "Depth of load-path searches in core Lisp paths.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
45 (defvar paths-site-load-path-depth 1
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
46 "Depth of load-path searches in site Lisp paths.")
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
47
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
48 (defvar paths-mule-load-path-depth 0
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
49 "Depth of load-path searches in Mule Lisp paths.")
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
50
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 (defvar paths-default-info-directories
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 (mapcar (function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 (lambda (dirlist)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 (paths-construct-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 dirlist (char-to-string directory-sep-char))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 '(("usr" "local" "info")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 ("usr" "info")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 ("usr" "local" "share" "info")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 ("usr" "share" "info")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 "Directories appended to the end of the info path by default.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 (defun paths-find-site-lisp-directory (roots)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 "Find the site Lisp directory of the XEmacs hierarchy."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 (paths-find-site-directory roots "site-lisp"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 configure-site-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 (defun paths-find-site-module-directory (roots)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 "Find the site modules directory of the XEmacs hierarchy."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 (paths-find-site-directory roots "site-modules"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 configure-site-module-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 (defun paths-find-lisp-directory (roots)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 "Find the main Lisp directory of the XEmacs hierarchy."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 (paths-find-version-directory roots "lisp"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 configure-lisp-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
80 (defun paths-find-mule-lisp-directory (roots &optional lisp-directory)
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
81 "Find the Mule Lisp directory of the XEmacs hierarchy."
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
82 ;; #### kludge
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
83 (if lisp-directory
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
84 (let ((guess
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
85 (file-name-as-directory
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
86 (paths-construct-path (list lisp-directory "mule")))))
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
87 (if (paths-file-readable-directory-p guess)
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
88 guess
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
89 (paths-find-version-directory roots "mule-lisp"
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
90 nil
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
91 configure-mule-lisp-directory)))))
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
92
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 (defun paths-find-module-directory (roots)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 "Find the main modules directory of the XEmacs hierarchy."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 (paths-find-architecture-directory roots "modules"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 nil configure-module-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 (defun paths-construct-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 (roots early-package-load-path late-package-load-path last-package-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 lisp-directory
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
101 &optional site-lisp-directory mule-lisp-directory)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 "Construct the load path."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 (let* ((envvar-value (getenv "EMACSLOADPATH"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 (env-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 (and envvar-value
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 (paths-decode-directory-path envvar-value 'drop-empties)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 (site-lisp-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 (and site-lisp-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 (paths-find-recursive-load-path (list site-lisp-directory)
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
110 paths-site-load-path-depth)))
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
111 (mule-lisp-load-path
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
112 (and mule-lisp-directory
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
113 (paths-find-recursive-load-path (list mule-lisp-directory)
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
114 paths-mule-load-path-depth)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 (lisp-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 (and lisp-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 (paths-find-recursive-load-path (list lisp-directory)
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
118 paths-core-load-path-depth))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 (append env-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 early-package-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 site-lisp-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 late-package-load-path
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 452
diff changeset
123 mule-lisp-load-path
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 lisp-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 last-package-load-path)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 (defun paths-construct-module-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 (root module-directory &optional site-module-directory)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 "Construct the modules load path."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 (let* ((envvar-value (getenv "EMACSMODULEPATH"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 (env-module-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 (and envvar-value
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 (paths-decode-directory-path envvar-value 'drop-empties)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 (site-module-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 (and site-module-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 (paths-find-recursive-load-path (list site-module-directory)
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
137 paths-site-load-path-depth)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 (module-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 (and module-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 (paths-find-recursive-load-path (list module-directory)
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
141 paths-core-load-path-depth))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 (append env-module-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 site-module-load-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 module-load-path)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 (defun paths-construct-info-path (roots early-packages late-packages last-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 "Construct the info path."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 (let ((info-path-envval (getenv "INFOPATH")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 (paths-uniq-append
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 (append
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 (let ((info-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 (paths-find-version-directory roots "info"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 configure-info-directory)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 (and info-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 (list info-directory)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 (packages-find-package-info-path early-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 (packages-find-package-info-path late-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 (packages-find-package-info-path last-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 (and info-path-envval
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 (paths-decode-directory-path info-path-envval 'drop-empties)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 (and (null info-path-envval)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 (paths-uniq-append
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 (paths-directories-which-exist configure-info-path)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 (paths-directories-which-exist paths-default-info-directories))))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 (defun paths-find-doc-directory (roots)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 "Find the documentation directory."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 (paths-find-architecture-directory roots "lib-src" nil configure-doc-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 (defun paths-find-exec-directory (roots)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 "Find the binary directory."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 (paths-find-architecture-directory roots "lib-src"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 nil configure-exec-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 (defun paths-construct-exec-path (roots exec-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 early-packages late-packages last-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 "Find the binary path."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 (append
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 (let ((path-envval (getenv "PATH")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 (if path-envval
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 (paths-decode-directory-path path-envval 'drop-empties)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 (packages-find-package-exec-path early-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 (packages-find-package-exec-path late-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 (let ((emacspath-envval (getenv "EMACSPATH")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 (and emacspath-envval
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 (split-path emacspath-envval)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 (and exec-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 (list exec-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 (packages-find-package-exec-path last-packages)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 (defun paths-find-data-directory (roots)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 "Find the data directory."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 (paths-find-version-directory roots "etc" "EMACSDATA" configure-data-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 (defun paths-construct-data-directory-list (data-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 early-packages late-packages last-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 "Find the data path."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 (append
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 (packages-find-package-data-path early-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 (packages-find-package-data-path late-packages)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 (list data-directory)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 (packages-find-package-data-path last-packages)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 ;;; setup-paths.el ends here