emacs - Windows 7 上的史莱姆

标签 emacs windows-7 common-lisp slime

我正在尝试在 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")
    

    但是由于您无法影响文件名如何传递给创建进程的函数,所以这不会起作用。
  • 您可以将要调用的程序移动到具有“安全”名称的目录中。
  • 您可以将可执行文件移动到系统路径(Windows 中的 %PATH% 变量) - 通过更改环境变量并将带有可执行文件的目录附加到它。
  • 另一种选择是将包含可执行文件的目录添加到 exec-path Emacs 中的变量。如果您只是按名称而不是按完整路径调用程序,则此变量包含查找要运行的程序的所有目录的列表。这也(至少对我而言)使我的 .emacs文件更容易在不同系统之间移植。
  • 关于emacs - Windows 7 上的史莱姆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860785/

    相关文章:

    html - 在 emacs 中使用 aspell 编辑 HTML 页面

    Java 编码风格和 Emacs cc-mode 配置

    emacs - 如何在 org-mode 中更改 "DEADLINE"和 "SCHEDULED"的默认文本?

    windows-7 - 如何设置写字板的默认纯文本字体?

    c++ 可执行文件不能在 windows 7 中运行 - 64 位不兼容

    lisp - SBCL 中 values-list 的实现在哪里?

    emacs:使用 linum 时复制没有行号

    .net - 如何使用 WMI 收集在 Windows 7 或 Windows Server 2008 上发现的新 "Applications and Services Logs"?

    lisp - 安装 Lispy 包管理器时出现问题

    lisp - 在 Element2 之前插入 Element1