在派生模式下禁用语义

时间:2018-02-15 22:44:33

标签: emacs emacs-semantic

如何在派生模式下阻止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设置派生模式?

0 个答案:

没有答案