Emacs 窗口上的Rack和Geiser,奇怪的路径错误

Emacs 窗口上的Rack和Geiser,奇怪的路径错误,emacs,path,mingw,racket,geiser,Emacs,Path,Mingw,Racket,Geiser,当我在运行GNU Emacs 24.3和racket v6.1的Windows 8.1计算机上尝试(运行racket)或(运行geiser)时,我得到以下输出: 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 s

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

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
>
这确实很奇怪,但在浏览了回溯之后,我仍然不知道发生了什么

事实上,由于球拍启动良好,从盖瑟到球拍的路径似乎有些奇怪。我唯一一次看到这种奇怪的路径是当MinGW bash参与进来时,
/c/
让我觉得可能是这样。事实上,如果不是对于前导的
f:
,该路径将是完全有效的

对于如何处理这个问题,我有点不知所措,因为我不知道Geiser如何与Racket通信(我今天才开始尝试使用它),但我真的很想让它工作,因为作为我的编辑,我对Emacs投入了大量资金


因此,我的问题是:考虑到上述线索,我应该调查哪些可能的问题点?

在我在
Geiser/elisp/Geiser load.el中找到的Geiser源代码中进行了一些挖掘之后:

(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")
在这之后,一切都很完美


问题是Emacs的
扩展文件名
假定
/c/..
路径是由于初始正斜杠而形成的相对路径,并猜测它应该在当前驱动器的字母前面加上前缀,使其成为正确的Windows Emacs路径。

如果我不得不猜测,看起来geiser-racket.el中
geiser-racket--parameters
的最后一行可能有问题。局部变量
rackdir
是正确的,因为Racket正在启动,但是
(扩展文件名“geiser/startup.rkt”rackdir)
失败。行首的“-f”表示错误路径开头的神秘的
f:
。给定
c/users/james/appdata的路径…
看起来像是windows约定安装。不反对Windows,但对我来说,我更喜欢Windows中类似*nix的emacs文件层次结构,因为emacs包所做的假设。