From d00099dbdb8d74b34c29c4b2fbd5ed7fca4e568b Mon Sep 17 00:00:00 2001 From: Burke Fetscher Date: Thu, 4 Apr 2013 22:59:14 -0500 Subject: [PATCH] Redex: pass language id through for term errors --- collects/redex/private/term.rkt | 2 +- collects/redex/tests/syn-err-tests/term-lang.rktd | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/collects/redex/private/term.rkt b/collects/redex/private/term.rkt index 21ceeeb2cf..b3de2f0199 100644 --- a/collects/redex/private/term.rkt +++ b/collects/redex/private/term.rkt @@ -45,7 +45,7 @@ (syntax-e #'form))]) (if (syntax->datum #'lang-stx) (let ([lang-nts (let loop ([ls #'lang-stx]) - (define slv (syntax-local-value ls)) + (define slv (syntax-local-value ls (λ () #'lang-stx))) (if (term-id? slv) (loop (term-id-prev-id slv)) (language-id-nts ls 'term)))]) diff --git a/collects/redex/tests/syn-err-tests/term-lang.rktd b/collects/redex/tests/syn-err-tests/term-lang.rktd index ccf298440f..06ead00cf8 100644 --- a/collects/redex/tests/syn-err-tests/term-lang.rktd +++ b/collects/redex/tests/syn-err-tests/term-lang.rktd @@ -5,3 +5,7 @@ (#rx"before underscore" ([not-a-non-term AA_1]) (term (Q_1 Q_2 (Q_3 not-a-non-term)) #:lang syn-err-lang)) + +(#rx".*define-language.*boglang" + ([bogus-language boglang]) + (term 5 #:lang bogus-language))