Re: [cedet-semantic] semantic-add-system-include does not take effect
Brought to you by:
zappo
From: Chris <bb...@gm...> - 2009-12-22 13:58:07
|
Eric M. Ludlam wrote: > Hi Chris, > > If you change the lines you listed from your .emacs file to: > > ---------------- > (setq semantic-load-turn-everything-on t) > (load-file "/home/chris/.emacs.d/lisp/cedet/common/cedet.el") > (semantic-load-enable-excessive-code-helpers) > > (require 'semantic-c) ;; <-- add this line > > (semantic-add-system-include "~/work/c/bash-src/bash-3.2/bash-3.2/" > 'c-mode) > (print (mode-local-value 'c-mode > 'semantic-dependency-system-include-path)) > (semantic-add-system-include "~/work/c/bash-src/bash-3.2/bash-3.2/" > 'c++-mode) > (print (mode-local-value 'c++-mode > 'semantic-dependency-system-include-path)) > ----------------------- > > does that solve your problem? > > Eric > > Chris wrote: >> Eric M. Ludlam wrote: >>> Hi, >>> >>> The intention is for what you did to work, though I don't doubt that >>> there may be some initialization issue. For now, you can probably >>> just add: >>> >>> (require 'semantic-c) >>> >>> just before your commands to add the system include files. Hopefully >>> I, or someone else may figure out why it doesn't work the other way >>> soon. >>> >>> Eric >>> >>> Chris wrote: >>>> I have this in my .emacs: >>>> (semantic-add-system-include "~/work/c/bash-src/bash-3.2/bash-3.2/" >>>> 'c-mode) >>>> >>>> But if I open a .c file, and check the variable >>>> semantic-dependency-system-include-path(C-h f >>>> semantic-add-system-include tells me it will modify this variable): >>>> Its value is >>>> ("/usr/local/include/" "/usr/lib/gcc/i486-linux-gnu/4.3.4/include/" >>>> "/usr/lib/gcc/i486-linux-gnu/4.3.4/include-fixed/" >>>> "/usr/include/i486-linux-gnu/" "/usr/include/") >>>> >>>> There isn't the directory I want to add into the system include >>>> path. If I opened the .c file first, and evaluate the statement >>>> above, the directory would then be added. >>>> Do I use semantic-add-system-include wrong? >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> This SF.Net email is sponsored by the Verizon Developer Community >>>> Take advantage of Verizon's best-in-class app development support >>>> A streamlined, 14 day to market process makes app distribution fast >>>> and easy >>>> Join now and get one step closer to millions of Verizon customers >>>> http://p.sf.net/sfu/verizon-dev2dev >>>> _______________________________________________ >>>> cedet-semantic mailing list >>>> ced...@li... >>>> https://lists.sourceforge.net/lists/listinfo/cedet-semantic >>>> >> I put only these lines in my .emacs: >> >> (setq semantic-load-turn-everything-on t) >> (load-file "/home/chris/.emacs.d/lisp/cedet/common/cedet.el") >> (semantic-load-enable-excessive-code-helpers) >> (semantic-add-system-include "~/work/c/bash-src/bash-3.2/bash-3.2/" >> 'c-mode) >> (print (mode-local-value 'c-mode >> 'semantic-dependency-system-include-path)) >> (semantic-add-system-include "~/work/c/bash-src/bash-3.2/bash-3.2/" >> 'c++-mode) >> (print (mode-local-value 'c++-mode >> 'semantic-dependency-system-include-path)) >> >> and it prints "~/work/c/bash-src/bash-3.2/bash-3.2/" twice which I >> expect. >> Buf after I open a .c or .cpp file, the value of >> semantic-dependency-system-include-path in each mode changes. >> In c-mode: >> ("/usr/local/include/" "/usr/lib/gcc/i486-linux-gnu/4.3.4/include/" >> "/usr/lib/gcc/i486-linux-gnu/4.3.4/include-fixed/" >> "/usr/include/i486-linux-gnu/" "/usr/include/") >> >> In c++-mode: >> ("~/work/c/bash-src/bash-3.2/bash-3.2/" "/usr/include/c++/4.3/" >> "/usr/include/c++/4.3/i486-linux-gnu/" >> "/usr/include/c++/4.3/backward/" "/usr/local/include/" >> "/usr/lib/gcc/i486-linux-gnu/4.3.4/include/" >> "/usr/lib/gcc/i486-linux-gnu/4.3.4/include-fixed/" >> "/usr/include/i486-linux-gnu/" "/usr/include/") >> >> I think some function may overwrite the value of >> semantic-dependency-system-include-path in c-mode. >> But I don't know how to solve this problem. Could any one help? Uh..It works. I tried to add (require 'semantic-c) before, and nothing happend. Maybe I didn't put it in the right place before. I thought semantic-load-turn-everything-on would load all, so I didn't realize the importance of some "require" statements. Thanks. |