dot/lisp-init.lisp: Refactor setting of `HOME:'.
[profile] / dot / lisp-init.lisp
index aae544a..9defa8c 100644 (file)
          `(("SYS:SRC;**;*.*.*" ,(#2# "src/**/*.*"))
            ("SYS:CONTRIB;**;*.*.*" ,(#2# "contrib/**/*.*"))))))
 
+;; Tell some Lisps about my home directory.
 #+sbcl (require :sb-posix)
+#+cmu (ext:clear-search-list "HOME")
 #+(and unix (or sbcl clisp cmu))
-(let ((#1=#:home (pathname (concatenate 'string
-                                       (or #+sbcl (sb-posix:getenv "HOME")
-                                           #+clisp (ext:getent "HOME")
-                                           #+cmu (unix:unix-getenv "HOME")
-                                           "/home/mdw")
-                                       "/"))))
+(let* ((#1=#:homestring (or #+sbcl (sb-posix:getenv "HOME")
+                           #+clisp (ext:getenv "HOME")
+                           #+cmu (unix:unix-getenv "HOME")
+                           "/home/mdw"))
+       (#2=#:home (pathname (concatenate 'string #1# "/"))))
   (setf (logical-pathname-translations "HOME")
-       `(("HOME:**;*.*.*" ,(merge-pathnames "**/*.*" #1#)))))
+       `(("HOME:**;*.*.*" ,(merge-pathnames "**/*.*" #2# nil)))
+       (logical-pathname-translations "CL")
+       '(("CL:SOURCE;**;*.*.*" #p"/usr/share/common-lisp/source/**/*.*")
+         ("CL:SYSTEMS;**;*.*.*" #p"/usr/share/common-lisp/systems/**/*.*"))))
 
 ;; Various fixings.
 #+clisp (setf custom:*parse-namestring-ansi* t)