为什么 ql:quickload 会忽略错误,而 asdf:load-system 却不会?

Why does ql:quickload ignores errors but asdf:load-system is not?

我发现有时 ql:quickload 只是默默地跳过严重的错误,例如:

;Compiler warnings for "home:common-lisp;mito-email-auth;src;models.lisp.newest" :
;   In SEND-CODE: In the form ("Для входа на сайт [Skazorama.ru](~A), перейдите по [этой ссылке](~A)" URL URL), "Для входа на сайт [Skazorama.ru](~A), перейдите по [этой ссылке](~A)" is not a symbol or lambda expression.

(我忘了在包中导入一个宏。这个宏应该把代码转换成有用的东西)。

但是当我使用 asdf:load-system 加载这个库时,会弹出一个错误并可供调试。

你如何忍受这种行为?

这是 Quicklisp 的问题,我不知道什么好的解决方法。

这是因为 Quicklisp 在设计上抑制了它提供的库的加载输出,并通过打印 .s 来总结进度。想法是这些支持库是固定的基础设施,输出是不必要的额外噪音。

但是,这在加载您自己的项目时是一种不良行为,这些项目可能会不断变化,因此详细和信息性消息很有用。

我还没有找到一个系统来显示您自己的项目的详细输出和 Quicklisp 提供的项目的简洁输出。同时,为了我自己的目的,我发现 (ql:quickload "my-project" :verbose t) 或设置 *quickload-verbose* 为我需要的真正工作。如果这些选项对您不起作用,我很想知道更多关于您的配置的信息,例如什么实施和版本正在发挥作用。