Re[6]: [Ecb-list] [cedet-semantic] Beginner help
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2004-07-23 18:48:13
|
Ok, it wasn't clear to me originally. I do know there are a few issues in this area. Reading back to the beginning, I see that you were using senator-complete-jump. senator-complete-jump will scan all DBs in your project. We call this a "brute" search because it scans every symbol in your project. In this some work needs to be done to load them. I've just added a FIXME comment to the location where this needs to be updated. The summary mode uses a search via include paths. This means it scans the current file, then looks for includes, and scans those file. This search will reach out reach in files to look for tags. Because that can be very very slow, there is currently a limitor to scan down one level of include files. For me, this catches a vast majority of entries I need. As such, if you have many levels of includes in a C or C++ project, this might not work for you. Does this makes sense? Eric >>> "Nik Langrind" <lan...@co...> seems to think that: >Hi Eric, > >I'm not sure I understand what you mean by the word "tool" so sorry if this >is muddled. I believe I have semantic-idle-summary-mode active, because when >the cursor is on a tag that is in the current directory's database, then >after a second or two, a description of the tag appears below the mode line. > > >So let's say that the tool I'm using is semantic-idle-summary-mode. I can >demonstrate the problem with that. If I place the cursor at a tag that is >defined in a different directory, no description ever appears. > >If I turn on semanticdb-find-enable-logging, the log buffer shows many >messages like: > > New Search: nil > >So it seems to me that I have broken autoloading somehow. How can I can I >investigate further? > >Thanks, >Nik > > >p.s. Here's how I set things up: > >(load-file "~/dnload/cedet-1.0beta3a/common/cedet.el") >(semantic-load-enable-excessive-code-helpers) >(add-to-list 'load-path "~/dnload/ecb-2.25") >(require 'ecb) >(custom-set-variables > ;; custom-set-variables was added by Custom -- don't edit or cut/paste it! > ;; Your init file should contain only one such instance. > '(ecb-options-version "2.25") > '(ecb-source-path (quote ("~/sps/include" "~/sps/ds1/src" "~/sps/ds3/src" >"~/sps/ds1/include" "~/sps/ds3/include" ("/" "/")))) >'(global-semantic-highlight-edits-mode nil nil (semantic-util-modes)) > '(global-semantic-idle-completions-mode t nil (semantic-idle)) > '(global-semantic-idle-scheduler-mode t nil (semantic-idle)) > '(global-semantic-idle-summary-mode t nil (semantic-idle)) > '(global-semantic-show-parser-state-mode nil nil (semantic-util-modes)) > '(global-semantic-show-unmatched-syntax-mode nil nil (semantic-util-modes)) > '(global-semantic-stickyfunc-mode t nil (semantic-util-modes)) > '(global-senator-minor-mode t nil (senator)) > '(semanticdb-default-save-directory "~/sps/semdb") > '(which-function-mode nil nil (which-func))) >(custom-set-faces > ;; custom-set-faces was added by Custom -- don't edit or cut/paste it! > ;; Your init file should contain only one such instance. > ) > >(setq semanticdb-project-roots > (list "~/sps")) > >-----Original Message----- >From: Eric M. Ludlam [mailto:er...@si...] >Sent: Thursday, July 22, 2004 11:04 AM >To: Nik Langrind >Cc: ced...@li...; ecb...@li... >Subject: Re[4]: [Ecb-list] [cedet-semantic] Beginner help > >I'm not sure what specific tool you are using, so I'm not sure if >something is set up wrong or not. > >If you are using a tool like semantic-idle-summaries-mode, it should >scan the current project and load those databases on demand because >the search routines it uses has that built in. Some types of searches >do not load those directories on demand. > >Eric > >>>> "Nik Langrind" <lan...@co...> seems to think that: >>Hi Eric, >> >>Thank you. Invoking semanticdb-get-database for each source and include >path >>gets the result I want, which is that I can start emacs fresh and have it >>know all about the source tree I am browsing, without me having to visit >>source files (other than the first one, so that semantic-minor-mode is >>enabled.) >> >>I can work with this behavior, but it sounds like you are saying it can be >>even more automatic. >> >>In other words, I will be manually maintaining a file with a bunch of >>semanticdb-get-database statements, one for each leaf directory in my >source >>tree. But it sounds like semanticdb could potentially load, when emacs >>starts up, all the semantic caches it finds in the entire source tree. Is >>this a feature that exists, and I simply have .emacs set up wrong. >> >>Thank you, >>Nik >> >>p.s. I'm really enjoying ECB and Semantic - it is great to be able to have >>these IDE features without having to give up my favorite editor! >> >>-----Original Message----- >>From: Eric M. Ludlam [mailto:er...@si...] >>Sent: Thursday, July 22, 2004 7:07 AM >>To: Nik Langrind >>Cc: ced...@li...; ecb...@li... >>Subject: Re[2]: [Ecb-list] [cedet-semantic] Beginner help >> >>Hi, >> >>Which tool do you want to have the caches loaded for? I think the >>semantic searches and completion should auto-load those files. >> >>In the meantime you can add this to your .emacs file: >> >>(semanticdb-get-database "/home/you/cedet/common") >>(semanticdb-get-database "/home/you/cedet/semantic") >>(semanticdb-get-database "/home/you/cedet/etc") >> >>to autoload whichever databases you want. >> >>Eric >> >>>>> "Nik Langrind" <lan...@co...> seems to think that: >>>Hi, >>> >>>How can I force all the semantic caches to be loaded, without visiting >>>source files? >>> >>>I have: >>> >>> a) set the semanticdb-project-roots to the name of a directory >>> b) created a number of caches >>> c) set ecb-source-paths to be a list of paths under the directory >>> named in semanticdb-project-roots >>> >>>But after starting emacs fresh, I still need to visit a source file in a >>>directory to get the semantic-cache for that directory loaded. >>> >>>I've tried this with both modes: a single directory for all the >semanticdb, >>>or the single semantic.cache file per directory. I've also gone through >>many >>>of the customization options for semantic, semanticdb and ecb. I might be >>>starting to panic :-) >>> >>>Looking through the sources (I can't really read lisp) I see some >functions >>>that look promising (e.g. ecb--semantic-fetch-tags) but many of these are >>>not loaded. Why does this happen? >>> >>>Thank you, >>>Nik >>> >>>-----Original Message----- >>>From: ecb...@li... >>>[mailto:ecb...@li...] On Behalf Of Eric M. Ludlam >>>Sent: Sunday, July 18, 2004 9:35 PM >>>To: Nik Langrind >>>Cc: ced...@li...; ecb...@li... >>>Subject: [Ecb-list] Re[1]: [cedet-semantic] Beginner help >>> >>>>>> "Nik Langrind" <lan...@co...> seems to think that: >>>>I want to visit the file:line that defines a C function. When I use >>>>senator-jump, if the current buffer has the file where the function is >>>>defined, then it works. But if the current buffer has a different file, = >>>>the >>>>response is [No Match]. How can I arrange to visit the correct file, = >>>>even if >>>>it is not opened by emacs yet? Thanks for any help you can provide. >>> [ ... ] >>> >>>Hi, >>> >>> There are two senator jump functions. One for jumping locally >>>(fast) and one project-wide. The second is bound to "C-, J". >>>You will have needed to visit the file at least once, but not >>>necessarily in the current session. >>> >>> There is also etags, and old standby, bound to "M-." >>> >>>Eric >>> >>> >>>------------------------------------------------------- >>>This SF.Net email is sponsored by BEA Weblogic Workshop >>>FREE Java Enterprise J2EE developer tools! >>>Get your free copy of BEA WebLogic Workshop 8.1 today. >>>http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click >>>_______________________________________________ >>>Ecb-list mailing list >>>Ecb...@li... >>>https://lists.sourceforge.net/lists/listinfo/ecb-list >>> >>> >> >> > |