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

Error printing, and "silent" BREAK loops



    Date: 12 July 1980 04:51-EDT
    From: Kent M. Pitman <KMP at MIT-MC>
    Does it seem reasonable to anyone that
    (LET ((MSGFILES NIL) (^R NIL) (^W T) (OUTFILES NIL) (ECHOFILES NIL)) 
	 (+ 'A 'B))
    prints
    ;NON-NUMERIC VALUE
    on the terminal? How many more files do I have to turn off?
Of course not.  I took the liberty of making the two-line patch
to the ERROR file to fix this.  But what you forgot to do was do 
that random test twice, and report on the disastrous results of the
second such attempt --  A FATAL CRASH TO DDT WITH PURPG!
  The problem is that the error leaves you in the break loop set up
by the particular WRNG-TYPE-ARG error handler, and by shutting off
printing (or *almost* shutting it off) one has no idea that he has
run into an error and is currently stalled in the break loop.  At
least with my little patch, the bomb-out to DDT won't occur, but
I pose the question:
   SHOULD THE DEFAULT ERROR HANDLERS BE PERMITTED TO GO INTO A
"SILENT" BREAK LOOP?