From 0c9fc7c374194e3d1b789da06e9b0ba728141dbb Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 30 Sep 2020 06:25:29 -0600 Subject: [PATCH] documment rename-transformer tracking in `set!` --- pkgs/racket-doc/scribblings/reference/stx-props.scrbl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-doc/scribblings/reference/stx-props.scrbl b/pkgs/racket-doc/scribblings/reference/stx-props.scrbl index 87210bbfb1..b3cf91a149 100644 --- a/pkgs/racket-doc/scribblings/reference/stx-props.scrbl +++ b/pkgs/racket-doc/scribblings/reference/stx-props.scrbl @@ -37,7 +37,7 @@ before the merge, the identifier that triggered the macro expansion property so far. The @racket['origin] property thus records (in reverse order) the sequence of macro expansions that produced an expanded expression. Usually, the @racket['origin] value is a -list of identifiers. However, a transformer might return +list of identifiers, but a transformer might return syntax that has already been expanded, in which case an @racket['origin] list can contain other lists after a merge. The @racket[syntax-track-origin] procedure implements this tracking. @@ -82,6 +82,11 @@ Racket adds properties to expanded syntax (often using identifier to the expansion result as a @indexed-racket['disappeared-use] property.} + @item{When a @tech{rename transformer} is used to replace a + @racket[set!] target, @racket[syntax-track-origin] is used on the + target identifier (the same as when the identifier is used as an + expression).} + @item{When a reference to an unexported or protected identifier from a module is discovered, the @indexed-racket['protected] property is added to the identifier with a @racket[#t] value.}