Chicken Scheme - 错误:未绑定变量:chicken-home

4

我正在尝试使用emacs + geiser安装scheme,但遇到了geiser的问题:

Starting Geiser REPL for chicken ... process-lines: ~/lisp/chicken/bin/csi exited with status 70

我记得我忘了配置这里所需的内容(https://wiki.call-cc.org/emacs):

  1. 安装必要的支持 eggs。

$ chicken-install -s apropos chicken-doc

  1. 更新 Chicken 文档数据库。

$ cd `csi -p '(chicken-home)'`

$ curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx

但是,当执行:

cd `csi -p '(chicken-home)'`

什么都没有发生,因此请检查我使用以下命令获取的内容:

./csi -p '(chicken-home)'

然后我收到以下内容:

something@something:~/lisp/chicken/bin$ ./csi -p '(chicken-home)'

Error: unbound variable: chicken-home

    Call history:

    <syntax>      (##core#begin (##core#require library scheme#) (##core#require library chicken.base#) (##core#requir...
    <syntax>      (##core#require library scheme#)
    <syntax>      (##sys#load-library (##core#quote library))
    <syntax>      (##core#quote library)
    <syntax>      (##core#require library chicken.base#)
    <syntax>      (##sys#load-library (##core#quote library))
    <syntax>      (##core#quote library)
    <syntax>      (##core#begin (##core#require expand chicken.syntax#))
    <syntax>      (##core#require expand chicken.syntax#)
    <syntax>      (##sys#load-library (##core#quote expand))
    <syntax>      (##core#quote expand)
    <eval>    (##sys#load-library (##core#quote library))
    <eval>    (##sys#load-library (##core#quote library))
    <eval>    (##sys#load-library (##core#quote expand))
    <syntax>      (chicken-home)
    <eval>    (chicken-home)    <--

注意:

Chicken version: CHICKEN 5

OS: LINUX

向上

在版本5中,我发现需要:

(import (chicken platform))

呼叫:

(chicken-home)

然而我已经下载了它:

curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx

将文件夹导航到正确的目录(chicken-home):

/home/something/lisp/chicken//share/chicken/

但是我收到了:

"Starting Geiser REPL for chicken ... process-lines: ~/lisp/chicken/bin/csi exited with status 70"

你正在使用 CHICKEN 5 吗?这可能会解释错误信息,(chicken-home) 不是默认可用的。 - wasamasa
@wasamasa 是的,CHICKEN 5。 - PerduGames
1个回答

0

我已经成功解决了这个问题,首先我使用了这个文件:

http://download-mirror.savannah.gnu.org/releases/geiser/0.10/geiser-0.10.tar.gz

它坏了,我总是得到:

"csi exited with status 70"

所以我下载了git版本:

git clone git://git.sv.gnu.org/geiser.git

所以我尝试启动geise:

M-x run-geiser RET chicken RET

我收到了错误信息:

"car: Symbol’s function definition is void: seq-filter"

然后在文件“geiser/elisp/geiser-chicken.el”中发生了一些事情,他们忘记添加这行:

(require 'seq)

现在它正在工作。

!重要提示:在emacs <= 24版本中,“seq-filter”甚至不存在。我不知道添加“seq-filter”的确切版本是哪个,从我在Emacs文档中看到的内容来看,没有按版本记录,至少我没有找到,所以我不太清楚,但已经测试过,在Emacs 24中没有这样的库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接