run-sml在emacs sml-mode中不起作用

时间:2017-05-10 14:33:57

标签: emacs polyml sml-mode

我想在Fedora上的emacs中使用sml-mode。我的~/.emacs文件包含

(add-to-list 'load-path "/home/gbuday/prooftheory/sml-mode")
(autoload 'sml-mode "sml-mode" "Major mode for editing SML." t)
(autoload 'run-sml "sml-proc" "Run an inferior SML process." t)

其中该目录包含git-cloned sml-mode文件。

我编辑了sml-mode.el以获得

(defcustom sml-program-name "/home/gbuday/prooftheory/polyml/bin/poly"
"Program to run as Standard SML read-eval-print loop."
:type 'string)

确实启动了我想要使用的版本PolyML。

当我输入M-x run-sml来运行一个较差的SML读取 - 评估 - 打印循环时,我得到了

Cannot open load file: sml-proc

在迷你缓冲区中。我该怎么做才能更好?

2 个答案:

答案 0 :(得分:1)

我没有注意到sml-proc个文件。您使用的是什么版本的sml-mode,看起来当前版本是6.7,自动加载run-sml(或sml-run)也应该来自sml-mode,例如

(autoload 'run-sml "sml-mode")

您应该在配置文件中使用(setq sml-program-name ...)设置sml程序,您无需更改源代码。

答案 1 :(得分:1)

尝试一下:

(setenv "PATH" (concat "/usr/local/smlnj/bin:" (getenv "PATH")))
(setq exec-path (cons "/usr/local/smlnj/bin"  exec-path))

用适当的路径替换/ usr / local。