Suppress "loading" output in Quicklisp
Asked Answered
E

4

12

Is there a way to have quicklisp load a library without sending:

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

To standard out? I've tried adding :verbose nil and :explain nil to the arguments of ql:quickload (which is how I'm loading the libraries now) but it seems that those are the defaults -- turning them on just increases the amount of output.

Thanks for your help!

Excipient answered 5/6, 2011 at 20:49 Comment(0)
I
12

The :silent option for quicklisp is missing from this list of answers. Since the latest answer is from 2013, maybe that option was added after then.

Here's how you use it:

(ql:quickload "my-code" :silent t)
Incivility answered 19/9, 2017 at 21:13 Comment(0)
E
12

For anyone who's having a similar problem, I've found a solution:

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

Not sure if it will work on all interpreters, but it works well with CLisp.

Excipient answered 5/6, 2011 at 21:3 Comment(1)
The normal way to make a null-output stream is (make-broadcast-stream). This has the advantage of working on systems that lack /dev/null (e.g. windows).Glassworker
I
12

The :silent option for quicklisp is missing from this list of answers. Since the latest answer is from 2013, maybe that option was added after then.

Here's how you use it:

(ql:quickload "my-code" :silent t)
Incivility answered 19/9, 2017 at 21:13 Comment(0)
G
7

There isn't a way to do that, but I intend to add a way sometime soon.

Glassworker answered 5/6, 2011 at 21:23 Comment(0)
P
1

if you're using sbcl to run things as a script, you can find some additional help by adding --noinform to the shebang as such:

!#/bin/sbcl --noinform --core /path/to/relevant/sbcl.core --script
Problematic answered 9/11, 2013 at 10:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.