title: Suppress output from print function in Lisp
body: <p>I'm fairly new to Lisp, and I've run into a printing issue.  I have one function which does printing to the standard output (among other things).  I want to then run this function through another function where it still runs the same but instead nothing gets printed to the standard output.</p>
  
  <p>Here is a simple example of what I mean.  I have the following two functions described:</p>
  
  <pre><code>(defun does-printing()
    (print "This goes to standard output."))
  
  (defun run-other-function (function)
    (funcall function)
    (values))
  </code></pre>
  
  <p>Here's a dribble of what happens when I run this,</p>
  
  <pre><code>;; Dribble of #&lt;IO TERMINAL-STREAM&gt; started on 2014-10-05 21:49:49.
  #&lt;OUTPUT BUFFERED FILE-STREAM CHARACTER #P"example.out"&gt;
  [7]&gt; (run-other-function #'does-printing)
  
  "This goes to standard output." 
  
  [8]&gt; (dribble)
  ;; Dribble of #&lt;IO TERMINAL-STREAM&gt; finished on 2014-10-05 21:50:09.
  </code></pre>
  
  <p>Note that the printing function still prints to the standard output.  It'd like to be able to suppress this printing somehow when running does-printing through run-other-function.  I have tried many different variations of phrasing of my problem when searching for solutions, but nothing is getting at what I would like to do.</p>