windows - 我无法在 Windows 上设置和配置 Common LISP (SBCL)

标签 windows lisp common-lisp

我想在 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\

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

我的路径是;

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)

并且自动保存在C:\Documents and Settings\Administrator\Application data\ 当我使用 Ctrl x Ctrl s 保存它时。

当我通过键入 c:\home\bin\emacs\bin\emacs.exe 调用 emacs 时, Emacs 出现,当我键入 Esc - 时,提示“M-x”出现在底部,当我按 M-x 键入 slime 时,它​​说不匹配,如下所示; “M-x 粘液[不匹配]​​”。

请告诉我如何调用合适的 lisp 环境 并执行简单的 lisp 代码,如 (+ 2 2) 以查看结果。

谢谢。

最佳答案

(setenv "HOME""C:/home/") 将 Emacs 的环境变量 $HOME 设置为 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”。Meta 键通常是 Alt 键,但也使用 ESC。

关于windows - 我无法在 Windows 上设置和配置 Common LISP (SBCL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923793/

相关文章:

c - 在驱动程序和 Windows 服务之间传递数据

lisp - 局部函数中的增量变量 lisp

lisp - 为什么我在 Elisp 中索引列表时遇到问题?

ide - 有没有办法在 DrRacket 中编写 Common Lisp 代码?

r - 像普通的 lisp 一样写 R

windows - MS 加载程序将 PE 文件的哪些部分映射到内存中?

windows - 安装 cygwin : setup. ini 从 http ://mirrors. kernel.org 丢失

lisp - 为什么 Lisp 用于 AI?

common-lisp - 获取符号链接(symbolic link)损坏的目录中的目录条目列表

windows - (MFC) 如果控件是私有(private)成员,父类如何接收控件的消息?