From: Marco M. <ma...@ac...> - 2007-04-04 15:18:03
|
In SBCL 1.4.0.2, Linux, x86: (if (progn (/ 1 0) t) 1 2) gives an arithmetic error, as expected. But: (handler-case (if (progn (/ 1 0) t) 1 2) (error () 3)) unexpectedly, evaluates to 1. Also, if we replace PROGN, like this, (handler-case (if (and (/ 1 0) t) 1 2) (error () 3)) then we get 3, again as expected. Marco |