Thread: [cedet-semantic] semantic-add-system-include does not take effect
Brought to you by:
zappo
From: Chris <bb...@gm...> - 2009-12-19 13:54:36
|
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? |
From: Eric M. L. <er...@si...> - 2009-12-20 23:05:32
|
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 > |
From: Chris <bb...@gm...> - 2009-12-21 04:50:06
|
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? |
From: Eric M. L. <er...@si...> - 2009-12-22 01:56:40
|
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? |
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. |
From: Eric M. L. <er...@si...> - 2009-12-26 16:13:27
|
Chris wrote: > 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 > 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. CEDET is optimized to load in as little as possible at startup to inprove Emacs boot time performance. In this case it should not be necessary to require semantic-c, but it seems like the right way to work around this issue for right now. Eric |