在change-major-mode-hook似乎运行后已经启用了新的主要模式。如何在主模式发生变化之前运行一个函数?
示例:major-mode-abc具有minor-mode-xyz活动的缓冲区,并且该次要模式负责放置某些叠加层。更改为 时major-mode-def,remove-overlays如果minor-mode-xyz在更改主要模式之前处于活动状态,则必须执行该功能。newmajor-mode-def也会minor-mode-xyz再次激活并立即绘制新的叠加层(这是一件好事);然而,那些新的覆盖(我想保留的)会被'change-major-mode-hook 'remove-overlays nil t. 我宁愿该remove-overlays函数与关联的挂钩一起运行minor-mode-xyz,而不是作为启用major-mode-def.