I'm working on my Lisp in a Box distro and I want to make SLIME load .swank.lisp from somewhere other than USER-HOMEDIR-PATHNAME. I'm not sure what the best way to do that is. Looks like the simplest least intrusive way would be to change swank-loader's USER-INIT-FILE to something like:
(defun user-init-file () "Return the name of the user init file or nil." (probe-file (merge-pathnames (or (SOME-MAGIC-HERE) (user-homedir-pathname)) (make-pathname :name ".swank" :type "lisp"))))
Do folks have any objection to this? And if not, does anyone have any ideas about what SOME-MAGIC-HERE should do? Ideally I'd like something that will work on OS X, GNU/Linux, and Windows.
Or another way to achieve my goal, is to have swank-loader load a file, site-swank.lisp if it exists and to define a variable which will turn off loading of the user-init-file. Then I can build a site-swank.lisp that does the initialization I need for Lispbox and then disable loading of the users .swank.lisp. (I want to do this because the whole point of my Lispbox distro is to provide a stable a predictable environment.
-Peter