I'm trying to figure out how to set current-module-name-resolver in advance of 
all other code for a process. I'm guessing this would require a custom launcher 
that does (for example) `racket -l foo/replace-resolver bar.rkt`.

In that sense, I expect that a `replace-resolver` of the form below wouldn't 
work because it runs at phase 0, after the expander resolved everything for 
`bar.rkt`.

How do I do what I mean here across all phases, for all uses of 
(dynamic-|local-)require everywhere in my program?

(let ([old (current-module-name-resolver)])

  (current-module-name-resolver

   (case-lambda

     [(declared-module-name src-namespace)

      (old declared-module-name src-namespace)]

     [(module-path source-module stx should-load?)

      (old (maybe-rewrite-module-path module-path source-module)

           source-module

           stx

           should-load?)

      r])))

~slg

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/_cvEcFutv9gqlkwOX38uKhLoY-7MWpo24yP9DQLV-ml9bRLjiCG1aZmmIj5p3zeYxjyfPt0f65dei4MJcSUsuWX5lDcBSsO6QEW2wBlvFzI%3D%40sagegerard.com.

Reply via email to