The problem is that `namespace-require` has to first resolve the
`racket` module path, and the module name resolver uses the current
namespace as determined by `current-namespace` --- which means that the
resolver loads the `racket` module into the wrong namespace.

I doubt that we can change that behavior without breaking something.
Probably this will need to be addressed with a documentation
improvement that discourages providing a namespace directly except in
limited cases.

At Mon, 6 Jan 2020 19:09:44 -0800 (PST), Yongming Shen wrote:
> Hi, I have encountered a counterintuitive behavior of namespace-require and 
> wonder if it is a bug.
> Basically, namespace-require behaves differently when the target namespace 
> is passed by parameterizing current-namespace, compared to when the 
> optional namespace parameter is used.
> 
> For example, this works:
> 
> (define ns (make-base-empty-namespace))
> (parameterize ([current-namespace ns]) (namespace-require 'racket))
> 
> But this gives an error about unknown module:
> 
> (define ns (make-base-empty-namespace))
> (namespace-require 'racket ns)
> 
>     require: unknown module
>     module name: #<resolved-module-path:"/Applications/Racket 
> v7.3/collects/racket/main.rkt">
> 
> Am I doing something wrong in the second case?
> 
> Thanks,
> Yongming
> 
> -- 
> 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/45e0ee10-0ce0-42a9-997f-ad102e09
> 8ea4%40googlegroups.com.

-- 
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/5e13fad3.1c69fb81.e0aae.b3e0SMTPIN_ADDED_MISSING%40gmr-mx.google.com.

Reply via email to