从emacs运行方案

时间:2012-03-07 14:42:21

标签: emacs lisp scheme

我是LISP的新手。

我试图从emacs(在Windows上运行的版本23)中调用scheme解释器。我通过告诉emacs到M-x load-library然后在迷你缓冲区中的提示符下输入xscheme来加载xscheme库。加载了库,然后我发出了M-x run-scheme命令。 (我意识到所有这些加载都可以在启动时从.emacs完成,但我现在并不关心。)

到目前为止一直很好 - *scheme*缓冲区已经创建,现在我希望我能够与计划解释器交谈。

但是,当我尝试评估*scheme*缓冲区中的内容时(例如(define shoe-size 14)),我会在迷你缓冲区中收到此Output file descriptor of scheme is closed条消息。

有人知道如何解决这个问题吗?

(另外,如何将主模式设置为*scheme*缓冲区中的REPL?)

谢谢。

4 个答案:

答案 0 :(得分:16)

尝试将scheme-program-name变量设置为Scheme解释器的路径。方案缓冲区的主要模式可能只是comint,除非你切换到像Geiser那样更强大的东西,否则你无法做很多事情 - 我建议你这样做。

答案 1 :(得分:9)

将此行添加到.emacs文件中:

(setq scheme-program-name "gsi")

(将"gsi"替换为您的Scheme解释器的名称。)

然后,您可以使用M-x run-scheme启动解释程序。您可以使用C-x C-e(在点之前评估sexp)或使用C-M-x评估您现在正在进行的性别评估。您还可以使用C-c C-l加载文件。

答案 2 :(得分:5)

我首先要说的是我对编程,计划和SICP​​都很陌生,但我正在努力完成课程并观看在线讲座。
我在Ubuntu 12.10上运行 emacs ,我真的想让麻省理工学院的计划在emacs中工作,而不是依赖于Edwin。 上面的提示对我来说不起作用,但这是有效的逐步说明:

  1. 从Ubuntu软件中心安装emacs 24(搜索“emacs”并安装它!)
  2. 打开一个终端( ALT + CTRL + t
  3. 转到您的主目录(cd ~
  4. 在gedit(.emacs
  5. 中打开隐藏文件gedit .emacs
  6. 在文件的第一行,输入冒号后面的内容:(需要'xscheme)
  7. 将更改保存到.emacs
  8. 就是这样!!!
  9. 您现在可以在emacs中打开.scm个文件,并使用C-x C-e等命令。

    *方向由http://alexott.net/en/writings/emacs-devenv/EmacsScheme.html#sec14

    提供

答案 3 :(得分:0)

My guess is that it's just a known issue我仍然不知道如何解决这个问题(这是我当前的技能)但是我得到了一个可能有帮助的宏:在写完s-exp之后你可以做Cc-Cz(它然后调用geiser REPL)C-spc, C-M-b, M-w, C-x-o, C-yRET

有一个变体(同样,在写完s-exp之后放置):C-spc, C-M-b, M-w, C-c Cz, C-yRET