diff --git a/racket/collects/syntax/parse/private/parse.rkt b/racket/collects/syntax/parse/private/parse.rkt index 68ea59d7f8..01f2360ece 100644 --- a/racket/collects/syntax/parse/private/parse.rkt +++ b/racket/collects/syntax/parse/private/parse.rkt @@ -283,20 +283,6 @@ Some optimizations: ;; ---- -(begin-for-syntax - ;; gensym=>var : Hash[(cons Symbol LiftTarget) => Syntax] - (define gensym=>var (make-hash)) - - ;; lift-gensym : Symbol -> Syntax - ;; For deterministic compilation. Maps compile-time gensyms used by - ;; action:post to expressions whose values preserve distinctness. - (define (lift-gensym g) - (define key (cons g (syntax-local-lift-context))) - (hash-ref! gensym=>var key - (lambda () (syntax-local-lift-expression #'(gensym)))))) - -;; ---- - #| Conventions: - rhs : RHS @@ -747,10 +733,8 @@ Conventions: [#s(action:do _ (stmt ...)) #'(let () (no-shadow stmt) ... (#%expression k))] [#s(action:post _ pattern group index) - (with-syntax ([group* (let ([group (syntax->datum #'group)]) - (if group (lift-gensym group) #'#f))]) - #'(let ([pr* (ps-add-post pr group* 'index)]) - (parse:A x cx pattern pr* es k)))])])) + #'(let ([pr* (ps-add-post pr 'group 'index)]) + (parse:A x cx pattern pr* es k))])])) ;; (bind/sides clauses k) : expr[Ans] ;; In k: attrs(clauses) are bound. diff --git a/racket/collects/syntax/parse/private/rep-patterns.rkt b/racket/collects/syntax/parse/private/rep-patterns.rkt index 2102e704b5..1477c080de 100644 --- a/racket/collects/syntax/parse/private/rep-patterns.rkt +++ b/racket/collects/syntax/parse/private/rep-patterns.rkt @@ -79,7 +79,7 @@ A ActionPattern is one of * (action:and Base (listof ActionPattern)) (action:parse Base SinglePattern stx) (action:do Base (listof stx)) - (action:post Base ActionPattern (U UninternedSymbol #f) Nat) + (action:post Base ActionPattern Quotable Nat) action:and is desugared below in create-* procedures |#