[racket] Modules and File Save Bug?

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat Jun 22 15:40:48 EDT 2013

The requires depend on what is in the filesystem, not what is in the
editor. Does that explain what you are seeing, perhaps?

Robby


On Sat, Jun 22, 2013 at 2:38 PM, Sean Kanaley <skanaley at gmail.com> wrote:

>  I've got it this time:
>
> The test file with the module+ must be required by another, not even
> necessarily saved file (untitled # is fine).  It seems the tests are being
> run therefore in the *other* file, yet displayed in the current file's repl.
>
> e.g.
>
> in a.rkt:
>
> #lang racket
>
> (module+ test
>   (write "?"))
>
> save, then open new tab
>
> #lang racket
> (require "a.rkt")
>
> go back to a.rkt, comment out, and it will print.  It may or may not print
> after depending on exactly which order of save/ctrl+r/commenting/etc. and
> I'm not sure what happens in general.
>
>
> On 06/22/2013 03:30 PM, Robby Findler wrote:
>
> Oh, maybe memory got corrupted somehow earlier along the line.
>
>  Just in case it is relevant: DrRacket tries hard to protect itself
> against buggy user programs, but it cannot do that when #%foreign is being
> used (unsafely).
>
>  Robby
>
>
>
> On Sat, Jun 22, 2013 at 2:25 PM, Sean Kanaley <skanaley at gmail.com> wrote:
>
>>  I myself can no longer reproduce it after closing and reopening
>> DrRacket.  By coincidence, before closing it, the menus stopped working and
>> I got a Ubuntu error of some sort as well.  I shall keep trying for a bit.
>>
>>
>> On 06/22/2013 03:12 PM, Robby Findler wrote:
>>
>> I'm not seeing that behavior (that is a bug, tho). I tried these steps:
>>
>>  1) cmd-t to create a new tab in DrRacket.
>> 2) paste the expression above (there is an automatic "#lang racket"
>> inserted).
>> 3) save the file.
>> 4) delete the above expression
>> 5) hit run.
>>
>>  No output observed.
>>
>>  Were you doing something differently?
>>
>>  Robby
>>
>>
>> On Sat, Jun 22, 2013 at 2:02 PM, Sean Kanaley <skanaley at gmail.com> wrote:
>>
>>> I don't use modules very much, so this could be the defined behavior
>>> similar to how the ffi module "secretly" (it's actually documented) doesn't
>>> reload foreign libraries unless DrRacket is restarted, but I didn't notice
>>> anything in the documentation.  How to reproduce:
>>>
>>> (module+ test
>>>   (write "?"))
>>>
>>> Without even running it, save the file, then delete that expression.
>>>  Now run it (as in ctrl+r), and it will write "?".
>>> ____________________
>>>  Racket Users list:
>>>  http://lists.racket-lang.org/users
>>>
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20130622/10591512/attachment.html>

Posted on the users mailing list.