【发布时间】:2014-09-12 01:57:22
【问题描述】:
change-major-mode-hook 似乎正在运行新的主要模式已经启用。在主模式发生变化之前如何运行一个函数?
示例:带有major-mode-abc 的缓冲区有minor-mode-xyz 处于活动状态,并且该次要模式负责放置某些覆盖。更改为major-mode-def 时,如果minor-mode-xyz 在更改主要模式之前处于活动状态,则必须执行函数remove-overlays。新的major-mode-def 也再次激活minor-mode-xyz 并立即绘制新的叠加层(这是一件好事);然而,那些新的覆盖(我想保留的)被'change-major-mode-hook 'remove-overlays nil t 删除了。我宁愿 remove-overlays 函数使用与 minor-mode-xyz 关联的钩子运行,而不是作为启用 major-mode-def 的一部分。
【问题讨论】: