Вопрос

Я создал небольшой проект, используя 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)

?

Зачем они вообще установлены?

Другие советы

Это мой обходной путь для аналогичной проблемы, которая возникла у меня с ql:quickload в Quicklisp.

(with-output-to-string (*standard-output*)
  ;; asdf:load-system or ql:quickload..
  (asdf:load-system :<your-system>))
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top