[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*DEBUG-IO*



    Date: Thu, 29 May 86 01:27 EDT
    From: Kent M Pitman <KMP@SCRC-STONY-BROOK.ARPA>

    I didn't realize that the *xxx-IO* variables were documented to contain 
    synonym streams. In fact, I wish this had been disallowed.

    The reason this came up is that I had an application which wanted to
    temporarily use the *DEBUG-IO* for a normal interaction. I thought I
    was doing the right thing by doing:
     (LET ((*TERMINAL-IO* *DEBUG-IO*))
       ...)
    but in fact I lost completely in 3600 Release 6 Common Lisp because
    *DEBUG-IO* had (correctly) contained a synonym stream for 
    *TERMINAL-IO* and I ended up with a circular synonym stream in
    *TERMINAL-IO*.

Shouldn't you have done
	(let ((*standard-output* *debug-io*)
	      (*standard-input* *debug-io*))
	  ...)
instead?  It is almost always wrong to set or bind *terminal-io*.