Понятно. В виндовсе сломано, т.е. ставится, при запуске sbcl из консольки оно работает, а при запуске SLIME даёт нулевой эффект, т.е. QL «не найдено» на любую команду. В убунте после перезапуска sbcl сообщение:
debugger invoked on a SIMPLE-ERROR in thread #<THREAD «initial thread» RUNNING
{AACA749}>:
Not an absolute pathname: #P"~/.clc/systems/"
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [TRY-RECOMPILING] Recompile impl and try loading it again
1: [RETRY ] Retry Loading component: («quicklisp» «impl»).
2: [ACCEPT ] Continue, treating
Loading component: («quicklisp» «impl») as having been
successful.
3: [CONTINUE ] Ignore error and continue processing userinit file «/home/reaper/.sbclrc».
4: [ABORT ] Skip rest of userinit file «/home/reaper/.sbclrc».
5: Skip to toplevel READ/EVAL/PRINT loop.
6: [QUIT ] Quit SBCL (calling #'QUIT, killing the process).
> В виндовсе сломано, т.е. ставится, при запуске sbcl из консольки оно > работает, а при запуске SLIME даёт нулевой эффект, т.е. QL «не > найдено» на любую команду.
Как запускается SBCL? У SBCL есть параметры --sysinit и --userinit, в которых можно настроить конфигурационные файлы. В конфиге по умолчанию должно быть так:
#;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
в винде у SBCL(и CCL тоже, как минимум) сломан enough-namestring, поэтому при add-to-init-file добавляется неправильный путь(не учитываются логические диски)
я об этом Заку говорил, но он никаких workaround не добавил пока.
Лечится все это добавлением буквы диска, на котором лежит quicklisp:
;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (pathname "d:/path-to-quicklisp/setup.lisp")))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
Остальное все работает. И SLIME нормально работает на винде в т.ч.