Subject: dribble in clisp

From: Eddy Bevers <[email-masked]>
Date: Thu, 5 Jan 1995 15:53:47 +0100

It seems that the dribble function does not record interaction with a
break loop in a file. Consider the following interaction:

|   > (dribble "foo")
|   #<STRING-CHAR-FILE-STREAM #"foo">
|   > (defun fac (n)
|   (cond ((< n 0) (error "negative argument to fac"))
|         ((= n 0) 1)
|         (t (* n (fac (- n 1))))))
|   
|   FAC
|   > (fac -4)
|   
|   *** - negative argument to fac
|   1. Break> backtrace-4
|   
|   EVAL frame for form (ERROR "negative argument to fac")
|   EVAL frame for form (COND ((< N 0) (ERROR "negative argument to fac")) ((= N 0) 1) (T (* N (FAC (- N 1)))))
|   APPLY frame for call (FAC '-4)
|   EVAL frame for form (FAC -4)
|   1. Break> abort
|   
|   > (dribble)
|   #<CLOSED STRING-CHAR-FILE-STREAM #"foo">
|   > 

Now the file "foo" contains:

|   #<STRING-CHAR-FILE-STREAM #"foo">
|   > (defun fac (n)
|   (cond ((< n 0) (error "negative argument to fac"))
|         ((= n 0) 1)
|         (t (* n (fac (- n 1))))))
|   FAC
|   > (fac -4)
|   
|   > (dribble)

I think this is very unfortunate (since dribble is intended primarily
for debugging!). Is this a bug or a feature?

Cheers,
Eddy

-------------------------------------------------------------------------------
Eddy Bevers                            E-mail: [email-masked]
Department of Computer Science                 
Katholieke Universiteit Leuven         Phone:  +32 16 327575
Celestijnenlaan 200 A                  
B-3001 Leuven (Heverlee)	       Fax:    +32 16 327996
Belgium				       
-------------------------------------------------------------------------------