From 8a00140b63e162a6a0e0a526564d5e17ae448faf Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Fri, 21 May 2010 16:04:51 -0400 Subject: [PATCH] Fixed a bug with Typed Scheme's do: with no finish-expr. Include in 5.0 release. original commit: fece1f6d03caea796b99921f1979a652e1a6b97c --- collects/typed-scheme/private/prims.rkt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/collects/typed-scheme/private/prims.rkt b/collects/typed-scheme/private/prims.rkt index ffad18f7..7101c3be 100644 --- a/collects/typed-scheme/private/prims.rkt +++ b/collects/typed-scheme/private/prims.rkt @@ -367,13 +367,13 @@ This file defines two sorts of primitives. All of them are provided into any mod (syntax-parse stx #:literals (:) [(_ : ty ((var:annotated-name init (~optional step:expr #:defaults ([step #'var]))) ...) - (stop?:expr (~optional (~seq finish:expr ...) #:defaults ([(finish 1) #'((void))]))) + (stop?:expr (~optional (~seq finish0:expr finish:expr ...) #:defaults ([finish0 #'(void)] [(finish 1) '()]))) c:expr ...) (syntax/loc stx (let: doloop : ty ([var.name : var.ty init] ...) (if stop? - (begin finish ...) + (begin finish0 finish ...) (begin c ... (doloop step ...)))))])) (define-syntax (provide: stx)