Mercurial > hg > xemacs-beta
annotate lisp/setup-paths.el @ 5753:dbd8305e13cb
Warn about non-string non-integer ARG to #'gensym, bytecomp.el.
lisp/ChangeLog addition:
2013-08-21 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
* bytecomp.el (gensym):
* bytecomp.el (byte-compile-gensym): New.
Warn that gensym called in a for-effect context is unlikely to be
useful.
Warn about non-string non-integer ARGs, this is incorrect.
Am not changing the function to error with same, most code that
makes the mistake is has no problems, which is why it has survived
so long.
* window-xemacs.el (save-window-excursion/mapping):
* window.el (save-window-excursion):
Call #'gensym with a string, not a symbol.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 21 Aug 2013 19:02:59 +0100 |
parents | 308d34e9f07d |
children | bbe4146603db |
rev | line source |
---|---|
428 | 1 ;;; setup-paths.el --- setup various XEmacs paths |
2 | |
3 ;; Copyright (C) 1985-1986, 1990, 1992-1997 Free Software Foundation, Inc. | |
4 ;; Copyright (c) 1993, 1994 Sun Microsystems, Inc. | |
5 ;; Copyright (C) 1995 Board of Trustees, University of Illinois | |
1330 | 6 ;; Copyright (C) 2003 Ben Wing. |
428 | 7 |
2456 | 8 ;; Author: Mike Sperber <mike@xemacs.orgx> |
428 | 9 ;; Maintainer: XEmacs Development Team |
10 ;; Keywords: internal, dumped | |
11 | |
12 ;; This file is part of XEmacs. | |
13 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
14 ;; XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
15 ;; under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
16 ;; Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
17 ;; option) any later version. |
428 | 18 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
19 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
20 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
21 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
22 ;; for more details. |
428 | 23 |
24 ;; You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5115
diff
changeset
|
25 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
428 | 26 |
27 ;;; Synched up with: Not in FSF. | |
28 | |
29 ;;; Commentary: | |
30 | |
31 ;; This file is dumped with XEmacs. | |
32 | |
776 | 33 ;; This file contains functions and variables that describe and construct |
34 ;; the various paths into the XEmacs hierarchy from a global viewpoint. | |
2456 | 35 |
36 ;; This file doesn't actually set any global variable, and doesn't | |
37 ;; contain any state---it just contains the functionality for | |
38 ;; searching directories and constructing paths. | |
428 | 39 |
40 ;; It requires find-paths.el and packages.el. | |
1330 | 41 |
42 ;;; Code: | |
43 | |
44 ;(setq debug-paths t) | |
45 | |
428 | 46 |
460 | 47 (defvar paths-core-load-path-depth 0 |
428 | 48 "Depth of load-path searches in core Lisp paths.") |
49 | |
452 | 50 (defvar paths-site-load-path-depth 1 |
51 "Depth of load-path searches in site Lisp paths.") | |
52 | |
460 | 53 (defvar paths-mule-load-path-depth 0 |
54 "Depth of load-path searches in Mule Lisp paths.") | |
55 | |
3813 | 56 (defvar paths-module-load-path-depth 1 |
57 "Depth of load-path searches in module paths.") | |
58 | |
428 | 59 (defvar paths-default-info-directories |
60 (mapcar (function | |
61 (lambda (dirlist) | |
62 (paths-construct-path | |
63 dirlist (char-to-string directory-sep-char)))) | |
64 '(("usr" "local" "info") | |
65 ("usr" "info") | |
66 ("usr" "local" "share" "info") | |
67 ("usr" "share" "info"))) | |
68 "Directories appended to the end of the info path by default.") | |
69 | |
1330 | 70 |
71 ;;; Basic utility functions. | |
72 | |
73 (defun paths-emacs-root-p (directory) | |
74 "Check if DIRECTORY is a plausible installation root." | |
75 (or | |
76 ;; installed | |
77 (paths-file-readable-directory-p (paths-construct-path (list directory | |
78 "lib" | |
79 (construct-emacs-version-name)))) | |
80 ;; in-place or windows-nt. windows-nt equivalent of --srcdir is | |
81 ;; BUILD_DIR in config.inc, and has no lisp/ or etc/ since symlinks | |
82 ;; don't exist. instead, xemacs.mak points configure-lisp-directory and | |
83 ;; configure-data-directory at the right places. | |
84 (and | |
1526 | 85 (or configure-exec-directory (paths-file-readable-directory-p (paths-construct-path (list directory "lib-src"))) (eq system-type 'windows-nt)) |
1330 | 86 (or configure-lisp-directory (paths-file-readable-directory-p (paths-construct-path (list directory "lisp")))) |
87 (or configure-data-directory (paths-file-readable-directory-p (paths-construct-path (list directory "etc"))))))) | |
88 | |
89 (defun paths-emacs-data-root-p (directory) | |
90 "Check if DIRECTORY is a plausible data installation root. | |
91 A data installation root is one containing data files that may be shared | |
2456 | 92 among multiple different versions of XEmacs, the packages in particular. |
93 This serves as an additional filter to narrow down the list of plausible | |
94 installation roots." | |
1330 | 95 (or |
96 ;; installed | |
97 (paths-file-readable-directory-p (paths-construct-path (list directory | |
4154 | 98 "share" |
1330 | 99 emacs-program-name))) |
100 (paths-file-readable-directory-p (paths-construct-path (list directory | |
4154 | 101 "share" |
1330 | 102 (construct-emacs-version-name)))) |
103 ;; in-place or windows-nt | |
104 (and | |
105 (paths-file-readable-directory-p (paths-construct-path (list directory "lisp"))) | |
3281 | 106 (paths-file-readable-directory-p (paths-construct-path (list directory "etc")))) |
1330 | 107 |
3281 | 108 ;; searching for a package directory |
109 (and | |
110 (string-match "win32" system-configuration) | |
111 (paths-file-readable-directory-p (paths-construct-path (list directory | |
112 "xemacs-packages")))))) | |
113 | |
114 (defun paths-find-invocation-roots (invocation-directory invocation-name root-p) | |
115 "Find the list of run-time roots of XEmacs. | |
2456 | 116 INVOCATION-DIRECTORY is a directory containing the XEmacs executable. |
3281 | 117 INVOCATION-NAME is the name of the executable itself |
118 ROOT-P is a function that tests whether a root is plausible." | |
1330 | 119 (let* ((executable-file-name (paths-chase-symlink |
120 (concat invocation-directory | |
121 invocation-name))) | |
122 (executable-directory (file-name-directory executable-file-name)) | |
123 (maybe-root-1 (file-name-as-directory | |
124 (paths-construct-path '("..") executable-directory))) | |
125 (maybe-root-2 (file-name-as-directory | |
126 (paths-construct-path '(".." "..") executable-directory)))) | |
3281 | 127 |
4919
9c6ea1581159
Remove a couple of XEmacs-specific duplicate functions, find-paths.el
Aidan Kehoe <kehoea@parhasard.net>
parents:
4154
diff
changeset
|
128 (delete-if-not root-p (list maybe-root-1 maybe-root-2)))) |
1330 | 129 |
2456 | 130 (defun paths-find-emacs-roots (invocation-directory |
131 invocation-name | |
132 root-p) | |
1330 | 133 "Find all plausible installation roots for XEmacs. |
134 This is a list of plausible directories in which to search for the important | |
135 directories used by XEmacs at run-time, for example `exec-directory', | |
136 `data-directory' and `lisp-directory'. | |
137 ROOT-P is a function that tests whether a root is plausible." | |
3281 | 138 (let* ((invocation-roots |
139 (paths-find-invocation-roots invocation-directory | |
140 invocation-name | |
141 root-p)) | |
1330 | 142 (potential-installation-roots |
5003
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
143 (delete-duplicates |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
144 (append |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
145 (and configure-exec-prefix-directory |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
146 (list (file-name-as-directory |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
147 configure-exec-prefix-directory))) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
148 (and configure-prefix-directory |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
149 (list (file-name-as-directory |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
150 configure-prefix-directory)))) |
5115
54700d784be9
Correct the #'delete-duplicates calls, setup-paths.el
Aidan Kehoe <kehoea@parhasard.net>
parents:
5003
diff
changeset
|
151 :test #'equal :from-end t)) |
1330 | 152 (installation-roots |
4919
9c6ea1581159
Remove a couple of XEmacs-specific duplicate functions, find-paths.el
Aidan Kehoe <kehoea@parhasard.net>
parents:
4154
diff
changeset
|
153 (remove-if-not root-p potential-installation-roots))) |
5003
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
154 (delete-duplicates (nconc invocation-roots installation-roots) |
5115
54700d784be9
Correct the #'delete-duplicates calls, setup-paths.el
Aidan Kehoe <kehoea@parhasard.net>
parents:
5003
diff
changeset
|
155 :test #'equal :from-end t))) |
1330 | 156 |
428 | 157 (defun paths-find-site-lisp-directory (roots) |
2456 | 158 "Find the site Lisp directory of the XEmacs hierarchy. |
159 ROOTS is a list of installation roots." | |
4108 | 160 (paths-find-site-directory roots (list "site-lisp") |
4092 | 161 nil nil |
428 | 162 configure-site-directory)) |
163 | |
164 (defun paths-find-site-module-directory (roots) | |
2456 | 165 "Find the site modules directory of the XEmacs hierarchy. |
166 ROOTS is a list of installation roots." | |
4108 | 167 (paths-find-site-directory roots (list "site-modules") |
4092 | 168 t nil |
428 | 169 configure-site-module-directory)) |
170 | |
171 (defun paths-find-lisp-directory (roots) | |
2456 | 172 "Find the main Lisp directory of the XEmacs hierarchy. |
173 ROOTS is a list of installation roots." | |
4108 | 174 (paths-find-version-directory roots (list "lisp") |
4092 | 175 nil nil |
428 | 176 configure-lisp-directory)) |
177 | |
460 | 178 (defun paths-find-mule-lisp-directory (roots &optional lisp-directory) |
2456 | 179 "Find the Mule Lisp directory of the XEmacs hierarchy. |
180 ROOTS is a list of installation roots." | |
460 | 181 ;; #### kludge |
182 (if lisp-directory | |
183 (let ((guess | |
184 (file-name-as-directory | |
185 (paths-construct-path (list lisp-directory "mule"))))) | |
186 (if (paths-file-readable-directory-p guess) | |
187 guess | |
4108 | 188 (paths-find-version-directory roots (list "mule-lisp") |
4092 | 189 nil nil |
460 | 190 configure-mule-lisp-directory))))) |
191 | |
428 | 192 (defun paths-find-module-directory (roots) |
2456 | 193 "Find the main modules directory of the XEmacs hierarchy. |
194 ROOTS is a list of installation roots." | |
4108 | 195 (paths-find-architecture-directory roots (list "modules") |
428 | 196 nil configure-module-directory)) |
197 | |
198 (defun paths-construct-load-path | |
199 (roots early-package-load-path late-package-load-path last-package-load-path | |
200 lisp-directory | |
460 | 201 &optional site-lisp-directory mule-lisp-directory) |
2456 | 202 "Construct the complete load path. |
203 ROOTS is the list of installation roots. | |
204 EARLY-PACKAGE-LOAD-PATH, LATE-PACKAGE-LOAD-PATH, and LAST-PACKAGE-LOAD-PATH | |
205 are the load paths for the package hierarchies. | |
206 SITE-LISP-DIRECTORY and MULE-LISP-DIRECTORY are optional directories to be | |
207 included in the load path---SITE-LISP-DIRECTORY for the obsolete site-specific | |
208 Lisp files, and MULE-LISP-DIRECTORY for the Mule Lisp files, which exist | |
209 only in Mule installations." | |
428 | 210 (let* ((envvar-value (getenv "EMACSLOADPATH")) |
211 (env-load-path | |
212 (and envvar-value | |
213 (paths-decode-directory-path envvar-value 'drop-empties))) | |
214 (site-lisp-load-path | |
215 (and site-lisp-directory | |
216 (paths-find-recursive-load-path (list site-lisp-directory) | |
452 | 217 paths-site-load-path-depth))) |
460 | 218 (mule-lisp-load-path |
219 (and mule-lisp-directory | |
220 (paths-find-recursive-load-path (list mule-lisp-directory) | |
221 paths-mule-load-path-depth))) | |
428 | 222 (lisp-load-path |
223 (and lisp-directory | |
224 (paths-find-recursive-load-path (list lisp-directory) | |
452 | 225 paths-core-load-path-depth)))) |
428 | 226 (append env-load-path |
227 early-package-load-path | |
228 site-lisp-load-path | |
229 late-package-load-path | |
460 | 230 mule-lisp-load-path |
428 | 231 lisp-load-path |
232 last-package-load-path))) | |
233 | |
234 (defun paths-construct-module-load-path | |
235 (root module-directory &optional site-module-directory) | |
236 "Construct the modules load path." | |
237 (let* ((envvar-value (getenv "EMACSMODULEPATH")) | |
238 (env-module-path | |
239 (and envvar-value | |
240 (paths-decode-directory-path envvar-value 'drop-empties))) | |
241 (site-module-load-path | |
242 (and site-module-directory | |
243 (paths-find-recursive-load-path (list site-module-directory) | |
452 | 244 paths-site-load-path-depth))) |
428 | 245 (module-load-path |
246 (and module-directory | |
247 (paths-find-recursive-load-path (list module-directory) | |
3813 | 248 paths-module-load-path-depth)))) |
2456 | 249 (append env-module-path |
428 | 250 site-module-load-path |
251 module-load-path))) | |
252 | |
2456 | 253 (defun paths-construct-info-path (roots |
254 early-package-hierarchies | |
255 late-package-hierarchies | |
256 last-package-hierarchies) | |
257 "Construct the info path. | |
258 ROOTS is the list of installation roots. | |
259 EARLY-PACKAGE-HIERARCHIES, LATE-PACKAGE-HIERARCHIES, and | |
260 LAST-PACKAGE-HIERARCHIES are lists of package hierarchy roots, | |
261 respectively." | |
428 | 262 (let ((info-path-envval (getenv "INFOPATH"))) |
5003
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
263 (delete-duplicates |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
264 (nconc |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
265 (append |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
266 (let ((info-directory |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
267 (paths-find-version-directory roots (list "info") |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
268 nil nil |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
269 configure-info-directory))) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
270 (and info-directory |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
271 (list info-directory))) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
272 (packages-find-package-info-path early-package-hierarchies) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
273 (packages-find-package-info-path late-package-hierarchies) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
274 (packages-find-package-info-path last-package-hierarchies) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
275 (and info-path-envval |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
276 (paths-decode-directory-path info-path-envval 'drop-empties))) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
277 (and (null info-path-envval) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
278 (delete-duplicates |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
279 (nconc |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
280 (paths-directories-which-exist configure-info-path) |
6b6b0f8ab749
#'union doesn't preserve relative order; use #'delete-duplicates instead.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4919
diff
changeset
|
281 (paths-directories-which-exist paths-default-info-directories)) |
5115
54700d784be9
Correct the #'delete-duplicates calls, setup-paths.el
Aidan Kehoe <kehoea@parhasard.net>
parents:
5003
diff
changeset
|
282 :test #'equal :from-end t))) |
54700d784be9
Correct the #'delete-duplicates calls, setup-paths.el
Aidan Kehoe <kehoea@parhasard.net>
parents:
5003
diff
changeset
|
283 :test #'equal :from-end t))) |
428 | 284 |
285 (defun paths-find-doc-directory (roots) | |
2456 | 286 "Find the documentation directory. |
287 ROOTS is the list of installation roots." | |
4108 | 288 (paths-find-architecture-directory roots (list "lib-src") nil configure-doc-directory)) |
428 | 289 |
290 (defun paths-find-exec-directory (roots) | |
2456 | 291 "Find the binary directory. |
292 ROOTS is the list of installation roots." | |
4108 | 293 (paths-find-architecture-directory roots (list "lib-src") |
428 | 294 nil configure-exec-directory)) |
295 | |
296 (defun paths-construct-exec-path (roots exec-directory | |
2456 | 297 early-package-hierarchies |
298 late-package-hierarchies | |
299 last-package-hierarchies) | |
300 "Find the binary path. | |
301 ROOTS is the list of installation roots. | |
302 EARLY-PACKAGE-HIERARCHIES, LATE-PACKAGE-HIERARCHIES, and | |
303 LAST-PACKAGE-HIERARCHIES are lists of package hierarchy roots, | |
304 respectively. | |
305 EXEC-DIRECTORY is the directory of architecture-dependent files that | |
306 come with XEmacs. | |
307 EARLY-PACKAGES, LATE-PACKAGES, and LAST-PACKAGES are lists of | |
308 package hierarchy roots, respectively." | |
428 | 309 (append |
310 (let ((path-envval (getenv "PATH"))) | |
311 (if path-envval | |
312 (paths-decode-directory-path path-envval 'drop-empties))) | |
2456 | 313 (packages-find-package-exec-path early-package-hierarchies) |
314 (packages-find-package-exec-path late-package-hierarchies) | |
428 | 315 (let ((emacspath-envval (getenv "EMACSPATH"))) |
316 (and emacspath-envval | |
317 (split-path emacspath-envval))) | |
318 (and exec-directory | |
319 (list exec-directory)) | |
2456 | 320 (packages-find-package-exec-path last-package-hierarchies))) |
428 | 321 |
322 (defun paths-find-data-directory (roots) | |
2456 | 323 "Find the data directory. |
324 ROOTS is the list of installation roots." | |
4108 | 325 (paths-find-version-directory roots (list "etc") nil "EMACSDATA" configure-data-directory)) |
428 | 326 |
327 (defun paths-construct-data-directory-list (data-directory | |
2456 | 328 early-package-hierarchies |
329 late-package-hierarchies | |
330 last-package-hierarchies) | |
331 "Construct the data path. | |
332 DATA-DIRECTORY is the data directory of the XEmacs installation. | |
333 EARLY-PACKAGE-HIERARCHIES, LATE-PACKAGE-HIERARCHIES, and | |
334 LAST-PACKAGE-HIERARCHIES are lists of package hierarchy roots, | |
335 respectively." | |
428 | 336 (append |
2456 | 337 (packages-find-package-data-path early-package-hierarchies) |
338 (packages-find-package-data-path late-package-hierarchies) | |
428 | 339 (list data-directory) |
2456 | 340 (packages-find-package-data-path last-package-hierarchies))) |
1330 | 341 |
428 | 342 ;;; setup-paths.el ends here |