X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fsetup-paths.el;h=7ad409b81d20a9e66961f17184747bed8ec7bd18;hb=4f413e8a500dfe2e143224afce103ad9a2ab78d4;hp=f26dad89d740e45faacf2490c3cc248622b75fe0;hpb=76759ab036458c54499a454399e19602b8ae6ce3;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/setup-paths.el b/lisp/setup-paths.el index f26dad8..7ad409b 100644 --- a/lisp/setup-paths.el +++ b/lisp/setup-paths.el @@ -38,9 +38,18 @@ ;;; Code: -(defvar paths-load-path-depth 1 +(defvar paths-core-load-path-depth 0 "Depth of load-path searches in core Lisp paths.") +(defvar paths-site-load-path-depth 1 + "Depth of load-path searches in site Lisp paths.") + +(defvar paths-mule-load-path-depth 0 + "Depth of load-path searches in Mule Lisp paths.") + +(defvar paths-utf-2000-load-path-depth 0 + "Depth of load-path searches in UTF-2000 Lisp paths.") + (defvar paths-default-info-directories (mapcar (function (lambda (dirlist) @@ -70,6 +79,32 @@ nil configure-lisp-directory)) +(defun paths-find-mule-lisp-directory (roots &optional lisp-directory) + "Find the Mule Lisp directory of the XEmacs hierarchy." + ;; #### kludge + (if lisp-directory + (let ((guess + (file-name-as-directory + (paths-construct-path (list lisp-directory "mule"))))) + (if (paths-file-readable-directory-p guess) + guess + (paths-find-version-directory roots "mule-lisp" + nil + configure-mule-lisp-directory))))) + +(defun paths-find-utf-2000-lisp-directory (roots &optional lisp-directory) + "Find the UTF-2000 Lisp directory of the XEmacs hierarchy." + ;; #### kludge + (if lisp-directory + (let ((guess + (file-name-as-directory + (paths-construct-path (list lisp-directory "utf-2000"))))) + (if (paths-file-readable-directory-p guess) + guess + (paths-find-version-directory roots "utf-2000-lisp" + nil + configure-utf-2000-lisp-directory))))) + (defun paths-find-module-directory (roots) "Find the main modules directory of the XEmacs hierarchy." (paths-find-architecture-directory roots "modules" @@ -78,7 +113,8 @@ (defun paths-construct-load-path (roots early-package-load-path late-package-load-path last-package-load-path lisp-directory - &optional site-lisp-directory) + &optional site-lisp-directory mule-lisp-directory + utf-2000-lisp-directory) "Construct the load path." (let* ((envvar-value (getenv "EMACSLOADPATH")) (env-load-path @@ -87,15 +123,25 @@ (site-lisp-load-path (and site-lisp-directory (paths-find-recursive-load-path (list site-lisp-directory) - paths-load-path-depth))) + paths-site-load-path-depth))) + (mule-lisp-load-path + (and mule-lisp-directory + (paths-find-recursive-load-path (list mule-lisp-directory) + paths-mule-load-path-depth))) + (utf-2000-lisp-load-path + (and utf-2000-lisp-directory + (paths-find-recursive-load-path (list utf-2000-lisp-directory) + paths-utf-2000-load-path-depth))) (lisp-load-path (and lisp-directory (paths-find-recursive-load-path (list lisp-directory) - paths-load-path-depth)))) + paths-core-load-path-depth)))) (append env-load-path early-package-load-path site-lisp-load-path late-package-load-path + utf-2000-lisp-load-path + mule-lisp-load-path lisp-load-path last-package-load-path))) @@ -109,11 +155,11 @@ (site-module-load-path (and site-module-directory (paths-find-recursive-load-path (list site-module-directory) - paths-load-path-depth))) + paths-site-load-path-depth))) (module-load-path (and module-directory (paths-find-recursive-load-path (list module-directory) - paths-load-path-depth)))) + paths-core-load-path-depth)))) (append env-module-path site-module-load-path module-load-path)))