【发布时间】:2013-09-24 10:28:08
【问题描述】:
我的 Emacs 中有奇怪的东西,我找不到它,每次我切换缓冲区时,我都会收到带有主要模式名称的消息,即使我调用函数时也会收到 minibuffer-inactive-mode
我的 .emacs 文件(我认为)中唯一的全局函数(适用于所有模式)是:
(add-hook 'after-change-major-mode-hook (lambda ()
(if (not (memql (intern (major-mode))
'(fundamental-mode
erc-mode
text-mode
sql-mode)))
(local-set-key (kbd "RET")
'new-line-and-indent-fix))))
如何找到添加这个烦人的东西的地方?每种模式可以执行哪些不同的钩子?
【问题讨论】:
-
“emacs -q”会发生这种情况吗?如果是这样,“emacs -Q”是否会发生这种情况?如果“emacs -q”删除了这个,我建议对你的配置文件进行“二进制搜索”(选择性地评估它的一部分,直到找到罪魁祸首)。
-
major-mode不是函数,因此在您引用的代码中,您希望将(intern (major-mode))替换为major-mode(因为major-mode的值已经是一个内部符号)。跨度> -
您看到的烦人信息是什么?您是否尝试过
grepping 在您使用的源代码中处理该消息? -
@Stefan 它表明主要模式是一个函数和一个变量。
-
@Draw 消息是主模式变量的值。我不能grep它。
标签: emacs buffer elisp major-mode