From 402deaafe55f38f2a1f3d742e48a762725586a49 Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Mon, 15 Sep 2008 21:52:02 +0000 Subject: [PATCH] Another error case. svn: r11765 --- collects/scheme/private/contract.ss | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/collects/scheme/private/contract.ss b/collects/scheme/private/contract.ss index 21edc914fa..3c0cff2556 100644 --- a/collects/scheme/private/contract.ss +++ b/collects/scheme/private/contract.ss @@ -79,18 +79,22 @@ improve method arity mismatch contract violation error messages? "used in expression context" define-stx)) (syntax-case define-stx () + [(_ name) + (raise-syntax-error 'define/contract + "no contract or body" + define-stx)] [(_ name contract-expr) (raise-syntax-error 'define/contract "no body after contract" define-stx)] [(_ name contract-expr expr) - (identifier? (syntax name)) + (identifier? #'name) (syntax/loc define-stx (with-contract #:type definition name ([name (verify-contract 'define/contract contract-expr)]) (define name expr)))] [(_ name contract-expr expr0 expr ...) - (identifier? (syntax name)) + (identifier? #'name) (raise-syntax-error 'define/contract "multiple expressions after identifier and contract" define-stx)]