diff --git a/collects/mzlib/private/match/match-internal-func.ss b/collects/mzlib/private/match/match-internal-func.ss index ba119f7f0d..dc9d8d5ee6 100644 --- a/collects/mzlib/private/match/match-internal-func.ss +++ b/collects/mzlib/private/match/match-internal-func.ss @@ -95,10 +95,9 @@ (lambda (sf bv) (set! **match-bound-vars** bv) (with-syntax ([((vars . vals) ...) (reverse bv)]) - #'(begin (set! vars vals) ...))))] + #'(values vals ...))))] [(vars ...) (map car (reverse **match-bound-vars**))]) - #'(begin - (define vars #f) ... + #'(define-values (vars ...) (let ([the-exp exp]) compiled-match))))])) ) \ No newline at end of file