From ee084ad7ff39d0932a60f662b70e7a198c8b9c0c Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 17 Mar 2009 00:45:29 +0000 Subject: [PATCH] adjust special scheme/class keywords to effectively declare themselves as expression forms (PR 10135): merge to 4.1.5 svn: r14137 --- collects/scheme/private/class-internal.ss | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/collects/scheme/private/class-internal.ss b/collects/scheme/private/class-internal.ss index a6ae8f06ee..a9040846b5 100644 --- a/collects/scheme/private/class-internal.ss +++ b/collects/scheme/private/class-internal.ss @@ -148,10 +148,12 @@ (define-for-syntax not-in-a-class (lambda (stx) - (raise-syntax-error - #f - "use of a class keyword is not in a class" - stx))) + (if (eq? (syntax-local-context) 'expression) + (raise-syntax-error + #f + "use of a class keyword is not in a class" + stx) + (quasisyntax/loc stx (#%expression #,stx))))) (define-syntax define/provide-context-keyword (syntax-rules ()