1

当我尝试在运行 GNU Emacs 24.3(run-racket)(run-geiser)Racket v6.1 的 Windows 8.1 机器上运行时,我得到以下输出:

Welcome to Racket v6.1.
default-load-handler: cannot open input file
  path: f:/c/Users/James/AppData/Roaming/.emacs.d/el-get/geiser/scheme/racket/geiser/startup.rkt
  system error: The system cannot find the path specified.; errno=3
>

这显然很奇怪,但是在浏览回溯之后,我仍然不知道发生了什么。

事实上,由于 Racket 启动良好,路径从 Geiser 传递到 Racket 的方式似乎有些奇怪。我唯一一次看到这种奇怪的路径是在涉及 MinGW bash 时,这/c/让我认为它可能是。事实上,如果没有领先的f:.

我对如何解决这个问题有点茫然,因为我不知道 Geiser 如何与 Racket 通信(我今天才开始尝试使用它),但我真的很想让它工作,因为我在 Emacs 作为我的编辑器非常投入。

所以我的问题是:鉴于上述线索,我应该调查哪些可能的问题点?

4

1 回答 1

0

在对 Geiser 源进行了一些挖掘之后,我在geiser/elisp/geiser-load.el该行中找到了:

(setq geiser-scheme-dir "/c/Users/James/AppData/Roaming/.emacs.d/el-get/geiser/scheme")

这可能是由 MinGW make 错误地生成的。

我将其更改为:

(setq geiser-scheme-dir "c:/Users/James/AppData/Roaming/.emacs.d/el-get/geiser/scheme")

之后一切正常。

问题是 Emacsexpand-file-name假设/c/...路径是由于初始正斜杠的相对路径,并猜测它应该在当前驱动器的字母前面加上正确的 Windows Emacs 路径。

于 2014-11-18T01:58:03.267 回答