我想在 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 替换为适当的路径。