Old question that was never answered:
At Fri, 10 Nov 2017 21:34:24 -0500, Alex Knauth wrote:
> How does a macro properly expand to a define-runtime-path?
> The documentation for define-runtime-path says this:
> If the form has a source module according to syntax-source-module
> This tells me that if I want to specify the path it uses to anchor relative
> paths, I should give the define-runtime-path form a source location from the
> file I want it to use.
> (define-syntax-parser macro
> [(_ name path-expr)
> (quasisyntax/loc #'name
> (define-runtime-path name path-expr))])
The confusing part is that `syntax-source-module` is based on a syntax
object's scopes, not its source location.
[Back when `define-runtime-path` was defined, it seemed like that might
be a good idea. It wasn't, and we later figured out that building on
`(#%variable-reference)` is a better idea.]
So, I think the macro you wanted was
(define-syntax (macro stx)
[(_ name path-expr)
(syntax-e #'(define-runtime-path name path-expr))
I'll update the documentation for `syntax-source-module` and
`define-runtime-path` to clarify.