我正在尝试在 Windows 7 机器上设置 SLIME,但正在运行 M-x slime
给我错误
Spawning child process: invalid argument
我有
inferior-lisp-program
设置为 "C:\\Program Files\\ccl\\wx86cl.exe"
(这实际上是正确的,运行 (comint-run inferior-lisp-program)
会给我一个有效的 CCL 提示),以及 slime
目录添加到我的 'load-path
.我究竟做错了什么?
编辑:尝试通过lispbox的Windows版加载相同的环境,它运行 SLIME 很好。我不想使用那个,因为它打包了比我想要的更旧的 Emacs、CCL 和 SLIME。
最佳答案
您收到的消息意味着给 shell 的命令很可能存在语法问题。这可能是由文件名中包含字符引起的,这可以解释为做了一些特殊的事情。所以,看起来 Emacs 试图调用 C:\\Program
带参数的“程序”Files\\ccl\\wx86cl.exe
.
有几种方法可以解决错误:
(shell-quote-argument "C:\\Program Files\\ccl\\wx86cl.exe")
但是由于您无法影响文件名如何传递给创建进程的函数,所以这不会起作用。
%PATH%
变量) - 通过更改环境变量并将带有可执行文件的目录附加到它。 exec-path
Emacs 中的变量。如果您只是按名称而不是按完整路径调用程序,则此变量包含查找要运行的程序的所有目录的列表。这也(至少对我而言)使我的 .emacs
文件更容易在不同系统之间移植。 关于emacs - Windows 7 上的史莱姆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860785/