Mercurial > hg > xemacs-beta
annotate lisp/setup-paths.el @ 5940:c608d4b0b75e cygwin64 tip
rescue lost branch from 64bit.backup
author | Henry Thompson <ht@markup.co.uk> |
---|---|
date | Thu, 16 Dec 2021 18:48:58 +0000 |
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 |