突然得到 quri.parser::parse-scheme-string is undefined

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

我是 Dexador 的快乐用户。突然,一个简单的 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的本地dist项目中grep了Dexador和Quri,找到了这个函数,它只在Quri中出现过一次。它甚至都不是定义的函数,那么它怎么可能工作呢? (假定包使用 cl、quri.error 和 quri.util)https://github.com/fukamachi/quri/blob/83f3b8612be826b602f3584acac1b82691a141e6/src/parser.lisp#L96

我删除了在我的项目中找到的 fasl 文件。

无论如何,你会如何解决这个问题?

我还是不想升级 Quicklisp,Slime 没有发布新版本。

edit: 我升级了QL,然后删除~/quicklisp/重新安装,全部删除~/.cache/common-lisp: 一样。

谢谢。

SBCL Debian 1.2.4(已安装 1.4.13,无法加载我的项目,出现另一个铁定错误)。 Quicklisp dist "2018-04-30".

我也在issue里问过https://github.com/fukamachi/dexador/issues/61#issuecomment-433672052

宏使用 format 来插入新符号​​,我在 .sbclrc 中将 *print-case* 设置为 :downcase

有一个修复:https://github.com/fukamachi/quri/pull/24

删除缓存在 ~/.cache/common-lisp/sbcl-xx/quri/ 中的 fasl 并快速加载 quri 就足以让功能恢复。