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

From: Greg Hendershott (greghendershott at gmail.com)
Date: Thu Feb 7 09:15:18 EST 2013

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.

Posted on the dev mailing list.