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`).
This commit is contained in:
Matthew Flatt 2019-04-30 09:07:59 -06:00
parent dd22b8b599
commit a3fcaf92df

View File

@ -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)