<div dir="ltr"><div style>Thanks, I think this is the commit log in Geiser on the topic.</div><div><br></div><div> Racket: fix for module evaluation/entering</div><div> </div><div> Our module loader is receiving load requests for module names</div>
<div> represented as lists that are not exactly a submodule, in the sense</div><div> that the path does not represent an actual file.</div><div> </div><div> This phenomenon happens for instance when specifying a reader in a</div>
<div> #lang tag. E.g.</div><div> </div><div> #lang at-exp racket</div><div> </div><div> will cause the loader to be called with module name '(main reader) and</div><div> path <cols-path>/at-exp/main.rkt, where main.rkt does not exist.</div>
<div> Afterwards, we see a call to load at-exp/lang/reader/rkt, with name</div><div> reader, which is the real code.</div><div> </div><div> So, for now, i'm skipping all load requests with a list name,</div>
<div> forwarding them to racket's default loader.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Feb 9, 2013 at 2:30 PM, Michael Wilber <span dir="ltr"><<a href="mailto:mwilber@uccs.edu" target="_blank">mwilber@uccs.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is this related to the enter bug?<br>
<br>
$ racket<br>
Welcome to Racket v5.3.2.3.<br>
> (enter! slideshow/pict)<br>
define-values: assignment disallowed;<br>
cannot re-define a constant<br>
constant: invoke-unit/core<br>
in module: "/home/michael/local/racket/collects/racket/unit.rkt"<br>
context...:<br>
/home/michael/local/racket/collects/racket/unit.rkt: [running body]<br>
standard-module-name-resolver<br>
/home/michael/local/racket/collects/mzlib/unit.rkt: [traversing imports]<br>
/home/michael/local/racket/collects/texpict/mrpict.rkt: [traversing imports]<br>
/home/michael/local/racket/collects/slideshow/pict.rkt: [traversing imports]<br>
/home/michael/local/racket/collects/racket/enter.rkt:51:0: enter-require<br>
/home/michael/local/racket/collects/racket/enter.rkt:33:0: do-enter!<br>
<br>
It, and similar issues, bit geiser too. For a time, Geiser would give<br>
similar problems even when simply evaluating (require slideshow/pict):<br>
<a href="http://bugs.racket-lang.org/query/?cmd=view%20audit-trail&database=default&pr=13096" target="_blank">http://bugs.racket-lang.org/query/?cmd=view%20audit-trail&database=default&pr=13096</a><br>
<br>
I'm not sure how, but Geiser recently implemented some workaround in one<br>
of their recently released versions:<br>
<br>
M-x run-racket<br>
<br>
Welcome to Racket v5.3.2.3.<br>
racket@> ,enter slideshow/pict<br>
racket@slideshow/pict> (circle 10)<br>
(a circle appears in the REPL)<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Ray Racine <<a href="mailto:ray.racine@gmail.com">ray.racine@gmail.com</a>> writes:<br>
> I've been seeing the same behavior. I think something got broke in<br>
> racket/enter "enter!". I don't think it is a Geiser, XRepl issue other<br>
> then both I believe leverage the racket/enter module. Bit of a pain in the<br>
> arse bug, nice if someone could look in to it.<br>
><br>
> Thanks,<br>
><br>
> Ray<br>
><br>
><br>
> On Thu, Feb 7, 2013 at 9:15 AM, Greg Hendershott<br>
> <<a href="mailto:greghendershott@gmail.com">greghendershott@gmail.com</a>>wrote:<br>
><br>
>> Once upon a time, ~5.3, the XREPL ,en command would always reload a<br>
>> file provided the timestamp changed.<br>
>><br>
>> As a result, I could do something _roughly_ like DrRacket F5 in Emacs:<br>
>> Touch the file and ,en it. The whole file would be evaluated, and I'd<br>
>> have a REPL where I could explore/tweak.<br>
>><br>
>> But somewhere around ~5.3.1, ,en stopped doing this reliably.<br>
>> Sometimes it would just do nothing, even if the file timestamp had<br>
>> changed (and even if I made some change to the contents, just in case<br>
>> it was doing a checksum or whatever).<br>
>><br>
>> I thought to try using enter!. And that worked consistently.<br>
>><br>
>> But somewhere around ~5.3.2, enter! has stopped behaving consistently.<br>
>><br>
>> Does anyone have any idea would could be going on??<br>
>><br>
>> More info/comments:<br>
>><br>
>> - I normally use XREPL. (require xrepl) is the _only_ thing in my racketrc.<br>
>><br>
>> - The above issue happens with or without XREPL. (I tried again today<br>
>> to confirm.)<br>
>><br>
>> - Although I love the idea of Geiser, I've had it also sometimes not<br>
>> reevaluate (similar issue). Anyway sometimes I just want to strip<br>
>> things down to be simpler; lately I'm in such a phase where I haven't<br>
>> been using it. I might or could use it again someday.<br>
>><br>
>> - A (related?) issue is that sometimes the first invocation of enter!<br>
>> gives an error like this:<br>
>><br>
>> > (enter! "client.rkt")<br>
>> module->namespace: module not instantiated in the current namespace<br>
>> name:<br>
>> #<resolved-module-path:"/Users/greg/src/scheme/collects/lob/example/client.rkt"><br>
>> context...:<br>
>> /Users/greg/src/plt/racket/collects/racket/enter.rkt:33:0: do-enter!<br>
>> /Users/greg/src/plt/racket/collects/racket/private/misc.rkt:87:7<br>
>><br>
>> But then a second invocation works fine. i.e. Need to do it twice in a row.<br>
>> _________________________<br>
>> Racket Developers list:<br>
>> <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
>><br>
> _________________________<br>
> Racket Developers list:<br>
> <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
_________________________<br>
Racket Developers list:<br>
<a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div></div></blockquote></div><br></div>