Make provide expansion respect disappeared uses on expanded syntax.
This commit is contained in:
parent
9c9e922b4a
commit
408d86f1c7
|
@ -1387,7 +1387,21 @@
|
|||
(let ([form (expand `(module m racket/base
|
||||
(require (rename-in racket/base [lib racket-base:lib])
|
||||
(racket-base:lib "racket/base"))))])
|
||||
(test #t find-disappeared form #'racket-base:lib)))
|
||||
(test #t find-disappeared form #'racket-base:lib))
|
||||
;; Check case where the provide transformer also sets disappeared-use
|
||||
(let ([form (expand `(module m racket/base
|
||||
(require (for-syntax racket/base racket/provide-transform))
|
||||
(define-syntax my-out
|
||||
(make-provide-transformer
|
||||
(lambda (stx phases) null)
|
||||
(lambda (stx phases)
|
||||
(syntax-case stx ()
|
||||
[(head id)
|
||||
(syntax-property #'(rename-out)
|
||||
'disappeared-use
|
||||
(syntax-local-introduce #'id))]))))
|
||||
(provide (my-out map))))])
|
||||
(test #t find-disappeared form #'map)))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
|
|
@ -77,7 +77,8 @@
|
|||
stx))
|
||||
(syntax-property v
|
||||
'disappeared-use
|
||||
(syntax-local-introduce #'id)))
|
||||
(cons (syntax-local-introduce #'id)
|
||||
(or (syntax-property v 'disappeared-use) null))))
|
||||
stx))]
|
||||
[_ stx]))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user