Fix regression for (begin) and simplify

(cherry picked from commit 23d39a9968)
This commit is contained in:
Asumu Takikawa 2013-05-17 00:33:10 -04:00 committed by Ryan Culpepper
parent d3a949a266
commit 4ccb8bf185
2 changed files with 16 additions and 4 deletions

View File

@ -0,0 +1,11 @@
#lang racket
;; Test various (begin ...)s at the top-level. In
;; particular, avoid a (begin) regression.
(define ns (make-base-namespace))
(eval '(require typed/racket) ns)
(eval '(begin) ns)
(eval '(begin 1 2) ns)
(eval '(begin (+ 1 2) 5 3 "foo") ns)

View File

@ -422,10 +422,11 @@
;; Don't open up `begin`s that are supposed to be ignored
#:when (not (or (syntax-property form 'typechecker:ignore)
(syntax-property form 'typechecker:ignore-some)))
(define-values (_ pass2-results)
(for/lists (_1 _2) ([form (syntax->list #'(e ...))])
(tc-toplevel-form form)))
(begin0 (values #f (last pass2-results))
(define result
(for/last ([form (syntax->list #'(e ...))])
(define-values (_ result) (tc-toplevel-form form))
result))
(begin0 (values #f (or result (void)))
(report-all-errors))]
[_
(when ((internal-syntax-pred define-type-alias-internal) form)