我在 Windows 上的 Emacs 中使用 Geiser 作为 Racket 编程环境。我正在处理文件"d:/code/racket/foo.rkt"
。"d:/code/racket/foo.rkt"
是一个模块(它以#lang racket)
.
我可以使用,enter "d:/code/racket/foo.rkt"
Racket REPL 进入模块,完成后我可以成功执行文件中的功能。
但是,如果我更改文件并重新运行,enter "d:/code/racket/foo.rkt"
,则不会重新加载文件:当我在 REPL 中重新执行文件中的函数时,不会反映对文件中函数的更改。
我曾尝试C-c C-k
在重新运行之前重新编译我的缓冲区,enter
,但这没有什么区别。我也尝试执行,enter #f
退出foo.rkt
模块,然后重新运行,enter "d:/code/racket/foo.rkt"
;这仍然不会重新加载模块。
我还观察到运行(enter! (file "d:/code/racket/foo.rkt"))
而不是,enter "d:/code/racket/foo.rkt"
重新加载文件。
这是 Geiser,enter
形式的已知限制,还是我错过了一个技巧?
(版本为:Geiser 0.5、Emacs 24.3.1、Racket 6.0、Windows 8)