我使用 Steel Bank Common Lisp 创建了一个小项目,并使用 ASDF 来编译和加载它。加载命令为:

(asdf:load-system :<my-system>)

一切工作正常(程序编译并运行良好),但我不断得到类似的输出

; compiling file "[...].lisp" (written 13 APR 2014 06:20:03 PM):
; compiling (DEFPACKAGE :<my-package> ...)
; compiling (DEFUN <my-func-1> ...)
; compiling (DEFUN <my-func-2> ...)
; compiling (DEFUN <my-func-3> ...)

每次重新编译程序时。

我想这个输出来自 asdf 因为我正在调用该应用程序

sbcl --noinform --noprint --script runner_sbcl.lisp

在哪里 runner_sbcl.lisp 通过加载实际应用程序 asdf:load-system. 。所以我想这个输出不是来自 sbcl.

有什么办法可以禁用控制台输出 asdf:load-system?我只想收到有关编译错误/警告的通知。我在文档中找不到任何信息。

有帮助吗?

解决方案

关于什么

(setf *load-verbose* nil)
(setf *load-print* nil)
(setf *compile-verbose* nil)
(setf *compile-print* nil)

?

无论如何,为什么要设置它们?

其他提示

这是我在使用 Quicklisp 的 ql:quickload 时遇到的类似问题的解决方法。

(with-output-to-string (*standard-output*)
  ;; asdf:load-system or ql:quickload..
  (asdf:load-system :<your-system>))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top