0

我想在 Windows 上运行 common lisp (SBCL) 但我不能。我是新手,这是我第一次尝试运行 lisp,并且我根据以下链接给出的说明进行了尝试; http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/

我下载了员工并进行了相应的安装,这是我安装后的目录树:

C:\home 中的两个目录 - bin、usr。

在 bin 目录中;

C:\home\bin\emacs\site-lisp\slime
C:\home\bin\SBCL-1.0.13\

和四个空目录:c:\home\usr 中的 doc、info、lisp、site

我的道路是;

PATH      C:\home\bin\SBCL-1.0.13\;C:\home\bin\emacs\bin\;
SBCL_HOME C:\home\bin\SBCL-1.0.13\

根据说明,我创建并放置了一个文件,site-start.el 之类的;C:\home\bin\emacs\site-lisp\site-start.el

site-start.el 包含以下行:

(setenv "HOME" "C:/home/")

创建了另一个文件 .emacs ,其中包含以下内容;

(setq inferior-lisp-program "sbcl")
(add-to-list 'load-path "c:/home/bin/emacs/site-lisp/slime/")
(require 'slime)
(slime-setup)

Ctrl x Ctrl s当我用来保存它时,它已自动保存在 C:\Documents and Settings\Administrator\Application data\中。

当我通过输入 c:\home\bin\emacs\bin\emacs.exe 调用 emacs 时,出现 Emacs,当我输入Esc- 时,提示“ Mx ”出现在底部,当我通过 Mx 输入 slime 时,它​​说不匹配像下面这样;“Mx 粘液[不匹配] ​​”。

请告诉我如何调用正确的 lisp 环境并执行像 (+ 2 2) 这样的简单 lisp 代码来查看结果。

谢谢你。

4

1 回答 1

1

(setenv "HOME" "C:/home/")$HOME将Emacs的环境变量设置为 C:/home 目录。如果 Emacs 将 .emacs 文件保存到其他目录 - 这意味着它没有加载 site-start.el 文件,因此,它没有加载 .emacs 文件。

要检查的内容:

  1. 执行M-:(getenv "HOME")- 这应该打印“C:/home”,但如果没有,再次执行M-:(mapcar #'message load-path)C-x b*Messages*并查看它打印的目录列表。您的 site-start.el 文件必须位于这些目录之一中。

  2. 打开 Windows shell 终端窗口:Win R并输入cmd.exe. 这应该会打开运行 Windows shell 的终端窗口。键入sbcl。如果您看到许可证文本和提示(通常是 SBCL 中的星号字符) - 没关系,否则,您可能需要重新启动系统才能使您对环境变量所做的更改生效。如果您不想重新启动,您可以执行以下操作:

    set PATH=C:/path/to/sbcl;%PATH%

在您要启动 SBCL 的同一 shell 窗口中。但是,您需要将inferior-lisp-program变量设置为 SBCL 可执行文件的完整路径,直到重新启动。

当你把这两个整理好后,再次尝试加载 SLIME,就像你之前尝试过的一样。

诸如M-:“按下元键并按住它的同时按 Shift 和分号”之类的键,诸如C-x b“按下控制键并按住它的同时按“x”,释放它们并按“b”之类的键。元键通常是Alt 键,但也使用 ESC。

于 2012-10-17T00:23:04.030 回答