From f34062533336c84c710625d9a785875278742bce Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 11 Mar 2014 08:21:03 -0600 Subject: [PATCH] fix syntax checking for `#%declare` --- pkgs/racket-pkgs/racket-test/tests/racket/module.rktl | 5 +++++ racket/src/racket/src/module.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/pkgs/racket-pkgs/racket-test/tests/racket/module.rktl b/pkgs/racket-pkgs/racket-test/tests/racket/module.rktl index 099aaa716a..b488de4f25 100644 --- a/pkgs/racket-pkgs/racket-test/tests/racket/module.rktl +++ b/pkgs/racket-pkgs/racket-test/tests/racket/module.rktl @@ -50,6 +50,11 @@ (syntax-test #'(module n+ racket/base (#%module-begin) (define n+ 'n+) (provide n+))) (module n+ racket/base (#%module-begin (define n+ 'n+) (provide n+))) +(syntax-test #'(#%declare)) +(syntax-test #'(module m racket/base (#%declare something))) +(syntax-test #'(module m racket/base (#%declare "something"))) +(syntax-test #'(module m racket/base (#%declare #:something))) + (syntax-test #'(#%provide)) (syntax-test #'(#%provide . x)) (syntax-test #'(#%provide y . x)) diff --git a/racket/src/racket/src/module.c b/racket/src/racket/src/module.c index 0ad6b0c11b..561faa2d27 100644 --- a/racket/src/racket/src/module.c +++ b/racket/src/racket/src/module.c @@ -9082,6 +9082,8 @@ static Scheme_Object *do_module_begin_at_phase(Scheme_Object *form, Scheme_Comp_ } else { scheme_wrong_syntax(who, kw, e, "unrecognized keyword"); } + } else { + scheme_wrong_syntax(who, kw, e, "expected a keyword"); } kws = SCHEME_STX_CDR(kws); }