如何在派生模式下阻止semantic-mode
破坏缓冲区局部变量?在我的情况下,我想在C / C ++中使用语义,但我不希望它在从这些模式派生的模式中进行设置。目前,我使用语义来实现以下
(setq semantic-new-buffer-setup-functions
'((c-mode . semantic-default-c-setup)
(c++-mode . semantic-default-c-setup)
(srecode-template-mode . srecode-template-setup-parser)))
并尝试使用
禁用它(add-to-list 'semantic-inhibit-functions
(lambda () (not (memq major-mode '(c-mode c++-mode srecode-template-mode)))))
但是,如果我进入派生模式,如bison-mode
,语义仍会运行其设置,因为它被挂钩到c / c ++中,破坏我在bison-mode-hook
中设置的任何变量,在本例中{ {1}}。如何阻止imenu-create-index-function
设置派生模式?