代码之家  ›  专栏  ›  技术社区  ›  prosseek

如何选择emacs使用的方案?

  •  3
  • prosseek  · 技术社区  · 14 年前

    ;(setq scheme-program-name "gosh -i")
    (setq scheme-program-name "mit-scheme")
    (autoload 'scheme-mode "cmuscheme" "Major mode for scheme." t)
    (autoload 'run-scheme "cmuscheme" "Run an inferior scheme process." t)
    
    (defun scheme-other-window ()
     "Run scheme on other window"
     (interactive)
     (switch-to-buffer-other-window
      (get-buffer-create "*scheme*"))
     (run-scheme scheme-program-name))
    
    (define-key global-map
      "\C-cs" 'scheme-other-window)
    

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

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

    3 回复  |  直到 14 年前
        1
  •  5
  •   Eli Barzilay    14 年前

    如果你调用 run-scheme 使用prefix参数,它会询问您要运行哪个方案—您可以通过使用

    (let ((current-prefix-arg 1)) (call-interactively 'run-scheme))
    
        2
  •  2
  •   Jared    14 年前

    庸医可能是更好的解决方案,但是如果您想继续使用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)))
    
        3
  •  1
  •   Greg    14 年前