From d1fca9c04aa767c140b82b5b27ba70eaed5420f8 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Mon, 17 Nov 2008 23:58:05 +0000 Subject: [PATCH] Fix PR 9918. svn: r12480 --- collects/scheme/match/compiler.ss | 2 +- collects/tests/match/examples.ss | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/collects/scheme/match/compiler.ss b/collects/scheme/match/compiler.ss index 8a5683484e..5c43ec57c6 100644 --- a/collects/scheme/match/compiler.ss +++ b/collects/scheme/match/compiler.ss @@ -431,7 +431,7 @@ (if (Row-unmatch (car blocks)) #`(let/ec k (let ([#,(Row-unmatch (car blocks)) - (lambda () (k (#,esc)))]) + (lambda () (call-with-values #,esc k))]) rhs)) #'rhs))]) ;; then compile the rest, with our name as the esc diff --git a/collects/tests/match/examples.ss b/collects/tests/match/examples.ss index b09c703191..2e66a284b6 100644 --- a/collects/tests/match/examples.ss +++ b/collects/tests/match/examples.ss @@ -577,5 +577,11 @@ [(vector a b) a] [else 'bad])) + (comp '(1 2) + (call-with-values + (lambda () + (match 'foo [_ (=> skip) (skip)] [_ (values 1 2)])) + list)) + ))