Skip to content
Snippets Groups Projects
Commit d7a5bc7b authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Enhance uiop:lisp-implementation-directory

Make it support more platforms.
parent 540b7b94
No related branches found
No related tags found
No related merge requests found
......@@ -544,15 +544,20 @@ NILs."
(defun lisp-implementation-directory (&key truename)
"Where are the system files of the current installation of the CL implementation?"
(declare (ignorable truename))
#+(or clasp clozure ecl gcl mkcl sbcl)
(let ((dir
(ignore-errors
#+abcl extensions:*lisp-home*
#+(or allegro clasp ecl mkcl) #p"SYS:"
#+clisp custom:*lib-directory*
#+clozure #p"ccl:"
#+(or clasp ecl mkcl) #p"SYS:"
#+cmu (pathname-parent-directory-pathname (truename #p"modules:"))
#+gcl system::*system-directory*
#+lispworks lispworks:*lispworks-directory*
#+sbcl (if-let (it (find-symbol* :sbcl-homedir-pathname :sb-int nil))
(funcall it)
(getenv-pathname "SBCL_HOME" :ensure-directory t)))))
(getenv-pathname "SBCL_HOME" :ensure-directory t))
#+scl (pathname-parent-directory-pathname (truename #p"file://modules/"))
#+xcl ext:*xcl-home*)))
(if (and dir truename)
(truename* dir)
dir)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment