Google
 

Trailing-Edge - PDP-10 Archives - clisp - clisp/upsala/dribble.clisp
There are no other files named dribble.clisp in the archive.
(defvar *dribble-file* nil)
(defvar *old-termio* nil)

(defun dribble (&optional file)
  "Creates a readable record of the interactive session in the given file.
  (DRIBBLE) closes the session."
  (if file
      (if *dribble-file*
	  (error "Dribble file is already open")
	  (progn
	   (setq *old-termio* *terminal-io*)
	   (setq *dribble-file* (open file :direction :output))
	   (setq *terminal-io*
		 (make-two-way-stream
		  (make-echo-stream *terminal-io* *dribble-file*)
		  (make-broadcast-stream *terminal-io* *dribble-file*)))))
      (if (not *dribble-file*)
	  (error "Dribble file is not open")
	  (progn
	   (close *dribble-file*)
	   (setq *terminal-io* *old-termio*)
	   (setq *dribble-file* nil)))))