2012-10-16 32 views
0

我想在Windows上运行Common Lisp(SBCL),但是我不行。 我是新手,这是我第一次尝试 run lisp,我试过按照说明 下面的链接给出了; http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/我无法在Windows上设置和配置Common LISP(SBCL)

我下载的工作人员,并相应地安装 这里是安装后,我的目录树:

两个目录在C:\首页 - 斌,USR。

在bin dir;

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

和四个空目录:文档,信息,口齿不清,在C网站 :\家里的\ usr

我的路径;

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

根据该指令,我创建 并放在一个文件,网站start.el喜欢; C:\家\ BIN \ emacs的\站点口齿不清\站点start.el

站点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 \管理员\应用数据\ 当我用按Ctrl X按Ctrl小号保存它。

当我通过输入C调用的emacs:\家\ BIN \ emacs的\ BIN \ emacs.exe, Emacs的出现,当我输入Esc键 - ,提示 “的Mx” 出现在底部,当我用Mx键入粘液,它说没有像下面这样的匹配; “M-x slime [不匹配]​​”。

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

谢谢。

回答

1

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

检查什么:

  1. M-:(getenv "HOME") - 这应该打印 “C:/家”,但如果没有,再次做M-:(mapcar #'message load-path)Cx b*Messages*并查看它打印的目录列表。您的网站开始。el文件必须位于其中一个目录中。

  2. 打开Windows外壳终端窗口:Win R和类型cmd.exe。这应该打开运行Windows shell的终端窗口。类型sbcl。如果您看到许可证文本和提示(通常是SBCL中的星号字符) - 那没问题,否则,您可能需要重新启动系统,以使您对环境变量所做的更改生效。如果你不想重新启动,你可以这样做:

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

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

当你把这两个东西整理出来时,再次尝试加载SLIME,就像你之前尝试过一样。

键,如M-:平均“按Meta键的同时,请按住Shift和分号”,像CX b平均键“按下控制键,按住它,按‘X’释放他们两个并按下“b”。Meta键通常是Alt键,但也使用了ESC。

+0

非常感谢您的帮助,我做了你所说的并且已经启动并正在运行。得到提示,“非常感谢你的帮助。现在lisp正在运行,我刚刚完成。 – Bishnu

+0

我按照你告诉我的方式进行了检查。 “M - :(getenv”HOME“)”首先显示了c:\ home,然后我在c:\ home中复制了.emacs文件,并调用emacs,输入M-x slime。第一次,它显示lota错误,如轮询和数量增加,所以我再次重新启动,这次它出现与“; C:\ home \ .slime \ fasl \ 2012-10-14 \ sbcl-1.0.13-no- threads-win32-x86 \ contrib \ swank-mrepl.fasl写成 ;编译在0:00:00完成 ;; Swank从端口4925开始。 CL-USER>(+ 2 2) CL-USER > :)) – Bishnu