Emacs 将chezschme运行设置为geiser默认实现

Emacs 将chezschme运行设置为geiser默认实现,emacs,scheme,org-mode,chez-scheme,Emacs,Scheme,Org Mode,Chez Scheme,我安装了chezscheme $ chezscheme Chez Scheme Version 9.5 Copyright 1984-2017 Cisco Systems, Inc. > (define a (list 4 5 6 )) > (set-car! a 9) > a (9 5 6) 并将其配置为geiser默认实现 (require 'geiser) (setq geiser-active-implementations '(chez guile racket

我安装了chezscheme

$ chezscheme
Chez Scheme Version 9.5
Copyright 1984-2017 Cisco Systems, Inc.

> (define a (list 4 5 6 ))
> (set-car! a 9)
> a
(9 5 6)
并将其配置为geiser默认实现

(require 'geiser)
(setq geiser-active-implementations '(chez guile racket chicken mit chibi gambit))
(add-hook 'scheme-mode-hook 'geiser-mode)
(setq geiser-default-implementation 'chez)
尽管如此,当向组织src发布C-C-C时

#+begin_src scheme :session sicp :lexical t
(define a (list 2 3 4))
(set-car! a 9)
a
#+end_src

#+RESULTS:
缓冲了很长一段时间,提示在小缓冲区中“chez go and up”

但要运行MIT计划

错误:

MIT/GNU Scheme running under GNU/Linux
Type `^C' (control-C) followed by `H' to obtain information about interrupts.

Copyright (C) 2019 Massachusetts Institute of Technology
This is free software; see the source for copying conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Image saved on Thursday September 5, 2019 at 11:51:46 AM
  Release 10.1.10 || Microcode 15.3 || Runtime 15.7 || SF 4.41 || LIAR/x86-64 4.118
;Warning: Invalid keyword: "/home/me/.emacs.d/.local/straight/build/geiser/scheme/chez/geiser/geiser.ss"
;Warning: Unhandled command line options: ("/home/me/.emacs.d/.local/straight/build/geiser/scheme/chez/geiser/geiser.ss")

其他:

添加
geiser-chez二进制文件

(setq geiser-active-implementations '(chez guile))
(setq geiser-chez-binary "chez")
(add-hook 'scheme-mode-hook 'geiser-mode)
(setq geiser-default-implementation 'chez)

#+begin_src scheme   :session sicp :lexical t :results output
(define b (list 3 4))

#+end_src
it报告

    apply: Searching for program: No such file or directory, chez
然后我将
chez
附加到
org babel do load languages
并将关键字scheme更改为chez

#+begin_src chez   :session sicp :lexical t :results output
(define b (list 3 4))

#+end_src
它的报告:

  No org-babel-execute function for chez!

删除了mit计划包,它可以正常工作


默认情况下,盖泽认为Chez Scheme的可执行文件是
Scheme
,但事实并非如此,Chez Scheme使用
Chez
,Mit Scheme使用
Scheme
Mit Scheme
。您需要在Emacs init文件中放入以下内容:

(setq geiser-chez-binary "chez")
下面是
geiserchez二进制文件
的docstring(我已经将其更改为chez):

geiser-chez二进制是在“geiser-chez.el”中定义的变量。
其值为“chez”
原值为“方案”

文档:
启动REPL时用于调用Chez方案可执行文件的名称

您可以自定义此变量


泰,我修改了这个问题,但它报告搜索程序:没有这样的文件或目录,chez删除了mit scheme包并将geiser chez binary设置回'scheme',它工作了。我把截图附在问题后面。