From 3b5d13f229eaefb7ac1356465f901b2d1ee26795 Mon Sep 17 00:00:00 2001 From: Casey Klein Date: Wed, 27 Jan 2010 20:03:57 +0000 Subject: [PATCH] Fixed bug in generate-term's error handling. svn: r17856 --- collects/redex/private/rg.ss | 2 +- collects/redex/tests/rg-test.ss | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/collects/redex/private/rg.ss b/collects/redex/private/rg.ss index 0a29eccc60..c2502d28ab 100644 --- a/collects/redex/private/rg.ss +++ b/collects/redex/private/rg.ss @@ -664,7 +664,7 @@ (with-syntax ([make-gen (term-generator #'lang #'pat #'(generation-decisions) - #'name)]) + (syntax-e #'name))]) (syntax/loc stx (let ([generate make-gen]) (λ (size #:attempt-num [attempt-num 1] #:retries [retries default-retries]) diff --git a/collects/redex/tests/rg-test.ss b/collects/redex/tests/rg-test.ss index 881d82bb74..abd12b2ae5 100644 --- a/collects/redex/tests/rg-test.ss +++ b/collects/redex/tests/rg-test.ss @@ -8,6 +8,9 @@ "../private/keyword-macros.ss" "../private/error.ss") +(define-namespace-anchor nsa) +(define ns (namespace-anchor->namespace nsa)) + (reset-count) ;; to-table : hash-table -> assoc @@ -202,7 +205,11 @@ (n 1)) (test ((generate-term L n) 0) 1) (test ((generate-term L n) 0 #:retries 0) 1) - (test ((generate-term L n) 0 #:attempt-num 0) 1)) + (test ((generate-term L n) 0 #:attempt-num 0) 1) + (test (with-handlers ([exn:fail:syntax? exn-message]) + (parameterize ([current-namespace ns]) + (expand #'(generate-term M n)))) + #rx"generate-term: expected a identifier defined by define-language( in: M)?$")) ;; variable-except pattern (let ()