4

这个问题可能是这个问题的重复,但我无法在我的 emacs 中正常工作。

mlint-mode每当我进入主要模式时,我都会尝试进入次要模式matlab-mode(两种模式都可以在他们的 SourceForge 页面上找到)。我的 .emacs 文件中有以下内容:

(add-hook 'matlab-mode-hook
      (function (lambda()
                  (mlint-mode))))

这看起来像是我上面链接的问题的答案。打开.m文件时,我收到以下错误:

文件模式规范错误:(void-function mlint-mode)

mlint-mode当我打开.m文件时,有人可以帮助我编写正确的钩子输入吗?FWIW,我正在运行 emacs 23.1.50.1。

4

1 回答 1

10

我认为正确的名称是mlint-minor-mode。另外,请记住确保 Emacs 知道所有 matlab 内容,这可以使用以下方法完成:

(require 'matlab-load)

附带说明一下,在挂钩中使用 lambda 函数通常是个坏主意。如果你检查钩子的值,你会看到很多不相关的东西。此外,如果您修改您的 lambda 表达式并重新添加它,旧版本和新版本都将陷入困境。

相反,您可以执行以下操作:

(defun my-matlab-hook ()
   (mlint-minor-mode 1))
(add-hook 'matlab-mode-hook 'my-matlab-hook)

“1”确保 mlint 模式已打开或如果较早启用则保持打开状态。

于 2011-09-14T19:02:58.327 回答