[Openmcl-devel] INVOKE-RESTART bug
Stelian Ionescu
sionescu at cddr.org
Thu Jun 3 01:37:17 PDT 2010
When a restart FOO has a non-trivial test,
(invoke-restart (find-restart foo) won't work because invoke-restart
calls the restart's test which will return NIL, and invoke-restart
signals a "Restart ... is not active"
Test case attached
--
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
http://common-lisp.net/project/iolib
-------------- next part --------------
(define-condition foo-error (error) ())
(defun signal-foo ()
(restart-case
(error 'foo-error)
(ignore-foo ()
:report "Ignore FOO error"
:test (lambda (c) (typep c 'foo-error))
'yay)))
(defun trigger-bug ()
(handler-bind ((foo-error
(lambda (e)
(invoke-restart (find-restart 'ignore-foo e)))))
(signal-foo)))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20100603/ceec38c4/attachment.bin>
More information about the Openmcl-devel
mailing list