Подавить загрузку вывода в Quicklisp

Есть ли способ, чтобы quicklisp загружал библиотеку без отправки:

To load "drakma":
  Load 1 ASDF system:
    drakma
; Loading "drakma"

В стандарт выйти? Я пытался добавить :verbose nil и :explain nil к аргументам ql:quickload (именно так я сейчас загружаю библиотеки), но кажется, что это значения по умолчанию - их включение просто увеличивает объем вывода.

Спасибо за вашу помощь!


person Haldean Brown    schedule 05.06.2011    source источник


Ответы (4)


Параметр :silent для quicklisp отсутствует в этом списке ответов. Поскольку последний ответ датирован 2013 годом, возможно, эта опция была добавлена ​​позже.

Вот как вы его используете:

(ql:quickload "my-code" :silent t)
person daveloyall    schedule 19.09.2017

Для тех, у кого есть похожая проблема, я нашел решение:

(with-open-file (*standard-output* "/dev/null" :direction :output
                                   :if-exists :supersede)
                (ql:quickload "my-package"))

Не уверен, что это будет работать на всех интерпретаторах, но с CLisp работает хорошо.

person Haldean Brown    schedule 05.06.2011
comment
Обычный способ создать нулевой выходной поток (make-broadcast-stream). Преимущество этого заключается в том, что он работает в системах, в которых отсутствует /dev/null (например, в Windows). - person Xach; 06.06.2011

Нет способа сделать это, но я собираюсь добавить способ в ближайшее время.

person Xach    schedule 05.06.2011

если вы используете sbcl для запуска вещей как скрипта, вы можете найти дополнительную помощь, добавив --noinform к shebang как таковой:

!#/bin/sbcl --noinform --core /path/to/relevant/sbcl.core --script
person miercoledi    schedule 09.11.2013