cs: fix prompt handler for module/eval prompt and multiple values
This commit is contained in:
parent
568433c1a9
commit
6389b18b01
|
@ -3145,4 +3145,13 @@ case of module-leve bindings; it doesn't cover local bindings.
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(test '(1 2 3)
|
||||||
|
call-with-continuation-prompt
|
||||||
|
(lambda ()
|
||||||
|
(eval (quote (begin (abort-current-continuation (default-continuation-prompt-tag) 1 2 3) 10))))
|
||||||
|
(default-continuation-prompt-tag)
|
||||||
|
list)
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(report-errs)
|
(report-errs)
|
||||||
|
|
|
@ -658,6 +658,16 @@
|
||||||
t))
|
t))
|
||||||
exn:fail:contract:continuation?))
|
exn:fail:contract:continuation?))
|
||||||
|
|
||||||
|
;;----------------------------------------
|
||||||
|
;; Make sure prompt at top level can propagate multiple values
|
||||||
|
|
||||||
|
(test '(1 2 3)
|
||||||
|
call-with-continuation-prompt
|
||||||
|
(lambda ()
|
||||||
|
(eval (quote (begin (abort-current-continuation (default-continuation-prompt-tag) 1 2 3) 10))))
|
||||||
|
(default-continuation-prompt-tag)
|
||||||
|
list)
|
||||||
|
|
||||||
;;----------------------------------------
|
;;----------------------------------------
|
||||||
|
|
||||||
(report-errs)
|
(report-errs)
|
||||||
|
|
|
@ -1074,10 +1074,11 @@
|
||||||
;; --------------------------------------------------
|
;; --------------------------------------------------
|
||||||
|
|
||||||
(define module-prompt-handler
|
(define module-prompt-handler
|
||||||
(lambda (arg)
|
(lambda args
|
||||||
(abort-current-continuation
|
(apply
|
||||||
|
abort-current-continuation
|
||||||
(default-continuation-prompt-tag)
|
(default-continuation-prompt-tag)
|
||||||
arg)))
|
args)))
|
||||||
|
|
||||||
(define call-with-module-prompt
|
(define call-with-module-prompt
|
||||||
(case-lambda
|
(case-lambda
|
||||||
|
|
Loading…
Reference in New Issue
Block a user