I don't think there is anything wrong. What happens is that cscope and
global can only be used to identify in a symbol you look for *exists*.
Once the symbol is known to exist, that faux tag is returned.
If the tool you use does something like they symref output buffer, then
each file needs to be pinged to load in the line where the match occurs.
The side effect is the regular parsing activities of semantic.
If the tool you use is a completion engine or the like, then once the
tag is known to exist, the limited information provided by global or
cscope must be augmented with type information and other details, which
also requires parsing the source file.
The *good* news is that you are parsing many fewer files than without
those databases available.
Eric
On 07/28/2011 05:04 AM, Roberto Vargas Caballero wrote:
> Hi,
>
> I have configured emacs for CEDET but I think there is some problem
> because it seems ignore cscope and globals databases.
>
> My configuration it is:
>
> (require 'ede)
> (require 'ede-locate)
> (global-ede-mode 1)
>
>
> (require 'semantic-load)
> (require 'semanticdb-system)
> (require 'semantic-ia)
> (require 'semantic-gcc)
> (require 'semanticdb-global)
> (require 'semanticdb-ectag)
>
>
> (setq semantic-load-turn-everything-on t)
> (semantic-load-enable-excessive-code-helpers)
> (global-semantic-idle-completions-mode -1)
>
>
> (when (executable-find "locate")
> (add-to-list 'ede-locate-setup-options 'ede-locate-locate))
>
>
> (when (cedet-gnu-global-version-check t)
> (add-to-list 'ede-locate-setup-options 'ede-locate-global)
> (semanticdb-enable-gnu-global-databases 'c-mode)
> (semanticdb-enable-gnu-global-databases 'c++-mode))
>
>
> (when (cedet-cscope-version-check t)
> (add-to-list 'ede-locate-setup-options 'ede-locate-cscope)
> (semanticdb-enable-cscope-databases))
>
> (when (cedet-idutils-version-check t)
> (add-to-list 'ede-locate-setup-options 'ede-locate-idutils))
>
> (when (semantic-ectag-version)
> (semantic-load-enable-primary-exuberent-ctags-support)
> (semantic-load-enable-secondary-exuberent-ctags-support))
>
> (semanticdb-load-system-caches)
>
>
>
> ETags, IDutils, Global, cscope and locate programs are installed in my
> system, so all the code is evaluated.
> After loading my automake project and visit a file my Globals database is:
>
> *#<semanticdb-project-database-global global (1 tables)>
> ] Name: "global"
> ] Class: #'semanticdb-project-database-global
> ] reference-directory #unbound
> ] new-table-class #'semanticdb-table
> ] cache : nil
> ] :tables #<list o' stuff: 1 entries>
> > #<semanticdb-table-global GNU Global Search Table (0 tags)>
> ] Name: "GNU Global Search Table"
> ] Class: #'semanticdb-table-global
> ] parent-db #<semanticdb-project-database-global global (1
> tables)>
> ] :major-mode : nil
> ] :tags : nil
> ] index #unbound
> ] cache : nil
>
>
> and cscope database is:
>
> *#<semanticdb-project-database-cscope CScope (1 tables)>
> ] Name: "CScope"
> ] Class: #'semanticdb-project-database-cscope
> ] reference-directory #unbound
> ] new-table-class #'semanticdb-table
> ] cache : nil
> ] :tables #<list o' stuff: 1 entries>
> > #<semanticdb-table-cscope Cscope Search Table (0 tags)>
> ] Name: "Cscope Search Table"
> ] Class: #'semanticdb-table-cscope
> ] parent-db #<semanticdb-project-database-cscope CScope (1
> tables)>
> ] :major-mode : nil
> ] :tags : nil
> ] index #unbound
> ] cache : nil
>
>
> and my ebrowse database only has information about structs and class:
>
>
> *#<semanticdb-project-database-ebrowse /opt/suse11.2/usr/include/ (42
> tables)>
> ] Name: "/opt/suse11.2/usr/include/"
> ] Class: #'semanticdb-project-database-ebrowse
> ] reference-directory "/opt/suse11.2/usr/include/"
> ] new-table-class #'semanticdb-table-ebrowse
> ] cache : nil
> ] :tables #<list o' stuff: 42 entries>
> ...
> > #<semanticdb-table-ebrowse stdlib.h (2 tags)>
> ] Name: "stdlib.h"
> ] Class: #'semanticdb-table-ebrowse
> ] parent-db #<semanticdb-project-database-ebrowse
> /opt/suse11.2/usr/include/ (42 tables)>
> ] :major-mode #'c++-mode
> ] :tags #<TAG LIST: 2 entries>
> * drand48_data : class
> * random_data : class
> ] index #unbound
> ] cache : nil
> ] :file "stdlib.h"
> ] buffer : nil
> ] dirty : nil
> ] db-refs : nil
> ] :pointmax : nil
> ] :fsize : nil
> ] :lastmodtime : nil
> ] :unmatched-syntax #unbound
> ] :lexical-table : nil
> ] :ebrowse-tree : nil
> ] :global-extract : nil
>
>
> If I try some symref of completions with this databases cedet have to
> parse all files without using any information of Cscope or Globals, so
> it seems not be helpful at all. I can use standalone programs without
> problems, so it seems databases are ok.
>
> Can someone help me?
>
>
> Thanks.
>
>
>
>
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Got Input? Slashdot Needs You.
> Take our quick survey online. Come on, we don't ask for help often.
> Plus, you'll get a chance to win $100 to spend on ThinkGeek.
> http://p.sf.net/sfu/slashdot-survey
>
>
>
> _______________________________________________
> cedet-semantic mailing list
> cedet-semantic@...
> https://lists.sourceforge.net/lists/listinfo/cedet-semantic
|