[CEDET-devel] Issue with semantic-decoration-on-includes-highlight
Brought to you by:
zappo
From: Damien D. <dam...@ne...> - 2010-01-07 09:32:15
|
Hi cedet-devel, Since an unknown number of versions of cedet i suffer from a strange bug that i was able to isolate but not reproduce on simple case yesterday. First i use last emacs trunk and last cedet from cvs, here is an extract of how i enable the modules i want to use in cedet. ; minimal + custom (only activate what we need and use) (semantic-load-enable-minimum-features) (global-semantic-idle-scheduler-mode 1) (global-semantic-idle-summary-mode 1) (global-semantic-idle-tag-highlight-mode 1) (global-senator-minor-mode 1) (global-semantic-decoration-mode 1) The bug is the following: Sometimes, When i open some .c or .h file semantic throws the following error, it also happens when jumping to the definition of a symbol using gtags.el "semantic-decoration-on-includes-highlight: Wrong type argument: arrayp, nil" If i enable debug-on-error here is what i have when trying to switch from a .c file to a .h file using sourcepair (partially anonymized): Debugger entered--Lisp error: (wrong-type-argument arrayp nil) semantic-decoration-on-includes-highlight-default(("foo.h" include nil (dependency-file "/somepath/foo.h") nil)) semantic-decoration-on-includes-highlight(("foo.h" include nil (dependency-file "/somepath/foo.h") nil)) semantic-decorate-add-decorations((("_XX_XXX_H" variable (:constant-flag t) nil nil) ("foo.h" include nil (dependency-file "/somepath/foo.h") nil) ("func1" function (:prototype-flag t :pointer 1 :arguments ... :type "char") nil nil))) semantic-decoration-mode-setup() semantic-decoration-mode() run-hooks(semantic-init-hook) semantic-new-buffer-fcn() run-hooks(mode-local-init-hook) #[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2]() mode-local-map-file-buffers(#[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2] #[nil " =?\207" [mode-local--init-mode major-mode] 2] (#<buffer foo2.h>)) mode-local-post-major-mode-change() run-hooks(find-file-hook) after-find-file(nil t) find-file-noselect-1(#<buffer foo2.h> "/somepath/foo2.h" nil nil "/somepath/foo2.h" (10976667 94)) find-file-noselect("/somepath/foo2.h" nil nil nil) find-file("/somepath/foo2.h") byte-code("...." [temp search-path possible-filenames matching-filename path-to-check sourcepair-analyze-filename buffer-name 0 message "%s is not a recognized source or header file (consider updating sourcepair-source-extensions or sourcepair-header-extensions)" nil 3 -2 "/*" sourcepair-find-one-of t throw found-matching-file find-file "No matching file for " " (consider updating sourcepair-source-path, sourcepair-header-path)"] 5) sourcepair-load() call-interactively(sourcepair-load nil nil) Here is another trace if i just ido-open-file: Debugger entered--Lisp error: (wrong-type-argument arrayp nil) semantic-decoration-on-includes-highlight-default(("foo.h" include nil (dependency-file "/somepath/foo.h") nil)) semantic-decoration-on-includes-highlight(("foo.h" include nil (dependency-file "/somepath/foo.h") nil)) semantic-decorate-add-decorations((("_XX_XXX_H" variable (:constant-flag t) nil nil) ("foo.h" include nil (dependency-file "/somepath/foo.h") nil) ("func1" function (:prototype-flag t :pointer 1 :arguments ... :type "char") nil nil))) semantic-decoration-mode-setup() semantic-decoration-mode() run-hooks(semantic-init-hook) semantic-new-buffer-fcn() run-hooks(mode-local-init-hook) #[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2]() mode-local-map-file-buffers(#[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2] #[nil " =?\207" [mode-local--init-mode major-mode] 2] (#<buffer foo2.h>)) mode-local-post-major-mode-change() run-hooks(find-file-hook) after-find-file(nil t) find-file-noselect-1(#<buffer foo2.h> "/somepath/foo2.h" nil nil "/somepath/foo2.h" (10976667 94)) find-file-noselect("/somepath/foo2.h" nil nil) ido-file-internal(raise-frame) ido-find-file() call-interactively(ido-find-file nil nil) The issue vanish if i disable (global-semantic-decoration-mode 1) but i lose the overline decoration on function declaration which i find fancy and usefull, so to keep that part and disable the decoration on include i am forced to remove the ;;###autoload in semantinc-decorate-include.el. If you need any other information do not hesitate to ask. Damien -- Damien Deville R&D engineer dam...@ne... http://www.netasq.com NETASQ - We secure IT |