How can I reload and re-enter a modified Racket file in Geiser?

885 Views Asked by At

I'm using Geiser in Emacs on Windows as a Racket programming environment. I'm working on the file "d:/code/racket/foo.rkt". "d:/code/racket/foo.rkt" is a module (it starts with #lang racket).

I can use ,enter "d:/code/racket/foo.rkt" at the Racket REPL to enter the module, and having done so I can successfully execute functions from the file.

However, if I change the file and re-run ,enter "d:/code/racket/foo.rkt", the file is not re-loaded: changes to functions in my file are not reflected when I re-execute them in the REPL.

I have tried re-compiling my buffer with C-c C-k before re-running ,enter, but this makes no difference. I've also tried executing ,enter #f to exit the foo.rkt module, then re-running ,enter "d:/code/racket/foo.rkt"; this still doesn't reload the module.

I've also observed that running (enter! (file "d:/code/racket/foo.rkt")) instead of ,enter "d:/code/racket/foo.rkt" does reload the file.

Is this a known limitation of Geiser's ,enter form, or am I missing a trick?


(Versions are: Geiser 0.5, Emacs 24.3.1, Racket 6.0, Windows 8)

0

There are 0 best solutions below