[racket-dev] , en and enter! sometimes do nothing, and it's changing over releases?

From: Ray Racine (ray.racine at gmail.com)
Date: Sat Feb 9 16:43:55 EST 2013

Gregg,

Not sure if you're still banging away on this one.  I have to take a break.

module.c blows up because the module is not "registered" when it tries to
do the namespace swap.  But I don't think the problem is in module.c, nor
is this problem related to the Geiser list is a path problem.

enter! does three things
1) dynamic requires the module
2) module->namespace (fails as the module isn't "registered")
3) uses it's own by parameterizing "current-load/use-compiled" with
enter.rkt "enter-load/use-compiled"

If one does a 1 and 2 manually it works.  So issue is on how
enter-load/use-compiled's custom handling of loading.  It once worked now
broken.  Looking for what changed in the default current-load/use-compiled
is the next step when I get back to it later this evening.





On Thu, Feb 7, 2013 at 9:15 AM, Greg Hendershott
<greghendershott at gmail.com>wrote:

> Once upon a time, ~5.3, the XREPL ,en command would always reload a
> file provided the timestamp changed.
>
> As a result, I could do something _roughly_ like DrRacket F5 in Emacs:
> Touch the file and ,en it.  The whole file would be evaluated, and I'd
> have a REPL where I could explore/tweak.
>
> But somewhere around ~5.3.1, ,en stopped doing this reliably.
> Sometimes it would just do nothing, even if the file timestamp had
> changed (and even if I made some change to the contents, just in case
> it was doing a checksum or whatever).
>
> I thought to try using enter!. And that worked consistently.
>
> But somewhere around ~5.3.2, enter! has stopped behaving consistently.
>
> Does anyone have any idea would could be going on??
>
> More info/comments:
>
> - I normally use XREPL. (require xrepl) is the _only_ thing in my racketrc.
>
> - The above issue happens with or without XREPL. (I tried again today
> to confirm.)
>
> - Although I love the idea of Geiser, I've had it also sometimes not
> reevaluate (similar issue). Anyway sometimes I just want to strip
> things down to be simpler; lately I'm in such a phase where I haven't
> been using it. I might or could use it again someday.
>
> - A (related?) issue is that sometimes the first invocation of enter!
> gives an error like this:
>
>   > (enter! "client.rkt")
>   module->namespace: module not instantiated in the current namespace
>     name:
> #<resolved-module-path:"/Users/greg/src/scheme/collects/lob/example/client.rkt">
>     context...:
>      /Users/greg/src/plt/racket/collects/racket/enter.rkt:33:0: do-enter!
>      /Users/greg/src/plt/racket/collects/racket/private/misc.rkt:87:7
>
> But then a second invocation works fine. i.e. Need to do it twice in a row.
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20130209/784f373d/attachment.html>

Posted on the dev mailing list.