Регистрация | Войти
Lisp — программируемый язык программирования
RSS
работа с asdf системой в заданном окружении
strobegen - 15.08.2009 14:16, Сообщений - 2
В каком то смысле это продолжение темы "sb-ext:save-lisp-and-die и зависимости" только теперь в контексте slime.
Суть проблемы в том что когда slime запускает свой процесс то значение *default-pathname-defaults* равно c:\emacs-23.1\lisp\
Соответственно в этом случае код из sbclrc который оперирует относительными путями (был в теме "sb-ext:save-lisp-and-die... ") не может разобраться, что к чему т.к в c:\emacs-23.1\lisp\ нет нужных директорий. Это в принципе не страшно т.к можно сделать для него отдельный файл инициализации с абсолютными путями, но если в коде системы где есть попытка открыть файл приблизительно в таком виде "lisp.bmp" тоже ничего не найдется (он ищет в c:\emacs-23.1\lisp\lisp.bmp хотя должен брать эту картинку из загруженной системы).

В доке по slime обозначена возможность указать переменную окружения по средством :env,
я это сделал вот так:
(setq slime-lisp-implementations
'(
(sbcl ("sbcl.exe" "--load" "C:/LISPS/1.0.29/slime-init.lisp") :env ("SBCL_HOME=C:/LISPS/1.0.29/"))
(ecl ("C:/LISPS/ecl/ecl2.exe"))
))
Но это к сожалению ничего не изменило.

Отсюда вопрос как вообще правильно организовывать работу с asdf системой когда требуется соблюдение относительности путей (например у меня в нутри sbcl она лежит в site/test_system)?
По дозреваю, что тут уже и нужен удаленный swank-сервер? или я, страшно намудрил с настройкой просто?
[#]
Да я все таки, что-то намудрил т.к позже у меня все заработало) 
Но все равно было бы интересно узнать как правильнее организовывать работу (точнее как общепринято) стоит ли его располагать внутри директории site или держать в произвольном месте но на каждый модуль делать отдельный  файл инициализации?
strobegen - 16.08.2009 13:50
[#]
Используй asdf:defsystem с аргументом pathname.
t - 27.10.2009 13:19
@2009-2010 lisper.ru