diff --git a/ansi-tests/restart-bind.lsp b/ansi-tests/restart-bind.lsp index d075621d2f8f494379e0c531ef63e9949cbc3819..143d9716e0ffe0ab1ee096e58236c732f8e0c30a 100644 --- a/ansi-tests/restart-bind.lsp +++ b/ansi-tests/restart-bind.lsp @@ -202,9 +202,22 @@ (invoke-restart 'foo))) program-error) -;;; Must still add interactive-function tests - - - +(deftest restart-bind.23 + (restart-bind + ((foo #'(lambda () 'good))) + (invoke-restart-interactively 'foo)) + good) +(deftest restart-bind.24 + (let ((i 0)) + (values + (restart-bind + ((foo + #'(lambda (x y z) (list z y x)) + :interactive-function (progn (incf i) + #'(lambda () (list 'a 'b 'c))))) + (invoke-restart-interactively 'foo)) + i)) + (c b a) + 1) diff --git a/ansi-tests/restart-case.lsp b/ansi-tests/restart-case.lsp index 594363d60cd7cc1c90f5369a9276c261e09fc507..3915221efda1d9cb84371c2b6314440feabaab49 100644 --- a/ansi-tests/restart-case.lsp +++ b/ansi-tests/restart-case.lsp @@ -264,6 +264,30 @@ (foo () 'good)))))) good) +(deftest restart-case.32 + (restart-case + (invoke-restart-interactively 'foo) + (foo () 'good)) + good) + +(deftest restart-case.33 + (restart-case + (invoke-restart-interactively 'foo) + (foo (w x y z) + :interactive (lambda () (list 'a 'b 'c 'd)) + (list x w z y))) + (b a d c)) + +(deftest restart-case.34 + (flet ((%f () (list 'a 'b 'c 'd))) + (restart-case + (invoke-restart-interactively 'foo) + (foo (w x y z) + :interactive %f + (list x w z y)))) + (b a d c)) + +