Сильно и конкретно с ASDF пока не разбирался, просто понял в самых общих чертах, как им пользоваться.
Есть проект usocket, в версии 4.1 он зависил от split-sequence, сейчас она у него прямо внутри. То есть раньше я делал:
(asdf:operate 'asdf:load-op :split-sequence)
(asdf:operate 'asdf:load-op :usocket)
И мог пользоваться как usocket-ами, так и split-sequence-ами. Теперь в версии из svn split-sequence.lisp (отдельного asd-файла нет) просто запечатана внутри усокета, в директории vendor. usocket.asd включает это добро так:
...
:components ((:file "package")
(:module "vendor" :depends-on ("package")
:components ((:file "split-sequence")
...
Делаю
(asdf:operate 'asdf:load-op :usocket)
Видно, что он загружает все свои файл, в т.ч. vendor/split-sequence.fas, при этом усокет-функции доступны, а сплит-сиквеновские - нет. Как их вытащить правильно? Неправильная попытка - убирание #+ingore-рования defpackage в vendor/split-sequence.lisp - привела к тому, что сам по себе пакет стал доступен, но все его функции все равно нет. И даже сделанный после этого прямой (load этого-файла) не дал никаких результатов.
Короче, я основательно запутался в лисповской пакетной системе и ASDF-огороде вокруг него.