diff --git a/pkgs/racket-pkgs/racket-test/tests/syntax/flatten-begin.rkt b/pkgs/racket-pkgs/racket-test/tests/syntax/flatten-begin.rkt index 184207762b..58e2007867 100644 --- a/pkgs/racket-pkgs/racket-test/tests/syntax/flatten-begin.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/syntax/flatten-begin.rkt @@ -14,6 +14,8 @@ (check-exn exn:fail:syntax? (λ () (flatten-all-begins #'(1 2 3)))) (check-equal-datum? (flatten-all-begins #'(begin 1 2 3)) (list #'1 #'2 #'3)) + (check-equal-datum? (flatten-all-begins (syntax-shift-phase-level #'(begin 1 2 3) 2)) + (list #'1 #'2 #'3)) (check-equal-datum? (flatten-all-begins #'(begin (begin 1 2) 3)) (list #'1 #'2 #'3)) (check-equal-datum? (flatten-all-begins #'(begin (begin 1 2) (+ 3 4) 5)) diff --git a/racket/collects/syntax/flatten-begin.rkt b/racket/collects/syntax/flatten-begin.rkt index 76aefcf15b..8a4bb499c4 100644 --- a/racket/collects/syntax/flatten-begin.rkt +++ b/racket/collects/syntax/flatten-begin.rkt @@ -20,7 +20,7 @@ (unless (and (pair? val) (not (null? val)) (identifier? (car val)) - (free-identifier=? (car val) #'begin)) + (free-identifier=? (car val) #'begin #f #f)) (raise-syntax-error #f "not a begin expression" @@ -29,6 +29,6 @@ (define lst (syntax->list stx)) (if (and lst (not (null? lst)) - (free-identifier=? (car lst) #'begin)) + (free-identifier=? (car lst) #'begin #f #f)) (apply append (map loop (cdr lst))) (list (syntax-track-origin stx orig-stx #'begin)))))