A quick memo to self for the next time I’ll need to setup quicklisp in SBCL under windows.

By default quicklisp put the following in your .sbclrc:

(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))

That will work if you start sbcl from the command line, as (user-homedir-pathname) will return the correct path (In my case, #P"c:/Users/Marco Righele") But when started from slime (using quicklisp-slime-helper) running under GNU Emacs, the result of the call will be #P"C:/Users/Marco Righele/AppData/Roaming/". Moreover, the installation procedure will ask you to add the following to your emacs initialization file:

(load (expand-file-name "~/quicklisp/slime-helper.el"))

Again that will expand to a subfolder of %USERPROFILE%\AppData\Roaming, instead of just %USERPROFILE%. I guess Emacs is to blame (I use EmacsW32), but in any case, don’t forget to update your init file.