我使用Steel Bank Common Lisp创建了一个小项目,我正在使用ASDF来编译和加载它。 load命令是:
(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
中禁用控制台输出?我希望只收到有关编译错误/警告的通知。
我在文档中找不到任何信息。
答案 0 :(得分:3)
怎么样
(setf *load-verbose* nil)
(setf *load-print* nil)
(setf *compile-verbose* nil)
(setf *compile-print* nil)
无论如何,他们为什么要设定?
答案 1 :(得分:2)
这是我使用quicklisp的ql:quickload的类似问题的解决方法。
(with-output-to-string (*standard-output*)
;; asdf:load-system or ql:quickload..
(asdf:load-system :<your-system>))