Thread: Re: [cedet-semantic] ede, project type: Makefile, C++ sources. semantic-ia-fast-jump does not work
Brought to you by:
zappo
From: Michal <rab...@te...> - 2009-09-02 17:05:48
|
hallo Eric & Group Memebers First of all sorry for doubled reply post. I just didn't get reply to may mailbox for 2 days so decided to resend it again. Unfortunately it still does not work for me. Please look at notes inside the reply. > From: Eric M. Ludlam <eric@si...> - 2009-09-01 03:32 > Hi, > > I tried your example, and got the failed ability to jump between the > two parts. I guessed it was because not all the files had been parsed, > so I ran: > > M-x semantic-debug-idle-work-function RET did it while in Human.h buffer (probably does not matter where I was then). > > which I know just happens to parse all the files next to the file you > are in. Once this was done, I can now jump between the impl and > prototype and back again. > > For more complex projects, you would need to get Semantic to parse your > key files ahead of time. The above function only helps for files in the > same directory as the current buffer. The semanticdb.sh script could be > used to initialize things ahead of time. It might help to use GNU > Global integration, though I haven't tried these two tools together in > this way. I'm guessing it would work. > > This is a bit of a hairy problem, since one of the strengths in CEDET > for massive projects is that it will only parse the bits you use, which > is incompatible with the need for a global table of symbols. If CEDET > were to load in everything for a big project, it can overload your Emacs > session with big piles of useless tags you never access. > > Hopefully these tricks can help get your working. The EDE trick you > have below is great for compilation and such, or for finding files by > name from includes. > > The database output you have below indicates that you did successfully > parse all the files in your examples, so most of my advice above may be > moot. You can try: > > M-z semantic-analyze-current-tag result: ] Name: "present" ] Class: #'semantic-analyze-references ] :tag present : void ] :tagdb : nil ] :scope #<semantic-scope-cache Cache> ] :rawsearchdata : nil > > on the offending location to see what the reference analyzer output is. > I don't think there are any caches to flush, but if so, you can always > use the Senator menu item "Force Tag Refresh" to clear stuff. also done "Force Tag Refresh". > > Eric best regards, Michal |
From: Eric M. L. <er...@si...> - 2009-09-03 00:42:03
|
Hi, As I replicated your scenario as I understand it, and things worked for me, I'm at a bit of a loss. Is this related to your earlier tramp question. (ie, are these files accessed via tramp?) Of course, if they are, I don't really know why that would make a difference. If you compare your setup commands in your .emacs, how might they be different from those in the example install instructions? For example, if you did: emacs -q M-x load-file RET ~/cedet/common/cedet.el RET -- or wherever it is M-x semantic-load-enable-code-helpers RET Now go to your sample with Human.h, and start with the command below about idle work functions, and then try your repro steps again. This should work even without an EDE project enabled. Eric On Wed, 2009-09-02 at 19:00 +0200, Michal wrote: > hallo Eric & Group Memebers > First of all sorry for doubled reply post. I just didn't get reply to > may mailbox for 2 days so decided to resend it again. > > Unfortunately it still does not work for me. > > Please look at notes inside the reply. > > > From: Eric M. Ludlam <eric@si...> - 2009-09-01 03:32 > > Hi, > > > > I tried your example, and got the failed ability to jump between the > > two parts. I guessed it was because not all the files had been parsed, > > so I ran: > > > > M-x semantic-debug-idle-work-function RET > > did it while in Human.h buffer (probably does not matter where I was then). > > > > > > which I know just happens to parse all the files next to the file you > > are in. Once this was done, I can now jump between the impl and > > prototype and back again. > > > > For more complex projects, you would need to get Semantic to parse your > > key files ahead of time. The above function only helps for files in the > > same directory as the current buffer. The semanticdb.sh script could be > > used to initialize things ahead of time. It might help to use GNU > > Global integration, though I haven't tried these two tools together in > > this way. I'm guessing it would work. > > > > This is a bit of a hairy problem, since one of the strengths in CEDET > > for massive projects is that it will only parse the bits you use, which > > is incompatible with the need for a global table of symbols. If CEDET > > were to load in everything for a big project, it can overload your Emacs > > session with big piles of useless tags you never access. > > > > Hopefully these tricks can help get your working. The EDE trick you > > have below is great for compilation and such, or for finding files by > > name from includes. > > > > The database output you have below indicates that you did successfully > > parse all the files in your examples, so most of my advice above may be > > moot. You can try: > > > > M-z semantic-analyze-current-tag > result: > ] Name: "present" > ] Class: #'semantic-analyze-references > ] :tag present : void > ] :tagdb : nil > ] :scope #<semantic-scope-cache Cache> > ] :rawsearchdata : nil > > > > > > on the offending location to see what the reference analyzer output is. > > I don't think there are any caches to flush, but if so, you can always > > use the Senator menu item "Force Tag Refresh" to clear stuff. > also done "Force Tag Refresh". > > > > > Eric > > best regards, > Michal > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic |
From: Michal <rab...@te...> - 2009-09-07 14:02:58
|
Hallo Eric an Group Members "Eric M. Ludlam" <er...@si...> writes: > Hi, > > As I replicated your scenario as I understand it, and things worked > for me, I'm at a bit of a loss. Is this related to your earlier tramp > question. (ie, are these files accessed via tramp?) my "example" resides on local machine. > emacs -q > M-x load-file RET ~/cedet/common/cedet.el RET -- or wherever it is > M-x semantic-load-enable-code-helpers RET > > Now go to your sample with Human.h, and start with the command below > about idle work functions, and then try your repro steps again. This > should work even without an EDE project enabled. > This suggestion did the job. the reason of problem is "(global-ede-mode t)" command that was put to my config file. When I commented out this line, jumping between declaration and definition works correct. Erronous invocation: emacs -q --eval '(progn (load-file "~/mobile/emacs-packages/cedet-cvs/cedet/common/cedet.elc") (global-ede-mode t) (semantic-load-enable-excessive-code-helpers))' ~/mobile/CXX-trainingCode/example/Human.h thank You very much for Your help. best regards, Michal |
From: Michal <rab...@te...> - 2009-09-08 15:51:09
|
> > This suggestion did the job. > > the reason of problem is "(global-ede-mode t)" command that was put to > my config file. When I commented out this line, jumping between > declaration and definition works correct. > > Erronous invocation: > > emacs -q --eval '(progn (load-file > "~/mobile/emacs-packages/cedet-cvs/cedet/common/cedet.elc") > (global-ede-mode t) (semantic-load-enable-excessive-code-helpers))' > ~/mobile/CXX-trainingCode/example/Human.h > as a side effect, my ede-cpp-root-project projects are no longer visible as projects. it changes after issuing (global-ede-mode t), but then "example"'s definition<->declaration switching does not work. It looks then like some defect. best regards, Michal |
From: Eric M. L. <er...@si...> - 2009-09-13 14:51:38
|
On Tue, 2009-09-08 at 17:05 +0200, Michal wrote: > > > > This suggestion did the job. > > > > the reason of problem is "(global-ede-mode t)" command that was put to > > my config file. When I commented out this line, jumping between > > declaration and definition works correct. > > > > Erronous invocation: > > > > emacs -q --eval '(progn (load-file > > "~/mobile/emacs-packages/cedet-cvs/cedet/common/cedet.elc") > > (global-ede-mode t) (semantic-load-enable-excessive-code-helpers))' > > ~/mobile/CXX-trainingCode/example/Human.h > > > > as a side effect, my ede-cpp-root-project projects are no longer visible > as projects. it changes after issuing (global-ede-mode t), but then > "example"'s definition<->declaration switching does not work. > It looks then like some defect. Hi, I'm not sure what this might be. I didn't have issues with the "Human" example you had provided before. I used your same project file (which EDE added the header to.) Do you still have issues with the example project you created with Human.cpp and Human.h? Eric |
From: Michal <rab...@te...> - 2009-09-14 20:10:56
|
"Eric M. Ludlam" <er...@si...> writes: > > Do you still have issues with the example project you created with > Human.cpp and Human.h? > Hallo. Problem occurs when I add (global-ede-mode t) to configuration file. Just for debug purposes I did: prompt$ emacs -q --eval '(progn (load-file "~/mobile/emacs-packages/cedet-cvs/cedet/common/cedet.elc") (global-ede-mode t) (semantic-load-enable-excessive-code-helpers))' ~/mobile/CXX-trainingCode/example/Human.h When (global-ede-mode t) is omitted, jump between declaration and definition works correctly, but then there is no "Project" menu in my tool bar. what was Your configuration while running this example? best regards, Michal |
From: Michal <rab...@te...> - 2009-09-14 20:55:30
|
Michal <rab...@te...> writes: > Problem occurs when I add (global-ede-mode t) to configuration > file. I of course use cvs tree (update 30 minutes ago). best regards, Michal |
From: Eric M. L. <er...@si...> - 2009-09-15 00:54:01
|
On Mon, 2009-09-14 at 21:55 +0200, Michal wrote: > "Eric M. Ludlam" <er...@si...> writes: > > > > > Do you still have issues with the example project you created with > > Human.cpp and Human.h? > > > > Hallo. > > Problem occurs when I add (global-ede-mode t) to configuration > file. > > Just for debug purposes I did: > prompt$ emacs -q --eval '(progn (load-file > "~/mobile/emacs-packages/cedet-cvs/cedet/common/cedet.elc") > (global-ede-mode t) (semantic-load-enable-excessive-code-helpers))' > ~/mobile/CXX-trainingCode/example/Human.h > > > When > (global-ede-mode t) is omitted, jump between declaration and definition > works correctly, but then there is no "Project" menu in my tool bar. > > what was Your configuration while running this example? I tried your emacs startup (with -q above) and this worked for me with both semantic-ia-fast-jump, and semantic-analyze-proto-impl-toggle. My full setup in my .emacs is: ;;; CEDET (load-file "~/cedet/common/cedet.el") ;;(load-file "/tmp/cedet-1.0pre7/common/cedet.el") ;;(load-file "~/cedet-release/cedet1.0pre7/common/cedet.el") (semantic-load-enable-gaudy-code-helpers) (setq semantic-ectag-program "/usr/bin/ctags") (semantic-load-enable-primary-exuberent-ctags-support) (setq senator-minor-mode-name "SN") (setq semantic-imenu-auto-rebuild-directory-indexes nil) (setq ede-locate-setup-options '(ede-locate-global ede-locate-idutils ede-locate-cscope ;ede-locate-locate ede-locate-base)) (global-ede-mode 1) (global-srecode-minor-mode 1) (setq srecode-insert-ask-variable-method 'field) (add-to-list 'load-path (expand-file-name "~/cedet/tests/")) (global-set-key "\M-:" 'data-debug-eval-expression) Eric |
From: Michal <rab...@te...> - 2009-09-15 11:40:50
|
> I tried your emacs startup (with -q above) and this worked for me with > both semantic-ia-fast-jump, and semantic-analyze-proto-impl-toggle. My > full setup in my .emacs is: what about Your emacs version. Is it also 23.1.1?: GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.12.12) of 2009-08-13 on localhost.localdomain best regards, Michal |
From: Eric M. L. <er...@si...> - 2009-09-15 22:57:56
|
On Tue, 2009-09-15 at 13:32 +0200, Michal wrote: > > I tried your emacs startup (with -q above) and this worked for me with > > both semantic-ia-fast-jump, and semantic-analyze-proto-impl-toggle. My > > full setup in my .emacs is: > > what about Your emacs version. Is it also 23.1.1?: > > GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.12.12) of 2009-08-13 on localhost.localdomain > > best regards, > Michal Hmm. I'm still running 23.0.93. Perhaps I should re-sync from CVS. Eric |
From: Michal <rab...@te...> - 2009-09-16 11:07:56
|
"Eric M. Ludlam" <er...@si...> writes: > On Tue, 2009-09-15 at 13:32 +0200, Michal wrote: >> > I tried your emacs startup (with -q above) and this worked for me with >> > both semantic-ia-fast-jump, and semantic-analyze-proto-impl-toggle. My >> > full setup in my .emacs is: >> >> what about Your emacs version. Is it also 23.1.1?: >> >> GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.12.12) of 2009-08-13 on localhost.localdomain >> >> best regards, >> Michal > > Hmm. I'm still running 23.0.93. Perhaps I should re-sync from CVS. I just installed cvs version and I have the same problem still GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.12) of 2009-09-16 on localhost.localdomain best regards, Michal |