11

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!

Haldean Brown
  • 12,411
  • 5
  • 43
  • 58

4 Answers4

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.

Haldean Brown
  • 12,411
  • 5
  • 43
  • 58
  • 11
    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). – Xach Jun 05 '11 at 21:23
11

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)
daveloyall
  • 2,140
  • 21
  • 23
7

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

Xach
  • 11,774
  • 37
  • 38
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
miercoledi
  • 276
  • 2
  • 5