From a3fcaf92dfd82abb78bc0689313248a94ec8e685 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 30 Apr 2019 09:07:59 -0600 Subject: [PATCH] racket/class: remove excessive `syntax-protect` No `syntax-protect` is needed for `define/private`, etc., because no new identifiers or expressions are introduced. Adding extra dye packs can interfere with other macros that pull apart syntax (although maybe the macros shouldn't do that without using `syntax-disarm`). --- racket/collects/racket/private/class-internal.rkt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/racket/collects/racket/private/class-internal.rkt b/racket/collects/racket/private/class-internal.rkt index e2124c527c..ec88d35b72 100644 --- a/racket/collects/racket/private/class-internal.rkt +++ b/racket/collects/racket/private/class-internal.rkt @@ -1871,11 +1871,10 @@ "use of a class keyword is not in a class top-level" stx)) (let-values ([(id rhs) (normalize-definition stx #'lambda #f #t)]) - (class-syntax-protect - (quasisyntax/loc stx - (begin - (#,decl-form #,id) - (define #,id #,rhs)))))))]) + (quasisyntax/loc stx + (begin + (#,decl-form #,id) + (define #,id #,rhs))))))]) (values (mk #'private) (mk #'public)