[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 15:06:36 EST 2013

enter! blows up because of a root error in module.c.  The "module not
instantiated in current namespace". module.c has some sort informative
logging/debug statements, which print to stdout, but I haven't found the
magic environment variable or racket arg.  -L debug -W debug don't work.
 To reproduce the bug I'm doing a enter! at the REPL , but I suspect the
REPL is happily swallowing all that lovely logging in module.c


On Sat, Feb 9, 2013 at 1:39 PM, Greg Hendershott
<greghendershott at gmail.com>wrote:

> I'm trying to look into it myself, even though it's over my head. On
> the bright side it's a chance for me to learn more about how things
> like modules and namespaces work, below the surface.
>
> Also I'm starting to look at DrRacket source, because its F5/Run is
> reliable. Is that because it's using `enter!` differently, or not
> using it at all?  And how if at all does it differ in other respects
> to what things like XREPL and Geiser do?
>
> This whole subject area has been a bit confusing for me, so,
> opportunity to learn more. Having said that, this is something that
> probably ought to "just work", and it does seem like there is some bug
> at the moment.
>
> On Fri, Feb 8, 2013 at 3:29 PM, Ray Racine <ray.racine at gmail.com> wrote:
> > I've been seeing the same behavior.  I think something got broke in
> > racket/enter "enter!".   I don't think it is a Geiser, XRepl issue other
> > then both I believe leverage the racket/enter module.  Bit of a pain in
> the
> > arse bug, nice if someone could look in to it.
> >
> > Thanks,
> >
> > Ray
> >
> >
> > 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/89e3e5e7/attachment-0001.html>

Posted on the dev mailing list.