diff --git a/collects/scribblings/reference/code-inspectors.scrbl b/collects/scribblings/reference/code-inspectors.scrbl index e475a2e11e..d06bcd7fbd 100644 --- a/collects/scribblings/reference/code-inspectors.scrbl +++ b/collects/scribblings/reference/code-inspectors.scrbl @@ -46,8 +46,9 @@ requires control over the old one). Control over a module declaration (as opposed to a mere invocation) enables the reconstruction of syntax objects that contain references -to the module's unexported identifiers. Otherwise, the compiler and -macro expander prevent any reference to an unexported identifier, +to the module's protected and unexported identifiers. Otherwise, the +compiler and macro expander prevent any reference to a protected or +unexported identifier, unless the reference appears within an expression that was generated by the module's macros (or, more precisely, a macro from a module whose declaration inspector controls the invocation of the diff --git a/collects/scribblings/reference/syntax.scrbl b/collects/scribblings/reference/syntax.scrbl index ac1b0bcf97..36a4244b1d 100644 --- a/collects/scribblings/reference/syntax.scrbl +++ b/collects/scribblings/reference/syntax.scrbl @@ -837,8 +837,11 @@ follows. ]} @defsubform[(protect-out provide-spec ...)]{ Like the union of the - @racket[provide-spec]s, except that the exports are protected; see - @secref["modprotect"]. The @racket[provide-spec] must specify only + @racket[provide-spec]s, except that the exports are protected; + requiring modules may refer to these bindings, but may not extract + these bindings from macro expansions or access them via @racket[eval] without + access privileges. + For more details, see @secref["modprotect"]. The @racket[provide-spec] must specify only bindings that are defined within the exporting module. @examples[#:eval (syntax-eval)