【发布时间】:2020-01-14 08:14:50
【问题描述】:
我已经在 Emacs(版本 26.2)中安装了包 sml-mode(版本 6.9),但是当我尝试打开一个 .sml 文件时,我在 minibuffer 中收到以下错误:File mode specification error: (invalid-read-syntax ?) .因此,编辑器无法识别 SML 语法,这一点也很清楚,因为当前模式显示 Fundamental 模式而不是 SML。
这些是我设置环境的步骤:
- 我先在
usr/local/sml安装了smlnj。 - 我已经尝试安装预设的
sml-mode包(M-x list-packages)。然而这并没有成功。 - 然后我在我的机器上从https://elpa.gnu.org/packages/sml-mode.html 下载了
sml-mode-6.9.el的内容,并将其安装在Emacs 上(M-x package-install-file)。 - Emacs 中的软件包列表在
sml-mode软件包旁边显示 Installed,但显然不起作用。
使用 M-x toggle-debug-on-error 会给出以下堆栈跟踪:
Debugger entered--Lisp error: (invalid-read-syntax "?")
read(#<buffer *load*>)
eval-buffer(#<buffer *load*> nil "/home/Roberto/.emacs.d/elpa/sml-mode-6.9/sml-mode.el" nil t) ; Reading at buffer position 9890
load-with-code-conversion("/home/Roberto/.emacs.d/elpa/sml-mode-6.9/sml-mode.el" "/home/Roberto/.emacs.d/elpa/sml-mode-6.9/sml-mode.el" nil t)
sml-mode()
set-auto-mode-0(sml-mode nil)
set-auto-mode()
normal-mode(t)
after-find-file(t t)
find-file-noselect-1(#<buffer test.sml> "~/test.sml" nil nil "~/test.sml" nil)
find-file-noselect("~/test.sml" nil nil t)
find-file("~/test.sml" t)
funcall-interactively(find-file "~/test.sml" t)
call-interactively(find-file nil nil)
command-execute(find-file)
【问题讨论】:
-
调用 sml 模式时出现问题。试试
M-x toggle-debug-on-error- 这样你应该得到一个堆栈跟踪,指出错误发生的位置。然后edit您的问题并添加堆栈跟踪(格式化为代码块)。 -
谢谢我用堆栈跟踪编辑了问题