[Bese-devel] [Bug-Report] arnesi call/cc
Russ Tyndall
russ at acceleration.net
Thu Dec 11 18:14:08 UTC 2008
I made a minor change to the call/cc code, to get it to correctly handle
multiple-values.
The case failing was:
(let ((arnesi::*trace-cc* T) (arnesi::*debug-evaluate/cc* T))
(with-call/cc (CALL/CC (LAMBDA (K) (VALUES 1 2 3)))))
To fix this I changed k-for-call/cc (apply.lisp:44), by correctly
passing other-values along.
The new version looks like:
;;;; APPLY and FUNCALL
(defk k-for-call/cc (k)
(value other-values)
(if *call/cc-returns*
(kontinue k value other-values)
(throw 'done (values-list (cons value other-values)))))
Not sure if anyone is around to commit this patch, but I thought I would
pass it along in case.
Hope this helps someone,
Russ
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: call-cc-patch.darcs
URL: <https://mailman.common-lisp.net/pipermail/bese-devel/attachments/20081211/5ba13f38/attachment.ksh>
More information about the bese-devel
mailing list