【发布时间】:2011-09-14 18:49:45
【问题描述】:
这个问题可能与 this question 重复,但我无法在我的 emacs 中正常工作。
每当我进入主要模式matlab-mode 时,我都会尝试进入次要模式mlint-mode(两种模式都可以在their SourceForge page 获得)。我的 .emacs 文件中有以下内容:
(add-hook 'matlab-mode-hook
(function (lambda()
(mlint-mode))))
这看起来像是我上面链接的问题的答案。打开.m 文件时,出现以下错误:
文件模式指定错误:(void-function mlint-mode)
当我打开.m 文件时,有人可以帮助我编写正确的钩子以输入mlint-mode 吗? FWIW,我正在运行 emacs 23.1.50.1。
【问题讨论】:
-
为什么不只是
(add-hook 'matlab-mode-hook 'mlint-mode)?你确定你真的加载了次要模式吗? -
这是我尝试的第一件事,但没有成功。请参阅下面的@Lindydancer 的回答..
-
您不会那样做,因为大多数次要模式在不带参数调用时会切换它们的功能(就像您以交互方式调用它们时一样)。因此,如果已经为缓冲区启用了 mlint 模式并且您更改为 matlab 模式,则上述形式将具有切换 mlint 模式关闭的效果。因此,在使用钩子函数启用次要模式时,您通常希望传递一个参数(通常是 1 或 t,但请检查适当的文档字符串)。