probable fix to PR 8582

svn: r5825
This commit is contained in:
Robby Findler 2007-03-25 19:00:21 +00:00
parent 24cbaa0bc9
commit 177610e70d

View File

@ -190,7 +190,6 @@ profile todo:
[(begin expr ...)
;; Found a `begin', so expand/eval each contained
;; expression one at a time
(let i-loop ([exprs (syntax->list #'(expr ...))]
[last-one (list (void))])
(cond
@ -201,24 +200,12 @@ profile todo:
(call-with-values
(λ ()
(call-with-continuation-prompt
(λ ()
(loop (car exprs)))))
list))]))
;; the version below behaves properly wrt continuations
;; but doesn't match mzscheme. So, we use the one above.
#;
(let ([exprs (syntax->list #'(expr ...))]
[last-one (list (void))])
(let i-loop ()
(cond
[(null? exprs)
(apply values last-one)]
[else
(let ([exp (car exprs)])
(set! exprs (cdr exprs))
(set! last-one (call-with-values (λ () (loop exp)) list))
(i-loop))])))]
(λ () (loop (car exprs)))
(default-continuation-prompt-tag)
(λ args
(abort-current-continuation
(default-continuation-prompt-tag)))))
list))]))]
[_else
;; Not `begin', so proceed with normal expand and eval
(let* ([annotated (annotate-top (expand-syntax top-e) #f)])