[racket] XREPL ,en in 5.3 doesn't re-evaluate?

From: Greg Hendershott (greghendershott at gmail.com)
Date: Wed Aug 15 13:46:48 EDT 2012

To follow up and narrow this:

This is limited to XREPL's ,en.  If you `touch' a file, then ,en will
_not_ re-evaluate it in 5.3 (but it _would_ in 5.2.1 and earlier).

By contrast, enter! in 5.3 behaves the same as in 5.2.1.  If you
`touch' a file, enter! _will_ re-evaluate it in both versions.

This is on OS X 10.7.4 in case that would matter (?).


I tweaked my emacs config to use enter! instead of XREPL's ,en. So I
have no practical problem anymore. However I wanted to point this out
in case the change in behavior mattered to someone else.

On Mon, Aug 13, 2012 at 5:39 PM, Greg Hendershott
<greghendershott at gmail.com> wrote:
> Did the behavior of XREPL's ,en change in 5.3?
>
> I'm seeing evaluate the module only on the first ,en. I want
> subsequent invocations of ,en to re-evaluate the module, as was the
> case before 5.3.
>
>
> Longer version:
>
> For a long time I've had emacs set up to map the F5 key to do
> something roughly similar to what F5 does in DrRacket.
>
> 1. Save the buffer. Even if it doesn't need saving. Equivalent of `touch'.
>
> 2. Send the Racket process a ,cd to the buffer's path:
>
> (comint-send-string (get-buffer-process "*scheme*")
>                     (format ",cd %s\n"
>                             (file-name-directory (buffer-file-name))))
>
> 3. Send the Racket process a ,en with the buffer's base name:
>
> (comint-send-string (get-buffer-process "*scheme*")
>                     (format ",en %s\n"
>                             (file-name-nondirectory (buffer-file-name))))
>
> In 5.2.1 and earlier this has worked swimmingly. For example doing an
> ,en on a hello.rkt like this...
>
> #lang racket
> (displayln "Hello")
>
> ...will print "Hello" every time.
>
> But in 5.3, it only prints "Hello" the first time. Thereafter it seems
> to act like, "Yeah I'm already in that module, dude."
>
> How can I make it re-evaluate?

Posted on the users mailing list.