Hi, Eric.

I test global via command line, when I type "global -P test2.h" in the root directory of my project, it can find the file "tes2.h". This is the command output:

yupeng@messiah:~/work/emacs/test2$ global -P test2.h

Just as it show, I put the test2.h in the folder sub2.

I enabled global-semantic-decoration-mode, but I don't find where to select "Summarize Includes for current buffer". Is it in the Project menu?

I type "C-c . f" and type in test2.h, it can not find test2.h, but I have a file named test3.h, it is in the root directory of my project, "C-c . f" can find it.

I tried "M-x ede-locate-test-global", it show me a buffer like this:
  ] Name: "test"
 ] Class: #'ede-locate-global
 ] :root "/home/yupeng/work/emacs/test2/"
 ] file "test2.h"
 ] lastanswer #<list o' stuff: 1 entries>
 ] hash #<hash-table 'equal nil 0/65 0x92b4428>

Please help me check this problem, thanks.

在2009-01-24,"Eric M. Ludlam" <eric@siege-engine.com> 写道: >Hi, > > It does seem that the location of files via global is not working. > > A first simple step is to try using global to find files via the >command line to make sure your global install is working. > > A second step, you can use a context menu on any header file (when >the decoration mode is enabled) to select "Summarize Includes for >current buffer". > > This should say that EDE is handling project includes. If it is, >then you can use "C-c . f" and type in test2.h. If that doesn't work, >then it is likely a configuration issue. > > Next, you can try: "M-x ede-locate-test-global" to force it to use >gnu-global to try and do a location. > >One of these should eventually reveal what the issue is. Once you >know, I can try and pull the right detection into one of the higher >level debug functions. > >Eric > >>>> yupeng82921 <yupeng82921@163.com> seems to think that: >>Hi, Eric. >> >>The below is the result of semantic-analyze-debug-assist. I defined a struc= >>ture type named TEST2_TYPE in the file test2.h. And it seems semantic do no= >>t find where the head file at. >> >>I also used global-semantic-decoration-mode, and found if a head file is in= >> the current directory it is not high light, if a head file is not in the c= >>urrent direcotry it is high light. >> >>What the problem maybe? >> >>Thanks. >> >>Unable to find datatype for: "class TEST2_TYPE test2". >>Declared type is: "class TEST2_TYPE {}" >>Raw data type is: ("TEST2_TYPE" type (:type "class") nil nil) >> >>Semantic could not find this data type in any of its global tables. >> >>Semantic locates datatypes through either the local scope, or the global >>typecache. >> >>Local Scope Information: >> * Tag Class Constraint against SCOPE: (type) >> * No known parents in current scope. >> * No known symbols currently in scope. >> * No known symbols declared locally. >>Semantic creates and maintains a type cache for each buffer. >>If the type is a global type, then it should appear in they typecache. >>To examine the typecache, type: >> >> M-x semanticdb-typecache-dump RET [ Do It ] >> >>Current typecache Statistics: >> 0 types global in this file >> 1 types from includes. >> >>If the datatype is not in the typecache, then your include >>path may be incorrect. =20 >> >>Include Summary: /home/yupeng/work/emacs/test2/test2.c >> >>test2.c contains 3 includes. >> Unknown Includes: 2 >> Unparsed Includes: 0 >> Parsed Includes: 1 >> >>A likely cause of an unfound tag is missing include files. >>The following includes were not found: >> test2.h >> test1.h >> >>You can fix the include path for c-mode by using this function: >> >>M-x semantic-customize-system-include-path RET [ Do It ] >> >>which customizes the mode specific variable for the mode-local >>variable `semantic-dependency-system-include-path'. > [ ... ] > >-- > Eric Ludlam: eric@siege-engine.com > Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net