27 Jul
2009
27 Jul
'09
8:02 a.m.
Hi Alan! On Mon, Jul 27, 2009 at 2:08 AM, Alan Ruttenberg<alanruttenberg@gmail.com> wrote:
(defun bar () (values 1 2)) (bar) => 1 2 (defun foo () (unwind-protect (return-from foo (bar)) 2)) (foo) => 1 (defun foo () (unwind-protect (return-from foo (values 1 2) 2))) (foo) => 1 2
I noticed this in an early version of abcl, but just downloaded and built from subversion and it's still there. Doesn't seem to matter whether it is interpreted or evaluated.
I can see the error in the compiler; it's in p2-unwind-proctect: the exception handler doesn't save the values register of the thread. Maybe it's the same in the interpreter. I'll have a look later today, if I have time. Thanks for the report! Bye, Erik.