如何选择用于emacs的方案?

如何选择用于emacs的方案?,emacs,scheme,Emacs,Scheme,我在~/.emacs中有以下代码用于运行scheme(gosh和mit scheme) C-CS以“scheme program name”指定的REPL方式启动方案,我通过注释其中一个来选择要使用的方案 还有比这更好的办法吗?我的意思是,我可以选择哪个方案与“M-x”或其他什么一起使用吗?如果您使用前缀参数调用run scheme,它会询问您要运行哪个方案--您可以通过运行它来伪造它 (let ((current-prefix-arg 1)) (call-interactively 'run-

我在~/.emacs中有以下代码用于运行scheme(gosh和mit scheme)

C-CS以“scheme program name”指定的REPL方式启动方案,我通过注释其中一个来选择要使用的方案


还有比这更好的办法吗?我的意思是,我可以选择哪个方案与“M-x”或其他什么一起使用吗?

如果您使用前缀参数调用
run scheme
,它会询问您要运行哪个方案--您可以通过运行它来伪造它

(let ((current-prefix-arg 1)) (call-interactively 'run-scheme))

查看quack.el-它有一个更好的方案模式,可以查询您希望运行的方案。

quack.el可能是更好的解决方案,但如果您想继续使用run Scheme,此版本的函数包含了Eli的建议,并且确实有效

(defun scheme-other-window ()
  "Run scheme on another window"
  (interactive)
  (switch-to-buffer-other-window
   (get-buffer-create "*scheme*"))
  ;; This causes run-scheme to act as if C-u had been entered before it was called.
  (let ((current-prefix-arg 1)) 
    (call-interactively 'run-scheme)))

@ProSeek:“不起作用”的信息不足以知道哪里出了问题。它应该在GNU Emacs上工作——我使用的是23.1.1,但它也应该在旧版本上工作。谢谢
(defun scheme-other-window ()
  "Run scheme on another window"
  (interactive)
  (switch-to-buffer-other-window
   (get-buffer-create "*scheme*"))
  ;; This causes run-scheme to act as if C-u had been entered before it was called.
  (let ((current-prefix-arg 1)) 
    (call-interactively 'run-scheme)))