[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug with HANDLER-CASE
- To: info-mcl
- Subject: Bug with HANDLER-CASE
- From: duthen@ircam.fr (Jacques Duthen)
- Date: 6 Sep 91 11:47:12 GMT
- Newsgroups: comp.lang.lisp.mcl
- Organization: IRCAM, Paris (France)
- Sender: Jacques.Duthen
CLtLII p896 says:
the typespec can also be the symbol :no-error in the last clause.
With MCL2.0b1, I get the following (which cannot spread atoms on stack!):
(macroexpand
'(handler-case (foo)
(simple-error (condition) condition)
(error (condition) condition)
(:no-error (x) x)))
=>
(block #:g144
(multiple-value-call
#'(lambda (x) x)
(block #:g145
(return-from #:g144
(handler-case (return-from #:g145 (foo))
@ ((simple-error (condition) condition)
(error (condition) condition)))))))
Obviously, in the code of HANDLER-BIND "@," should be fixed into ",@".
Could you please e-mail the complete interpreted code of HANDLER-BIND so that
I can add it to my lisp ?
Thanks in advance [jack]
PS: BTW, (/ 1 0) produces a condition of type "simple-error" instead of
"division-by-zero" (as mentionned in CLtLII p922)
and it seems that the condition type hierarchy (p917) is slighlty :-)
simplified in the implementation MCL2.0b1
Are you gonna fix it ?