此问题可能与this question重复,但我无法在我的emacs中正常使用以下内容。
每当我进入主要模式mlint-mode
时,我都会尝试进入次要模式matlab-mode
(这两种模式都可在their SourceForge page处获得)。我的.emacs文件中有以下内容:
(add-hook 'matlab-mode-hook
(function (lambda()
(mlint-mode))))
看起来像我上面链接的问题的答案。打开.m
文件时,出现以下错误:
文件模式指定错误:(void-function mlint-mode)
当我打开mlint-mode
文件时,有人可以帮助我帮助我编写正确的钩子以输入.m
吗? FWIW,我正在运行emacs 23.1.50.1。
答案 0 :(得分: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模式,或者如果先前启用则保持打开状态。