Unterdrückung der Konsolenausgabe von asdf:load-system
-
21-12-2019 - |
Frage
Ich habe ein kleines Projekt mit Steel Bank Common Lisp erstellt und verwende ASDF zum Kompilieren und Laden.Der Ladebefehl lautet:
(asdf:load-system :<my-system>)
Alles funktioniert gut (das Programm wird kompiliert und läuft einwandfrei), aber ich erhalte weiterhin eine Ausgabe wie
; 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> ...)
jedes Mal, wenn das Programm neu kompiliert wird.
Ich nehme an, dass diese Ausgabe von stammt asdf
weil ich die Anwendung mit aufrufe
sbcl --noinform --noprint --script runner_sbcl.lisp
Wo runner_sbcl.lisp
lädt die eigentliche Anwendung über asdf:load-system
.Ich nehme an, diese Ausgabe stammt nicht aus sbcl
.
Gibt es eine Möglichkeit, die Konsolenausgabe zu deaktivieren? asdf:load-system
?Ich möchte nur über Kompilierungsfehler/Warnungen benachrichtigt werden.Ich konnte in der Dokumentation keine Informationen finden.
Lösung
wie wäre es mit
(setf *load-verbose* nil)
(setf *load-print* nil)
(setf *compile-verbose* nil)
(setf *compile-print* nil)
?
Warum sind sie überhaupt gesetzt?
Andere Tipps
Dies ist meine Problemumgehung für ein ähnliches Problem, das ich mit ql:quickload von Quicklisp hatte.
(with-output-to-string (*standard-output*)
;; asdf:load-system or ql:quickload..
(asdf:load-system :<your-system>))