Внезапно получил quri.parser::parse-схема-строка не определена

Я был счастливым пользователем Дексадора. Вдруг, простой dex:get<url> бросает мне

quri.parser::parse-scheme-string is undefined

ошибка.

Попытка (dex:get url):

0: ("undefined function")
 1: (quri.parser::parse-uri-string #<unavailable argument> :start #<unavailable argument> :end #<unavailable argument>)
2: (quri.uri:uri "http://1337x.to/sort-search/sintel/seeders/desc/1/" :start 0 :end nil)
3: (dexador.backend.usocket:request #<unavailable argument> #<unavailable &REST argument> :method #<unused argument> :version #<unused argument> :content #<unavailable argument> :headers #<unavailable ar.

Кажется, это связано с моей средой. Я думаю, что это выскочило после того, как я понизил свою версию QL (из-за ошибки Slime).

редактировать: однажды я принял эту ошибку в отладчике, она больше не появляется.

Это странно: ни Дексадор, ни Кури не были изменены в последнее время. Раньше работал.

Кроме того, я попросил Dexador и Quri в локальных проектах моего QL найти эту функцию, и она появляется только один раз в Quri. Это даже не определенная функция, так как же она может работать? (учитывая, что пакет использует cl, quri.error и quri.util) https://github.com/fukamachi/quri/blob/83f3b8612be826b602f3584acac1b82691a141e6/src/parser.lisp#L96

Я удалил файлы fasl, найденные в моем проекте.

Во всяком случае, как бы вы подошли к этой проблеме?

Я все еще не хочу обновлять Quicklisp, Slime не выпустил новую версию.

редактировать: я обновил QL, затем удалил ~/quicklisp/ и переустановил его, удалил все ~/.cache/common-lisp: тот же самый.

Благодарю.

SBCL Debian 1.2.4 (установлен 1.4.13, не удалось загрузить мой проект с другой ошибкой). Quicklisp dist "2018-04-30".

Я также спросил в вопросе https://github.com/fukamachi/dexador/issues/61

1 ответ

Решение

Макрос используется format интернировать новые символы, и я установил *print-case* в :downcase в моем.sbclrc.

Есть исправление: https://github.com/fukamachi/quri/pull/24

Удаление файла из кэша ~/.cache/common-lisp/sbcl-xx/quri/ и быстрой загрузки quri было достаточно, чтобы вернуть функцию обратно.

Другие вопросы по тегам