Run-SML 在 Emacs SML 模式下不起作用



我想在 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 克隆的 SML 模式文件。

我编辑了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

在迷你缓冲区中。我应该在这里做得更好吗?

我知道没有sml-proc文件。 您使用的是哪个版本的sml-mode,看起来当前版本是 6.7,并且自动加载run-sml(或sml-run(也应该从sml-mode完成,例如

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

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

试试这个:

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

将/usr/local 替换为适当的路径。

最新更新