a prompt-test fix like the previous one, but for post thunks

This commit is contained in:
Matthew Flatt 2010-12-27 15:21:53 -07:00
parent 958c141508
commit 705b11f2b8
2 changed files with 45 additions and 1 deletions

View File

@ -2255,3 +2255,47 @@
(λ () #f))
(λ (x) x))
12345)))
(test
12345
'no-prompt-post-check-on-compose
(let ()
(define pt1 (make-continuation-prompt-tag))
(define-syntax-rule (% pt body handler)
(call-with-continuation-prompt
(lambda () body)
pt
handler))
((λ (y-comp-cont_7)
((λ (x-comp-cont_3)
((%
pt1
(x-comp-cont_3
(λ ()
(y-comp-cont_7
(λ () (call-with-composable-continuation
(λ (k) (abort-current-continuation pt1 k))
pt1)))))
(λ (x) x))
12345))
(%
pt1
(dynamic-wind
(λ () (y-comp-cont_7 (λ () #f)))
(λ () ((call-with-composable-continuation
(λ (k) (abort-current-continuation pt1 k))
pt1)))
(λ () #f))
(λ (x) x))))
(%
pt1
(dynamic-wind
(λ () #f)
(λ () ((call-with-composable-continuation
(λ (k) (abort-current-continuation pt1 k))
pt1)))
(λ () #f))
(λ (x) x)))))

View File

@ -9086,7 +9086,7 @@ void scheme_apply_dw_in_meta(Scheme_Dynamic_Wind *dw, int post_part, int meta_de
p = scheme_current_thread;
if (recheck) {
if (recheck && !recheck->composable) {
if (scheme_continuation_application_count != old_cac) {
scheme_recheck_prompt_and_barrier(recheck);
}