|
3 | 3 | ;; Definitions with contracts and contract documentation. |
4 | 4 |
|
5 | 5 | (require racket/contract "../latent-contract.rkt" racket/provide racket/match |
6 | | - (for-syntax racket/base racket/list racket/syntax syntax/parse racket/provide-transform) |
| 6 | + (for-syntax racket/base racket/list racket/syntax syntax/parse syntax/strip-context racket/provide-transform) |
7 | 7 | (prefix-in s. scribble/manual) |
8 | 8 | (prefix-in s. scribble/core) |
9 | 9 | (prefix-in s. scribble/html-properties)) |
|
64 | 64 | (syntax-case doc-stx () |
65 | 65 | [(ctx . pre-flows) |
66 | 66 | (with-syntax ([doc-name (datum->syntax #'ctx (syntax-e #'name))] |
67 | | - [doc-contract (quote-syntax contract)] |
68 | | - [doc-value (quote-syntax value)]) |
| 67 | + [doc-contract (replace-context #'ctx (quote-syntax contract))] |
| 68 | + [doc-value (replace-context #'ctx (quote-syntax value))]) |
69 | 69 | (syntax/loc doc-stx |
70 | 70 | (s.defthing doc-name doc-contract #:value doc-value |
71 | 71 | . pre-flows)))])))))] |
|
78 | 78 | (syntax-case doc-stx () |
79 | 79 | [(ctx . pre-flows) |
80 | 80 | (with-syntax ([doc-name (datum->syntax #'ctx (syntax-e #'name))] |
81 | | - [doc-contract (quote-syntax contract)]) |
| 81 | + [doc-contract (replace-context #'ctx (quote-syntax contract))]) |
82 | 82 | (syntax/loc doc-stx |
83 | 83 | (s.defthing doc-name doc-contract . pre-flows)))])))))])) |
84 | 84 |
|
|
106 | 106 | (syntax-case doc-stx () |
107 | 107 | [(ctx . pre-flows) |
108 | 108 | (with-syntax ([doc-name (datum->syntax #'ctx (syntax-e #'name))] |
109 | | - [doc-args (quote-syntax (arg ...))] |
110 | | - [doc-result (quote-syntax result)] |
| 109 | + [doc-args (replace-context #'ctx (quote-syntax (arg ...)))] |
| 110 | + [doc-result (replace-context #'ctx (quote-syntax result))] |
111 | 111 | [doc-body (quote-syntax #'wrapped-body)]) |
112 | 112 | (syntax/loc doc-stx |
113 | 113 | (s.defproc (doc-name . doc-args) doc-result #:value doc-body |
|
127 | 127 | (syntax-case doc-stx () |
128 | 128 | [(ctx . pre-flows) |
129 | 129 | (with-syntax ([doc-name (datum->syntax #'ctx (syntax-e #'name))] |
130 | | - [doc-args (quote-syntax (arg ...))] |
131 | | - [doc-result (quote-syntax result)]) |
| 130 | + [doc-args (replace-context #'ctx (quote-syntax (arg ...)))] |
| 131 | + [doc-result (replace-context #'ctx (quote-syntax result))]) |
132 | 132 | (syntax/loc doc-stx |
133 | 133 | (s.defproc (doc-name . doc-args) doc-result . pre-flows)))])))))])) |
134 | 134 |
|
|
145 | 145 | [(ctx . pre-flows) |
146 | 146 | (with-syntax ([doc-name (datum->syntax #'ctx (syntax-e #'name))] |
147 | 147 | [doc-arg (datum->syntax #'ctx (syntax-e #'arg))] |
148 | | - [doc-contract (quote-syntax contract)] |
149 | | - [doc-default (quote-syntax default)]) |
| 148 | + [doc-contract (replace-context #'ctx (quote-syntax contract))] |
| 149 | + [doc-default (replace-context #'ctx (quote-syntax default))]) |
150 | 150 | #'(s.defparam doc-name doc-arg doc-contract #:value doc-default |
151 | 151 | . pre-flows))])))))] |
152 | 152 | [(_ name:id contract:expr default:expr) |
|
0 commit comments