Soppressione ASDF: uscita console del sistema di carico
-
21-12-2019 - |
Domanda
Ho creato un piccolo progetto con Bank in acciaio Bank Common Lisp e sto usando ASDF per compilare e caricarlo.Il comando di caricamento è:
(asdf:load-system :<my-system>)
.
Tutto funziona bene (il programma viene compilato e funziona bene) ma continuo a ricevere l'output come
; 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> ...)
.
Ogni volta che il programma viene ricompilato.
Suppongo che questa output proviene da asdf
perché sto invocando l'applicazione con
sbcl --noinform --noprint --script runner_sbcl.lisp
.
Dove runner_sbcl.lisp
caricano l'applicazione effettiva tramite asdf:load-system
.Quindi suppongo
Questa uscita non viene da sbcl
.
C'è un modo per disabilitare l'uscita della console in asdf:load-system
?Mi piacerebbe essere notificato solo sugli errori / avvertimenti di compilazione.
Non ho trovato nessuna informazione nella documentazione.
Soluzione
Che dire di
(setf *load-verbose* nil)
(setf *load-print* nil)
(setf *compile-verbose* nil)
(setf *compile-print* nil)
.
?
Perché sono impostati, comunque?
Altri suggerimenti
Questa è la mia soluzione alternativa per un problema simile che ho avuto con Ql QuickLisp's Ql: Quickload.
(with-output-to-string (*standard-output*)
;; asdf:load-system or ql:quickload..
(asdf:load-system :<your-system>))
.