Emacs 语义标记折叠

Emacs 语义标记折叠,emacs,lisp,elisp,emacs24,cedet,Emacs,Lisp,Elisp,Emacs24,Cedet,我希望每次打开.cpp文件时,语义标记折叠都会激活。我使用的是最新版本的cedet(加载cedet-devel-load.el)。我有 我加了一个钩子 (add-hook 'c-mode-common-hook 'setupcpp) 在“设置CPP”中,我只需要 (defun setupcpp () (interactive) (semantic-tag-folding-mode t)) 在my.emacs中,此后不会发生任何与cedet/semantic相关的事情。事实上,我可以将此作为.

我希望每次打开.cpp文件时,语义标记折叠都会激活。我使用的是最新版本的cedet(加载cedet-devel-load.el)。我有

我加了一个钩子

(add-hook 'c-mode-common-hook 'setupcpp)
在“设置CPP”中,我只需要

(defun setupcpp ()
(interactive)
(semantic-tag-folding-mode t))
在my.emacs中,此后不会发生任何与cedet/semantic相关的事情。事实上,我可以将此作为.emacs的唯一内容

它不起作用。打开.cpp文件时,我得到消息文件模式规范错误:(错误“Buffer foo.cpp不能被语义折叠”)


奇怪的是,一旦文件打开,我使用M-x语义标记折叠模式,它就可以工作了!我迷路了。

我使用Emacs 24.3和最新的cedet bzr版本得到了完全相同的错误

我的解决方案如下: 每当有东西被装饰时,折叠模式也会被启用

(load-library "~/emacs/cedet/cedet-bzr/trunk/cedet-devel-load")
(load-library "contrib/semantic-tag-folding.el")

(defun do-after-decorate () (semantic-tag-folding-mode t) )
(add-hook 'semantic-decoration-mode-hook 'do-after-decorate) 
;; ... 
(semantic-load-enable-excessive-code-helpers) ; also starts the decorate-mode when useful.
对我有用

(load-library "~/emacs/cedet/cedet-bzr/trunk/cedet-devel-load")
(load-library "contrib/semantic-tag-folding.el")

(defun do-after-decorate () (semantic-tag-folding-mode t) )
(add-hook 'semantic-decoration-mode-hook 'do-after-decorate) 
;; ... 
(semantic-load-enable-excessive-code-helpers) ; also starts the decorate-mode when useful.