Thread: [cedet-semantic] semantic-complete-analyze-inline doesn't work for QT4 example
Brought to you by:
zappo
From: Joseph G. <jos...@gm...> - 2009-03-25 18:03:40
|
I've been reading through the gentle introduction to cedet here: http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html And decided to try the QT4 example, but when I run semantic-complete-analyze-inline, I get the error, "Wrong type argument: syntax-table-p, nil". Here's what I put in my .emacs: (load-file "~/opt/cedet-1.0pre6/common/cedet.el") (require 'cedet) (require 'semantic-ia) (semantic-load-enable-excessive-code-helpers) (setq qt4-base-dir "/usr/include/qt4") (semantic-add-system-include qt4-base-dir 'c++-mode) (add-to-list 'auto-mode-alist (cons qt4-base-dir 'c++-mode)) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig-dist.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qglobal.h")) (require 'semanticdb-global) (semanticdb-enable-gnu-global-databases 'c-mode) (semanticdb-enable-gnu-global-databases 'c++-mode) And here's my main.cpp file: #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton hello("Hello world!"); hello.resize(100, 30); hello. // After typing this period is where I M-x semantic-complete-analyze-inline and get the error hello.show(); return app.exec(); } I'm running the latest cedet (1.0pre6) and the latest GNU global (5.7.5). Removing the last 3 lines from my .emacs changes to disable the use of global makes no difference. The only way I'm differing from the guide is I haven't set a project, but I don't see why that should be necessary for this example (and if it is necessary, then it'd be nice if CEDET gave a descriptive error). thanks |
From: Eric M. L. <er...@si...> - 2009-03-25 19:27:23
|
Hello, The problem with the syntax table sounds like something I've fixed in CVS since I released 1.0pre6, but I can't remember what it was about. If you can reproduce this easily with the CVS version of CEDET, try: M-x toggle-debug-on-error RET then cause the error. The stack will help me identify what might be wrong, as I don't have all th Qt headers installed. Eric >>> Joseph Garvin <jos...@gm...> seems to think that: >I've been reading through the gentle introduction to cedet here: >http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html > >And decided to try the QT4 example, but when I run >semantic-complete-analyze-inline, I get the error, "Wrong type >argument: syntax-table-p, nil". Here's what I put in my .emacs: > >(load-file "~/opt/cedet-1.0pre6/common/cedet.el") >(require 'cedet) >(require 'semantic-ia) >(semantic-load-enable-excessive-code-helpers) >(setq qt4-base-dir "/usr/include/qt4") >(semantic-add-system-include qt4-base-dir 'c++-mode) >(add-to-list 'auto-mode-alist (cons qt4-base-dir 'c++-mode)) >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qconfig.h")) >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qconfig-dist.h")) >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qglobal.h")) >(require 'semanticdb-global) >(semanticdb-enable-gnu-global-databases 'c-mode) >(semanticdb-enable-gnu-global-databases 'c++-mode) > > >And here's my main.cpp file: > >#include <QApplication> >#include <QPushButton> > >int main(int argc, char *argv[]) >{ > QApplication app(argc, argv); > > QPushButton hello("Hello world!"); > hello.resize(100, 30); > hello. // After typing this period is where I M-x >semantic-complete-analyze-inline and get the error > > hello.show(); > return app.exec(); >} > > >I'm running the latest cedet (1.0pre6) and the latest GNU global >(5.7.5). Removing the last 3 lines from my .emacs changes to disable >the use of global makes no difference. The only way I'm differing from >the guide is I haven't set a project, but I don't see why that should >be necessary for this example (and if it is necessary, then it'd be >nice if CEDET gave a descriptive error). [ ... ] |
From: Joseph G. <jos...@gm...> - 2009-03-25 19:45:43
|
When I try using CVS I get this error/backtrace instead: Debugger entered--Lisp error: (error "Cannot find types for `QPushButton hello ()'") signal(error ("Cannot find types for `QPushButton hello ()'")) error("Cannot find types for `%s'" "QPushButton hello ()") semantic-analyze-possible-completions-default([object semantic-analyze-context "context" (199 . 199) (("hello" function ... ... [133 167]) "") (function variable type) (nil) [object semantic-scope-cache "Cache" [object semanticdb-table "main.cpp" [object semanticdb-project-database-file "uber/" "/home/prophet/work/uber/" semanticdb-table nil ... "/home/prophet/.semanticdb/!home!prophet!work!uber!semantic.cache" "2.0pre6" "2.0pre6"] c++-mode ... [object semanticdb-find-search-index "#<semanticdb-table main.cpp> index" #2 ... [object semanticdb-typecache "/home/prophet/work/uber/main.cpp" nil nil nil ...]] ... "main.cpp" #<buffer main.cpp> t nil 239 238 ... nil nil] ("main" function ... ... #<overlay from 65 to 237 in main.cpp>) nil nil nil nil nil (... ... ... ...) nil] #<buffer main.cpp> nil]) semantic-analyze-possible-completions([object semantic-analyze-context "context" (199 . 199) (("hello" function ... ... [133 167]) "") (function variable type) (nil) [object semantic-scope-cache "Cache" [object semanticdb-table "main.cpp" [object semanticdb-project-database-file "uber/" "/home/prophet/work/uber/" semanticdb-table nil ... "/home/prophet/.semanticdb/!home!prophet!work!uber!semantic.cache" "2.0pre6" "2.0pre6"] c++-mode ... [object semanticdb-find-search-index "#<semanticdb-table main.cpp> index" #2 ... [object semanticdb-typecache "/home/prophet/work/uber/main.cpp" nil nil nil ...]] ... "main.cpp" #<buffer main.cpp> t nil 239 238 ... nil nil] ("main" function ... ... #<overlay from 65 to 237 in main.cpp>) nil nil nil nil nil (... ... ... ...) nil] #<buffer main.cpp> nil]) semantic-collector-analyze-completions([object semantic-collector-analyze-completions "inline" #<buffer main.cpp> nil unbound unbound unbound unbound unbound [object semantic-analyze-context "context" (199 . 199) (... "") (function variable type) (nil) [object semantic-scope-cache "Cache" [object semanticdb-table "main.cpp" [object semanticdb-project-database-file "uber/" "/home/prophet/work/uber/" semanticdb-table nil ... "/home/prophet/.semanticdb/!home!prophet!work!uber!semantic.cache" "2.0pre6" "2.0pre6"] c++-mode ... [object semanticdb-find-search-index "#<semanticdb-table main.cpp> index" #3 ... [object semanticdb-typecache "/home/prophet/work/uber/main.cpp" nil nil nil ...]] ... "main.cpp" #<buffer main.cpp> t nil 239 238 ... nil nil] ... nil nil nil nil nil ... nil] #<buffer main.cpp> nil] unbound] "" nil) apply(semantic-collector-analyze-completions ([object semantic-collector-analyze-completions "inline" #<buffer main.cpp> nil unbound unbound unbound unbound unbound [object semantic-analyze-context "context" ... ... ... ... [object semantic-scope-cache "Cache" [object semanticdb-table "main.cpp" [object semanticdb-project-database-file "uber/" "/home/prophet/work/uber/" semanticdb-table nil ... "/home/prophet/.semanticdb/!home!prophet!work!uber!semantic.cache" "2.0pre6" "2.0pre6"] c++-mode ... [object semanticdb-find-search-index "#<semanticdb-table main.cpp> index" #4 ... [object semanticdb-typecache "/home/prophet/work/uber/main.cpp" nil nil nil ...]] ... "main.cpp" #<buffer main.cpp> t nil 239 238 ... nil nil] ... nil nil nil nil nil ... nil] #<buffer main.cpp> nil] unbound] "" nil)) eieio-generic-call-primary-only(semantic-collector-calculate-completions-raw ([object semantic-collector-analyze-completions "inline" #<buffer main.cpp> nil unbound unbound unbound unbound unbound [object semantic-analyze-context "context" ... ... ... ... [object semantic-scope-cache "Cache" [object semanticdb-table "main.cpp" [object semanticdb-project-database-file "uber/" "/home/prophet/work/uber/" semanticdb-table nil ... "/home/prophet/.semanticdb/!home!prophet!work!uber!semantic.cache" "2.0pre6" "2.0pre6"] c++-mode ... [object semanticdb-find-search-index "#<semanticdb-table main.cpp> index" #4 ... [object semanticdb-typecache "/home/prophet/work/uber/main.cpp" nil nil nil ...]] ... "main.cpp" #<buffer main.cpp> t nil 239 238 ... nil nil] ... nil nil nil nil nil ... nil] #<buffer main.cpp> nil] unbound] "" nil)) semantic-collector-calculate-completions-raw([object semantic-collector-analyze-completions "inline" #<buffer main.cpp> nil unbound unbound unbound unbound unbound [object semantic-analyze-context "context" (199 . 199) (... "") (function variable type) (nil) [object semantic-scope-cache "Cache" [object semanticdb-table "main.cpp" [object semanticdb-project-database-file "uber/" "/home/prophet/work/uber/" semanticdb-table nil ... "/home/prophet/.semanticdb/!home!prophet!work!uber!semantic.cache" "2.0pre6" "2.0pre6"] c++-mode ... [object semanticdb-find-search-index "#<semanticdb-table main.cpp> index" #3 ... [object semanticdb-typecache "/home/prophet/work/uber/main.cpp" nil nil nil ...]] ... "main.cpp" #<buffer main.cpp> t nil 239 238 ... nil nil] ... nil nil nil nil nil ... nil] #<buffer main.cpp> nil] unbound] "" nil) #[(obj prefix partial) "Æ\n\"$ On Wed, Mar 25, 2009 at 3:27 PM, Eric M. Ludlam <er...@si...> wrote: > Hello, > > The problem with the syntax table sounds like something I've fixed > in CVS since I released 1.0pre6, but I can't remember what it was > about. If you can reproduce this easily with the CVS version of > CEDET, try: > > M-x toggle-debug-on-error RET > > then cause the error. The stack will help me identify what might be > wrong, as I don't have all th Qt headers installed. > > Eric > > >>>> Joseph Garvin <jos...@gm...> seems to think that: >>I've been reading through the gentle introduction to cedet here: >>http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html >> >>And decided to try the QT4 example, but when I run >>semantic-complete-analyze-inline, I get the error, "Wrong type >>argument: syntax-table-p, nil". Here's what I put in my .emacs: >> >>(load-file "~/opt/cedet-1.0pre6/common/cedet.el") >>(require 'cedet) >>(require 'semantic-ia) >>(semantic-load-enable-excessive-code-helpers) >>(setq qt4-base-dir "/usr/include/qt4") >>(semantic-add-system-include qt4-base-dir 'c++-mode) >>(add-to-list 'auto-mode-alist (cons qt4-base-dir 'c++-mode)) >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qconfig.h")) >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qconfig-dist.h")) >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qglobal.h")) >>(require 'semanticdb-global) >>(semanticdb-enable-gnu-global-databases 'c-mode) >>(semanticdb-enable-gnu-global-databases 'c++-mode) >> >> >>And here's my main.cpp file: >> >>#include <QApplication> >>#include <QPushButton> >> >>int main(int argc, char *argv[]) >>{ >> QApplication app(argc, argv); >> >> QPushButton hello("Hello world!"); >> hello.resize(100, 30); >> hello. // After typing this period is where I M-x >>semantic-complete-analyze-inline and get the error >> >> hello.show(); >> return app.exec(); >>} >> >> >>I'm running the latest cedet (1.0pre6) and the latest GNU global >>(5.7.5). Removing the last 3 lines from my .emacs changes to disable >>the use of global makes no difference. The only way I'm differing from >>the guide is I haven't set a project, but I don't see why that should >>be necessary for this example (and if it is necessary, then it'd be >>nice if CEDET gave a descriptive error). > [ ... ] > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |
From: Eric M. L. <er...@si...> - 2009-03-25 20:49:20
|
>>> Joseph Garvin <jos...@gm...> seems to think that: >When I try using CVS I get this error/backtrace instead: > >Debugger entered--Lisp error: (error "Cannot find types for >`QPushButton hello ()'") > signal(error ("Cannot find types for `QPushButton hello ()'")) > error("Cannot find types for `%s'" "QPushButton hello ()") [ ... ] Ah, well that is good news. That means the syntax table issue is fixed. The above error indicates instead some problem with finding the definition to a QPushButton. You can use `semantic-analyze-debug-assist' as a starting place to look for clues, such as if a header file was not found or something. Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-25 21:54:49
|
Thanks to the debug assistant, I realized that semantic wasn't looking at subfolders, so I changed my .emacs to this: (defun list-all-subfolders (folder) (let ((folder-list (list folder))) (dolist (subfolder (directory-files folder)) (let ((name (concat folder "/" subfolder))) (when (and (file-directory-p name) (not (equal subfolder "..")) (not (equal subfolder "."))) (set 'folder-list (append folder-list (list name)))))) folder-list)) (load-file "~/opt/cedet-cvs/common/cedet.el") (require 'cedet) (require 'semantic-ia) (semantic-load-enable-excessive-code-helpers) (setq qt4-base-dir "/usr/include/qt4") (dolist (folder (list-all-subfolders qt4-base-dir)) (semantic-add-system-include folder 'c++-mode) (add-to-list 'auto-mode-alist (cons folder 'c++-mode))) But semantic is still not finding QPushButton, even though the file is in /usr/include/qt4/QtGui and the debug assistant lists that as an include path. Puzzled, I wondered if maybe the problem was with semantic's database getting messed up from all my testing. So I deleted ~/.semanticdb and tried again. And got the syntax-table-p error! :P Guess it's not gone... On Wed, Mar 25, 2009 at 4:49 PM, Eric M. Ludlam <er...@si...> wrote: >>>> Joseph Garvin <jos...@gm...> seems to think that: >>When I try using CVS I get this error/backtrace instead: >> >>Debugger entered--Lisp error: (error "Cannot find types for >>`QPushButton hello ()'") >> signal(error ("Cannot find types for `QPushButton hello ()'")) >> error("Cannot find types for `%s'" "QPushButton hello ()") > [ ... ] > > Ah, well that is good news. That means the syntax table issue is > fixed. The above error indicates instead some problem with finding > the definition to a QPushButton. You can use > `semantic-analyze-debug-assist' as a starting place to look for clues, > such as if a header file was not found or something. > > Eric > > -- > Eric Ludlam: er...@si... > Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |
From: Eric M. L. <er...@si...> - 2009-03-25 22:53:20
|
Hmmm. So there is a syntax-table error thrown, presumably, when it tries to parse a header file? After exiting last time, it didn't need to reparse as it had saved something empty. Hmmm. Is GNU global still enabled for anything? It isn't listed in your below configuration, so I'd guess no. If you hand-edit QPushButton, does it show up in C++ mode? You can do that easily if you enable semantic-decoration-mode, and right-click on the include and select "Visit". Once there, you could force it to reparse the file w/ the senator menu. At that point things would then work for that one example. We'd then need to debug why it doesn't work automatically. Eric >>> Joseph Garvin <jos...@gm...> seems to think that: >Thanks to the debug assistant, I realized that semantic wasn't looking >at subfolders, so I changed my .emacs to this: > >(defun list-all-subfolders (folder) > (let ((folder-list (list folder))) > (dolist (subfolder (directory-files folder)) > (let ((name (concat folder "/" subfolder))) > (when (and (file-directory-p name) > (not (equal subfolder "..")) > (not (equal subfolder "."))) > (set 'folder-list (append folder-list (list name)))))) > folder-list)) > >(load-file "~/opt/cedet-cvs/common/cedet.el") >(require 'cedet) >(require 'semantic-ia) >(semantic-load-enable-excessive-code-helpers) >(setq qt4-base-dir "/usr/include/qt4") >(dolist (folder (list-all-subfolders qt4-base-dir)) > (semantic-add-system-include folder 'c++-mode) > (add-to-list 'auto-mode-alist (cons folder 'c++-mode))) > >But semantic is still not finding QPushButton, even though the file is >in /usr/include/qt4/QtGui and the debug assistant lists that as an >include path. Puzzled, I wondered if maybe the problem was with >semantic's database getting messed up from all my testing. So I >deleted ~/.semanticdb and tried again. And got the syntax-table-p >error! :P Guess it's not gone... > >On Wed, Mar 25, 2009 at 4:49 PM, Eric M. Ludlam <er...@si...> wrote: >>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>When I try using CVS I get this error/backtrace instead: >>> >>>Debugger entered--Lisp error: (error "Cannot find types for >>>`QPushButton hello ()'") >>> signal(error ("Cannot find types for `QPushButton hello ()'")) >>> error("Cannot find types for `%s'" "QPushButton hello ()") >> [ ... ] >> >> Ah, well that is good news. That means the syntax table issue is >> fixed. The above error indicates instead some problem with finding >> the definition to a QPushButton. You can use >> `semantic-analyze-debug-assist' as a starting place to look for clues, >> such as if a header file was not found or something. >> >> Eric >> >> -- >> Eric Ludlam: er...@si... >> Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> cedet-semantic mailing list >> ced...@li... >> https://lists.sourceforge.net/lists/listinfo/cedet-semantic >> > |
From: Joseph G. <jos...@gm...> - 2009-03-25 23:34:06
Attachments:
qpushbutton.h
|
I still have GNU Global installed, so if semantic tries to automatically detect and use it that could be a problem, but no it's not enabled in my .emacs anywhere. I tried enabling semantic-decoration-mode by doing C-u M-x semantic-decoration-mode and right clicking but it just deleted text, maybe because I have most GUI elements disabled? I opened /usr/include/qt4/QtGui/QPushButton, and it's a one line filed that #include's qpushbutton.h. So I tried opening qpushbutton.h, which caused this error to appear in the minibuffer: Idle Parse Error: "#<buffer qpushbutton.h> - Args out of range: 71005, 71025" I've attached the file by itself in case it will help. You can cause the error by opening the file then moving the cursor over the declaration of QPushButton. I tried toggle-debug-on-error but the error still only appears in the minibuffer. After the error shows semantic-analyze-debug-assist appears to do nothing as well. It looks like a lot of C macros are used, maybe that's confusing the parser? On Wed, Mar 25, 2009 at 6:53 PM, Eric M. Ludlam <er...@si...> wrote: > Hmmm. So there is a syntax-table error thrown, presumably, when it > tries to parse a header file? After exiting last time, it didn't need > to reparse as it had saved something empty. > > Hmmm. > > Is GNU global still enabled for anything? It isn't listed in your > below configuration, so I'd guess no. If you hand-edit QPushButton, > does it show up in C++ mode? You can do that easily if you enable > semantic-decoration-mode, and right-click on the include and select > "Visit". Once there, you could force it to reparse the file w/ the > senator menu. At that point things would then work for that one > example. We'd then need to debug why it doesn't work automatically. > > Eric > >>>> Joseph Garvin <jos...@gm...> seems to think that: >>Thanks to the debug assistant, I realized that semantic wasn't looking >>at subfolders, so I changed my .emacs to this: >> >>(defun list-all-subfolders (folder) >> (let ((folder-list (list folder))) >> (dolist (subfolder (directory-files folder)) >> (let ((name (concat folder "/" subfolder))) >> (when (and (file-directory-p name) >> (not (equal subfolder "..")) >> (not (equal subfolder "."))) >> (set 'folder-list (append folder-list (list name)))))) >> folder-list)) >> >>(load-file "~/opt/cedet-cvs/common/cedet.el") >>(require 'cedet) >>(require 'semantic-ia) >>(semantic-load-enable-excessive-code-helpers) >>(setq qt4-base-dir "/usr/include/qt4") >>(dolist (folder (list-all-subfolders qt4-base-dir)) >> (semantic-add-system-include folder 'c++-mode) >> (add-to-list 'auto-mode-alist (cons folder 'c++-mode))) >> >>But semantic is still not finding QPushButton, even though the file is >>in /usr/include/qt4/QtGui and the debug assistant lists that as an >>include path. Puzzled, I wondered if maybe the problem was with >>semantic's database getting messed up from all my testing. So I >>deleted ~/.semanticdb and tried again. And got the syntax-table-p >>error! :P Guess it's not gone... >> >>On Wed, Mar 25, 2009 at 4:49 PM, Eric M. Ludlam <er...@si...> wrote: >>>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>>When I try using CVS I get this error/backtrace instead: >>>> >>>>Debugger entered--Lisp error: (error "Cannot find types for >>>>`QPushButton hello ()'") >>>> signal(error ("Cannot find types for `QPushButton hello ()'")) >>>> error("Cannot find types for `%s'" "QPushButton hello ()") >>> [ ... ] >>> >>> Ah, well that is good news. That means the syntax table issue is >>> fixed. The above error indicates instead some problem with finding >>> the definition to a QPushButton. You can use >>> `semantic-analyze-debug-assist' as a starting place to look for clues, >>> such as if a header file was not found or something. >>> >>> Eric >>> >>> -- >>> Eric Ludlam: er...@si... >>> Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> cedet-semantic mailing list >>> ced...@li... >>> https://lists.sourceforge.net/lists/listinfo/cedet-semantic >>> >> > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |
From: Eric M. L. <er...@si...> - 2009-03-26 01:49:23
|
>>> Joseph Garvin <jos...@gm...> seems to think that: >--0016e642d386884f5f0465f9eee6 >Content-Type: text/plain; charset=ISO-8859-1 >Content-Transfer-Encoding: quoted-printable > >I still have GNU Global installed, so if semantic tries to >automatically detect and use it that could be a problem, but no it's >not enabled in my .emacs anywhere. > >I tried enabling semantic-decoration-mode by doing C-u M-x >semantic-decoration-mode and right clicking but it just deleted text, >maybe because I have most GUI elements disabled? > >I opened /usr/include/qt4/QtGui/QPushButton, and it's a one line filed >that #include's qpushbutton.h. So I tried opening qpushbutton.h, which >caused this error to appear in the minibuffer: > >Idle Parse Error: "#<buffer qpushbutton.h> - Args out of range: 71005, 7102= >5" > >I've attached the file by itself in case it will help. You can cause >the error by opening the file then moving the cursor over the >declaration of QPushButton. I tried toggle-debug-on-error but the >error still only appears in the minibuffer. After the error shows >semantic-analyze-debug-assist appears to do nothing as well. > >It looks like a lot of C macros are used, maybe that's confusing the parser= >? [ ... ] If you are having problems with missing macro declarations, you can configure semantic-lex-c-preprocessor-symbol-file to be the single Qt header with all those macros in it. See Alex Ott's article here for more on that: http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-26 01:59:02
|
Are you referring to adding these lines? (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig-dist.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qglobal.h")) Because they're already in my .emacs :/ Maybe that's not the problem then... On Wed, Mar 25, 2009 at 9:31 PM, Eric M. Ludlam <er...@si...> wrote: >>>> Joseph Garvin <jos...@gm...> seems to think that: >>--0016e642d386884f5f0465f9eee6 >>Content-Type: text/plain; charset=ISO-8859-1 >>Content-Transfer-Encoding: quoted-printable >> >>I still have GNU Global installed, so if semantic tries to >>automatically detect and use it that could be a problem, but no it's >>not enabled in my .emacs anywhere. >> >>I tried enabling semantic-decoration-mode by doing C-u M-x >>semantic-decoration-mode and right clicking but it just deleted text, >>maybe because I have most GUI elements disabled? >> >>I opened /usr/include/qt4/QtGui/QPushButton, and it's a one line filed >>that #include's qpushbutton.h. So I tried opening qpushbutton.h, which >>caused this error to appear in the minibuffer: >> >>Idle Parse Error: "#<buffer qpushbutton.h> - Args out of range: 71005, 7102= >>5" >> >>I've attached the file by itself in case it will help. You can cause >>the error by opening the file then moving the cursor over the >>declaration of QPushButton. I tried toggle-debug-on-error but the >>error still only appears in the minibuffer. After the error shows >>semantic-analyze-debug-assist appears to do nothing as well. >> >>It looks like a lot of C macros are used, maybe that's confusing the parser= >>? > [ ... ] > > If you are having problems with missing macro declarations, you can > configure semantic-lex-c-preprocessor-symbol-file to be the single Qt > header with all those macros in it. > > See Alex Ott's article here for more on that: > http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html > > Eric > > -- > Eric Ludlam: er...@si... > Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net > |
From: Joseph G. <jos...@gm...> - 2009-03-26 07:20:10
|
I tried having it lex qobjectdefs.h as well but that didn't fix it either. Interestingly, if I run gcc's preprocessor on qpushbutton.h (using the -E flag) and save the output to a file, code completion *works* within that file. Am I right in thinking this means the problem is definitely related to the preprocessor? I'll try looking up each of the headers for all of the macros used in qpushbutton.h tomorrow.... On Wed, Mar 25, 2009 at 9:58 PM, Joseph Garvin <jos...@gm...> wrote: > Are you referring to adding these lines? > > (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat > qt4-base-dir "/Qt/qconfig.h")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat > qt4-base-dir "/Qt/qconfig-dist.h")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat > qt4-base-dir "/Qt/qglobal.h")) > > Because they're already in my .emacs :/ Maybe that's not the problem then... > > On Wed, Mar 25, 2009 at 9:31 PM, Eric M. Ludlam <er...@si...> wrote: >>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>--0016e642d386884f5f0465f9eee6 >>>Content-Type: text/plain; charset=ISO-8859-1 >>>Content-Transfer-Encoding: quoted-printable >>> >>>I still have GNU Global installed, so if semantic tries to >>>automatically detect and use it that could be a problem, but no it's >>>not enabled in my .emacs anywhere. >>> >>>I tried enabling semantic-decoration-mode by doing C-u M-x >>>semantic-decoration-mode and right clicking but it just deleted text, >>>maybe because I have most GUI elements disabled? >>> >>>I opened /usr/include/qt4/QtGui/QPushButton, and it's a one line filed >>>that #include's qpushbutton.h. So I tried opening qpushbutton.h, which >>>caused this error to appear in the minibuffer: >>> >>>Idle Parse Error: "#<buffer qpushbutton.h> - Args out of range: 71005, 7102= >>>5" >>> >>>I've attached the file by itself in case it will help. You can cause >>>the error by opening the file then moving the cursor over the >>>declaration of QPushButton. I tried toggle-debug-on-error but the >>>error still only appears in the minibuffer. After the error shows >>>semantic-analyze-debug-assist appears to do nothing as well. >>> >>>It looks like a lot of C macros are used, maybe that's confusing the parser= >>>? >> [ ... ] >> >> If you are having problems with missing macro declarations, you can >> configure semantic-lex-c-preprocessor-symbol-file to be the single Qt >> header with all those macros in it. >> >> See Alex Ott's article here for more on that: >> http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html >> >> Eric >> >> -- >> Eric Ludlam: er...@si... >> Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net >> > |
From: Eric M. L. <er...@si...> - 2009-03-26 11:32:13
|
Yes. I'd guess it is the namespace macros. I don't know why it throws a syntax table error though, as for me it just doesn't parse correctly when I simulate it. I have a solution for the glibc version, but I don't want to hard-code every namespace macro out there into my lexer. It will need a more generic solution. Eric >>> Joseph Garvin <jos...@gm...> seems to think that: >I tried having it lex qobjectdefs.h as well but that didn't fix it >either. Interestingly, if I run gcc's preprocessor on qpushbutton.h >(using the -E flag) and save the output to a file, code completion >*works* within that file. Am I right in thinking this means the >problem is definitely related to the preprocessor? I'll try looking up >each of the headers for all of the macros used in qpushbutton.h >tomorrow.... > >On Wed, Mar 25, 2009 at 9:58 PM, Joseph Garvin ><jos...@gm...> wrote: >> Are you referring to adding these lines? >> >> (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >> qt4-base-dir "/Qt/qconfig.h")) >> (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >> qt4-base-dir "/Qt/qconfig-dist.h")) >> (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >> qt4-base-dir "/Qt/qglobal.h")) >> >> Because they're already in my .emacs :/ Maybe that's not the problem then... >> >> On Wed, Mar 25, 2009 at 9:31 PM, Eric M. Ludlam <er...@si...> wrote: >>>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>>--0016e642d386884f5f0465f9eee6 >>>>Content-Type: text/plain; charset=ISO-8859-1 >>>>Content-Transfer-Encoding: quoted-printable >>>> >>>>I still have GNU Global installed, so if semantic tries to >>>>automatically detect and use it that could be a problem, but no it's >>>>not enabled in my .emacs anywhere. >>>> >>>>I tried enabling semantic-decoration-mode by doing C-u M-x >>>>semantic-decoration-mode and right clicking but it just deleted text, >>>>maybe because I have most GUI elements disabled? >>>> >>>>I opened /usr/include/qt4/QtGui/QPushButton, and it's a one line filed >>>>that #include's qpushbutton.h. So I tried opening qpushbutton.h, which >>>>caused this error to appear in the minibuffer: >>>> >>>>Idle Parse Error: "#<buffer qpushbutton.h> - Args out of range: 71005, 7102= >>>>5" >>>> >>>>I've attached the file by itself in case it will help. You can cause >>>>the error by opening the file then moving the cursor over the >>>>declaration of QPushButton. I tried toggle-debug-on-error but the >>>>error still only appears in the minibuffer. After the error shows >>>>semantic-analyze-debug-assist appears to do nothing as well. >>>> >>>>It looks like a lot of C macros are used, maybe that's confusing the parser= >>>>? >>> [ ... ] >>> >>> If you are having problems with missing macro declarations, you can >>> configure semantic-lex-c-preprocessor-symbol-file to be the single Qt >>> header with all those macros in it. >>> >>> See Alex Ott's article here for more on that: >>> http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html >>> >>> Eric >>> >>> -- >>> Eric Ludlam: er...@si... >>> Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net >>> >> > -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-26 19:42:30
|
(current-buffer) evals to #<buffer main.cpp>, which makes sense I think, that's the buffer I have open. semantic-lex-syntax-table is nil. I just noticed an interesting behavior. If I load a fresh emacs and then open qpushbutton.h *first*, then open main.cpp, when I try to semantic-complete-analyze-inline I get the error from before about args being out of range instead of the error about the syntax table. Might that be a hint? No problem on the debugging, if we get this figured out I get nice code completion ;D Joe On Thu, Mar 26, 2009 at 1:23 PM, Eric M. Ludlam <er...@si...> wrote: > When this error happens as below, you can press "e" to get an "Eval:" > prompt. It it, what is the value of (current-buffer) ? If the buffer > makes sense as something worth parsing, then in the buffer, what is > the value of semantic-lex-syntax-table? > > Semantic needs its special syntax table in order to run lex in the > buffer. If the buffer in question is normally parse-able, then the > problem is how the buffer is loaded in when doing the analysis. > > Thanks for debugging through this. > > Eric > > >>>> Joseph Garvin <jos...@gm...> seems to think that: >>Hey Eric, now that I'm getting the syntax-table-p error again I tried >>debug assist but it just gives the same error, I guess semantic is >>borked at that point. I toggled debug on to get a backtrace though: >> >>Debugger entered--Lisp error: (wrong-type-argument syntax-table-p nil) >> set-syntax-table(nil) >> semantic-analyze-current-context(199) >> semantic-complete-analyze-inline() >> call-interactively(semantic-complete-analyze-inline t nil) >> execute-extended-command(nil) >> call-interactively(execute-extended-command nil nil) >> >>Also, the QT_BEGIN_NAMESPACE is defined in qwebkitglobal.h, and having >>semantic lex that doesn't seem to help. I'll keep looking.... >> >>On Thu, Mar 26, 2009 at 7:31 AM, Eric M. Ludlam <er...@si...> wrote: >>> Yes. I'd guess it is the namespace macros. I don't know why it >>> throws a syntax table error though, as for me it just doesn't parse >>> correctly when I simulate it. >>> >>> I have a solution for the glibc version, but I don't want to hard-code >>> every namespace macro out there into my lexer. It will need a more >>> generic solution. >>> >>> Eric >>> >>>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>>I tried having it lex qobjectdefs.h as well but that didn't fix it >>>>either. Interestingly, if I run gcc's preprocessor on qpushbutton.h >>>>(using the -E flag) and save the output to a file, code completion >>>>*works* within that file. Am I right in thinking this means the >>>>problem is definitely related to the preprocessor? I'll try looking up >>>>each of the headers for all of the macros used in qpushbutton.h >>>>tomorrow.... >>>> >>>>On Wed, Mar 25, 2009 at 9:58 PM, Joseph Garvin >>>><jos...@gm...> wrote: >>>>> Are you referring to adding these lines? >>>>> >>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>>>> qt4-base-dir "/Qt/qconfig.h")) >>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>>>> qt4-base-dir "/Qt/qconfig-dist.h")) >>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>>>> qt4-base-dir "/Qt/qglobal.h")) >>>>> >>>>> Because they're already in my .emacs :/ Maybe that's not the problem then... >>>>> >>>>> On Wed, Mar 25, 2009 at 9:31 PM, Eric M. Ludlam <er...@si...> wrote: >>>>>>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>>>>>--0016e642d386884f5f0465f9eee6 >>>>>>>Content-Type: text/plain; charset=ISO-8859-1 >>>>>>>Content-Transfer-Encoding: quoted-printable >>>>>>> >>>>>>>I still have GNU Global installed, so if semantic tries to >>>>>>>automatically detect and use it that could be a problem, but no it's >>>>>>>not enabled in my .emacs anywhere. >>>>>>> >>>>>>>I tried enabling semantic-decoration-mode by doing C-u M-x >>>>>>>semantic-decoration-mode and right clicking but it just deleted text, >>>>>>>maybe because I have most GUI elements disabled? >>>>>>> >>>>>>>I opened /usr/include/qt4/QtGui/QPushButton, and it's a one line filed >>>>>>>that #include's qpushbutton.h. So I tried opening qpushbutton.h, which >>>>>>>caused this error to appear in the minibuffer: >>>>>>> >>>>>>>Idle Parse Error: "#<buffer qpushbutton.h> - Args out of range: 71005, 7102= >>>>>>>5" >>>>>>> >>>>>>>I've attached the file by itself in case it will help. You can cause >>>>>>>the error by opening the file then moving the cursor over the >>>>>>>declaration of QPushButton. I tried toggle-debug-on-error but the >>>>>>>error still only appears in the minibuffer. After the error shows >>>>>>>semantic-analyze-debug-assist appears to do nothing as well. >>>>>>> >>>>>>>It looks like a lot of C macros are used, maybe that's confusing the parser= >>>>>>>? >>>>>> [ ... ] >>>>>> >>>>>> If you are having problems with missing macro declarations, you can >>>>>> configure semantic-lex-c-preprocessor-symbol-file to be the single Qt >>>>>> header with all those macros in it. >>>>>> >>>>>> See Alex Ott's article here for more on that: >>>>>> http://xtalk.msk.su/~ott/en/writings/emacs-devenv/EmacsCedet.html >>>>>> >>>>>> Eric >>>>>> >>>>>> -- >>>>>> Eric Ludlam: er...@si... >>>>>> Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net >>>>>> >>>>> >>>> >>> >>> -- >>> Eric Ludlam: er...@si... >>> Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> cedet-semantic mailing list >>> ced...@li... >>> https://lists.sourceforge.net/lists/listinfo/cedet-semantic >>> >> > |
From: Eric M. L. <er...@si...> - 2009-03-27 00:08:52
|
Hi, I'm not quite sure how to continue debugging. I added an error check into semantic-analyze-current-context, but I suspect it will just throw that error instead of the buffer initialization function. I think I'd try the next steps. First, update from CVS, and see if it just complains about the buffer not being setup instead of the syntax table. If it does, then there was some error captured during buffer setup. See semantic-new-buffer-fcn. Use edebug to step through and see what is going on. To do that, put the cursor in that function (in semantic.el) and do M-x edebug-defun RET Then use C-x C-f and read in main.cpp. It will stop in that fcn. Press SPC to step. If it unexpectedly leaps out to nowhere, make note of what line it was. That would be an important next clue. If that runs fine, then we will need to analyze main.cpp more. The function semantic-c-describe-environment in main.cpp might help some, though that is C specific. The problem seems to be more generic. If all that checks out, it might be that some function somewhere is killing the Semantic setup. You can restart Emacs and do: M-x debug-on-entry RET kill-all-local-variables RET and go through the repro steps. Each time it stops, check the stack to be sure it makes sense. For example, c++-mode should call it. Also check the current buffer to see if it is a logical buffer to have up. If it is called from some odd place or stray minor mode, that is probably the culprit. If that doesn't reveal anything, I'm not quite sure what else to suggest. Eric >>> Joseph Garvin <jos...@gm...> seems to think that: >(current-buffer) evals to #<buffer main.cpp>, which makes sense I >think, that's the buffer I have open. semantic-lex-syntax-table is >nil. > >I just noticed an interesting behavior. If I load a fresh emacs and >then open qpushbutton.h *first*, then open main.cpp, when I try to >semantic-complete-analyze-inline I get the error from before about >args being out of range instead of the error about the syntax table. >Might that be a hint? > >No problem on the debugging, if we get this figured out I get nice >code completion ;D > >Joe > >On Thu, Mar 26, 2009 at 1:23 PM, Eric M. Ludlam <er...@si...> wrote: >> When this error happens as below, you can press "e" to get an "Eval:" >> prompt. It it, what is the value of (current-buffer) ? If the buffer >> makes sense as something worth parsing, then in the buffer, what is >> the value of semantic-lex-syntax-table? >> >> Semantic needs its special syntax table in order to run lex in the >> buffer. If the buffer in question is normally parse-able, then the >> problem is how the buffer is loaded in when doing the analysis. >> >> Thanks for debugging through this. >> [ ... ] -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-27 02:49:07
Attachments:
cdescribe.txt
sppmacros.txt
|
Now the error I get is "Cannot analyze buffers not supported by semantic" when I try semantic-complete-analyze-inline. If I try stepping through semantic-new-buffer-fcn while loading main.cpp, it completes without error. Also, for some reason the function runs 5 or 6 times (maybe once for each header I've specified to lex?). Interestingly, the second time the function runs, the semantic--parse-table part seems to fail (the function exits right away). My emacs debug-fu is weak, so I'm not sure how to inspect what file it's trying to deal with there (the function doesn't take any parameters so I'm not sure what variable to look at). I tried running semantic-c-describe-environment and have attached the output, as well as semantic-lex-spp-describe. I don't see any of the QT macros in there. I tried the debug-on-entry step idea, but it loads the buffer and lets me try semantic-complete-analyze-inline without ever jumping into the debugger. Joe On Thu, Mar 26, 2009 at 8:08 PM, Eric M. Ludlam <er...@si...> wrote: > Hi, > > I'm not quite sure how to continue debugging. I added an error > check into semantic-analyze-current-context, but I suspect it will > just throw that error instead of the buffer initialization function. > > I think I'd try the next steps. > > First, update from CVS, and see if it just complains about the buffer > not being setup instead of the syntax table. > > If it does, then there was some error captured during buffer setup. > See semantic-new-buffer-fcn. Use edebug to step through and see what > is going on. To do that, put the cursor in that function (in > semantic.el) and do > > M-x edebug-defun RET > > Then use C-x C-f and read in main.cpp. It will stop in that fcn. > Press SPC to step. If it unexpectedly leaps out to nowhere, make note > of what line it was. That would be an important next clue. > > If that runs fine, then we will need to analyze main.cpp more. The > function semantic-c-describe-environment in main.cpp might help some, > though that is C specific. The problem seems to be more generic. > > If all that checks out, it might be that some function somewhere is > killing the Semantic setup. You can restart Emacs and do: > > M-x debug-on-entry RET kill-all-local-variables RET > > and go through the repro steps. Each time it stops, check the stack to > be sure it makes sense. For example, c++-mode should call it. Also > check the current buffer to see if it is a logical buffer to have up. > If it is called from some odd place or stray minor mode, that is > probably the culprit. > > If that doesn't reveal anything, I'm not quite sure what else to > suggest. > > Eric > >>>> Joseph Garvin <jos...@gm...> seems to think that: >>(current-buffer) evals to #<buffer main.cpp>, which makes sense I >>think, that's the buffer I have open. semantic-lex-syntax-table is >>nil. >> >>I just noticed an interesting behavior. If I load a fresh emacs and >>then open qpushbutton.h *first*, then open main.cpp, when I try to >>semantic-complete-analyze-inline I get the error from before about >>args being out of range instead of the error about the syntax table. >>Might that be a hint? >> >>No problem on the debugging, if we get this figured out I get nice >>code completion ;D >> >>Joe >> >>On Thu, Mar 26, 2009 at 1:23 PM, Eric M. Ludlam <er...@si...> wrote: >>> When this error happens as below, you can press "e" to get an "Eval:" >>> prompt. It it, what is the value of (current-buffer) ? If the buffer >>> makes sense as something worth parsing, then in the buffer, what is >>> the value of semantic-lex-syntax-table? >>> >>> Semantic needs its special syntax table in order to run lex in the >>> buffer. If the buffer in question is normally parse-able, then the >>> problem is how the buffer is loaded in when doing the analysis. >>> >>> Thanks for debugging through this. >>> > [ ... ] > > -- > Eric Ludlam: er...@si... > Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |
From: Eric M. L. <er...@si...> - 2009-03-27 03:35:33
|
>>> Joseph Garvin <jos...@gm...> seems to think that: [ ... ] >Now the error I get is "Cannot analyze buffers not supported by >semantic" when I try semantic-complete-analyze-inline. > >If I try stepping through semantic-new-buffer-fcn while loading >main.cpp, it completes without error. Also, for some reason the >function runs 5 or 6 times (maybe once for each header I've specified >to lex?). Interestingly, the second time the function runs, the >semantic--parse-table part seems to fail (the function exits right >away). My emacs debug-fu is weak, so I'm not sure how to inspect what >file it's trying to deal with there (the function doesn't take any >parameters so I'm not sure what variable to look at). This function should run once for each file you pull in for preprocessor symbols. It would then run again for main.cpp. As you had this problem before setting up your macro files, it would be good to disable all that, and trying this again. When stopped in the debugger with edebug, press "d" to get a stack to appear. My stack looks like this: semantic-new-buffer-fcn() run-hooks(mode-local-init-hook) #[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2]() mode-local-map-file-buffers(#[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2] #[nil " =?\207" [mode-local--init-mode major-mode] 2] (#<buffer foo.cpp>)) mode-local-post-major-mode-change() run-hooks(find-file-hook) after-find-file(nil t) find-file-noselect-1(#<buffer foo.cpp> "/tmp/foo.cpp" nil nil "/tmp/foo.cpp" (200586 770)) find-file-noselect("/tmp/foo.cpp" nil nil t) find-file("/tmp/foo.cpp" t) call-interactively(find-file nil nil) Hopefully yours is similar. If you get multiple calls in again, then that is the problem, and a stack will help identify what is going on. Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-27 18:25:31
|
So first I just tried commenting out all the lines telling semantic to lex the various qt4 headers, and confirmed that the error still happened. On the first call the stack looks like this: semantic-new-buffer-fcn() run-hooks(mode-local-init-hook) #[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2]() mode-local-map-file-buffers(#[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2] #[nil " =?\207" [mode-local--init-mode major-mode] 2] (#<buffer c++config.h> #<buffer main.cpp>)) mode-local-post-major-mode-change() run-hooks(find-file-hook) after-find-file(nil nil) find-file-noselect-1(#<buffer c++config.h> "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" t nil "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" (601325 2051)) find-file-noselect("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" t nil nil) semantic-find-file-noselect("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" t) semanticdb-create-table-for-file-not-in-buffer("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h") semanticdb-file-table-object("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h") semantic-c-reset-preprocessor-symbol-map() #[(sym value) "\302 \"\210\303\304\305\217\207" [sym value set-default nil (semantic-c-reset-preprocessor-symbol-map) (...)] 3](semantic-lex-c-preprocessor-symbol-map (("__DBL_MIN_EXP__" . "(-1021)") ("__FLT_MIN__" . "1.17549435e-38F") ("__DEC64_DEN__" . "0.000000000000001E-383DD") ("__CHAR_BIT__" . "8") ("__WCHAR_MAX__" . "2147483647") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1" . "1") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2" . "1") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4" . "1") ("__DBL_DENORM_MIN__" . "4.9406564584124654e-324") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8" . "1") ("__FLT_EVAL_METHOD__" . "0") ("__unix__" . "1") ("__x86_64" . "1") ("__DBL_MIN_10_EXP__" . "(-307)") ("__FINITE_MATH_ONLY__" . "0") ("__LP64__" . "1") ("__GNUC_PATCHLEVEL__" . "2") ("__DEC64_MAX_EXP__" . "384") ("__SHRT_MAX__" . "32767") ("__LDBL_MAX__" . "1.18973149535723176502e+4932L") ("__linux" . "1") ("__DEC32_EPSILON__" . "1E-6DF") ("__unix" . "1") ("__LDBL_MAX_EXP__" . "16384") ("__linux__" . "1") ("__SCHAR_MAX__" . "127") ("__DBL_DIG__" . "15") ("_FORTIFY_SOURCE" . "2") ("__SIZEOF_INT__" . "4") ("__SIZEOF_POINTER__" . "8") ("__STDC_HOSTED__" . "1") ("__LDBL_HAS_INFINITY__" . "1") ("__FLT_EPSILON__" . "1.19209290e-7F") ("__GXX_WEAK__" . "1") ("__LDBL_MIN__" . "3.36210314311209350626e-4932L") ("__DEC32_MAX__" . "9.999999E96DF") ("__SIZEOF_LONG__" . "8") ("__DECIMAL_DIG__" . "21") ("__gnu_linux__" . "1") ("__LDBL_HAS_QUIET_NAN__" . "1") ("__GNUC__" . "4") ("__GXX_RTTI" . "1") ("__MMX__" . "1") ("__FLT_HAS_DENORM__" . "1") ("__SIZEOF_LONG_DOUBLE__" . "16") ("__DBL_MAX__" . "1.7976931348623157e+308") ("__DBL_HAS_INFINITY__" . "1") ("__DEC32_MIN_EXP__" . "(-95)") ("__LDBL_HAS_DENORM__" . "1") ("__cplusplus" . "1") ...)) custom-initialize-reset(semantic-lex-c-preprocessor-symbol-map nil) custom-declare-variable(semantic-lex-c-preprocessor-symbol-map nil ("/home/prophet/opt/cedet-cvs/semantic/bovine/semantic-c.elc" . 5073) :group c :type (repeat (cons (string :tag "Keyword") (sexp :tag "Replacement"))) :set #[(sym value) "\302 \"\210\303\304\305\217\207" [sym value set-default nil (semantic-c-reset-preprocessor-symbol-map) (...)] 3]) semantic-default-c-setup() run-hooks(c-mode-common-hook c++-mode-hook) apply(run-hooks (c-mode-common-hook c++-mode-hook)) run-mode-hooks(c-mode-common-hook c++-mode-hook) c++-mode() set-auto-mode-0(c++-mode nil) set-auto-mode() normal-mode(t) after-find-file(nil t) find-file-noselect-1(#<buffer main.cpp> "~/work/uber/main.cpp" nil nil "~/work/uber/main.cpp" (1343954 2051)) find-file-noselect("~/work/uber/main.cpp" nil nil t) find-file("~/work/uber/main.cpp" t) call-interactively(find-file nil nil) The second time (it still runs twice with all the lex lines commented out) it exits right away (the semantic--parse-table returns nil) and the stack at the beginning looks like this: semantic-new-buffer-fcn() run-hooks(mode-local-init-hook) #[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2]() mode-local-map-file-buffers(#[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2] #[nil " =?\207" [mode-local--init-mode major-mode] 2] (#<buffer c++config.h> #<buffer main.cpp>)) mode-local-post-major-mode-change() run-hooks(find-file-hook) after-find-file(nil nil) find-file-noselect-1(#<buffer c++config.h> "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" t nil "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" (601325 2051)) find-file-noselect("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" t nil nil) semantic-find-file-noselect("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" t) semanticdb-create-table-for-file-not-in-buffer("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h") semanticdb-file-table-object("/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h") semantic-c-reset-preprocessor-symbol-map() #[(sym value) "\302 \"\210\303\304\305\217\207" [sym value set-default nil (semantic-c-reset-preprocessor-symbol-map) (...)] 3](semantic-lex-c-preprocessor-symbol-map (("__DBL_MIN_EXP__" . "(-1021)") ("__FLT_MIN__" . "1.17549435e-38F") ("__DEC64_DEN__" . "0.000000000000001E-383DD") ("__CHAR_BIT__" . "8") ("__WCHAR_MAX__" . "2147483647") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1" . "1") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2" . "1") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4" . "1") ("__DBL_DENORM_MIN__" . "4.9406564584124654e-324") ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8" . "1") ("__FLT_EVAL_METHOD__" . "0") ("__unix__" . "1") ("__x86_64" . "1") ("__DBL_MIN_10_EXP__" . "(-307)") ("__FINITE_MATH_ONLY__" . "0") ("__LP64__" . "1") ("__GNUC_PATCHLEVEL__" . "2") ("__DEC64_MAX_EXP__" . "384") ("__SHRT_MAX__" . "32767") ("__LDBL_MAX__" . "1.18973149535723176502e+4932L") ("__linux" . "1") ("__DEC32_EPSILON__" . "1E-6DF") ("__unix" . "1") ("__LDBL_MAX_EXP__" . "16384") ("__linux__" . "1") ("__SCHAR_MAX__" . "127") ("__DBL_DIG__" . "15") ("_FORTIFY_SOURCE" . "2") ("__SIZEOF_INT__" . "4") ("__SIZEOF_POINTER__" . "8") ("__STDC_HOSTED__" . "1") ("__LDBL_HAS_INFINITY__" . "1") ("__FLT_EPSILON__" . "1.19209290e-7F") ("__GXX_WEAK__" . "1") ("__LDBL_MIN__" . "3.36210314311209350626e-4932L") ("__DEC32_MAX__" . "9.999999E96DF") ("__SIZEOF_LONG__" . "8") ("__DECIMAL_DIG__" . "21") ("__gnu_linux__" . "1") ("__LDBL_HAS_QUIET_NAN__" . "1") ("__GNUC__" . "4") ("__GXX_RTTI" . "1") ("__MMX__" . "1") ("__FLT_HAS_DENORM__" . "1") ("__SIZEOF_LONG_DOUBLE__" . "16") ("__DBL_MAX__" . "1.7976931348623157e+308") ("__DBL_HAS_INFINITY__" . "1") ("__DEC32_MIN_EXP__" . "(-95)") ("__LDBL_HAS_DENORM__" . "1") ("__cplusplus" . "1") ...)) custom-initialize-reset(semantic-lex-c-preprocessor-symbol-map nil) custom-declare-variable(semantic-lex-c-preprocessor-symbol-map nil ("/home/prophet/opt/cedet-cvs/semantic/bovine/semantic-c.elc" . 5073) :group c :type (repeat (cons (string :tag "Keyword") (sexp :tag "Replacement"))) :set #[(sym value) "\302 \"\210\303\304\305\217\207" [sym value set-default nil (semantic-c-reset-preprocessor-symbol-map) (...)] 3]) semantic-default-c-setup() run-hooks(c-mode-common-hook c++-mode-hook) apply(run-hooks (c-mode-common-hook c++-mode-hook)) run-mode-hooks(c-mode-common-hook c++-mode-hook) c++-mode() set-auto-mode-0(c++-mode nil) set-auto-mode() normal-mode(t) after-find-file(nil t) find-file-noselect-1(#<buffer main.cpp> "~/work/uber/main.cpp" nil nil "~/work/uber/main.cpp" (1343954 2051)) find-file-noselect("~/work/uber/main.cpp" nil nil t) find-file("~/work/uber/main.cpp" t) call-interactively(find-file nil nil) I just ran diff on these and it looks like the stack is identical in both cases, so I'm assuming the state of a global somewhere is changing. On Thu, Mar 26, 2009 at 11:35 PM, Eric M. Ludlam <er...@si...> wrote: >>>> Joseph Garvin <jos...@gm...> seems to think that: > [ ... ] >>Now the error I get is "Cannot analyze buffers not supported by >>semantic" when I try semantic-complete-analyze-inline. >> >>If I try stepping through semantic-new-buffer-fcn while loading >>main.cpp, it completes without error. Also, for some reason the >>function runs 5 or 6 times (maybe once for each header I've specified >>to lex?). Interestingly, the second time the function runs, the >>semantic--parse-table part seems to fail (the function exits right >>away). My emacs debug-fu is weak, so I'm not sure how to inspect what >>file it's trying to deal with there (the function doesn't take any >>parameters so I'm not sure what variable to look at). > > This function should run once for each file you pull in for > preprocessor symbols. It would then run again for main.cpp. > > As you had this problem before setting up your macro files, it would > be good to disable all that, and trying this again. > > When stopped in the debugger with edebug, press "d" to get a stack to > appear. My stack looks like this: > > semantic-new-buffer-fcn() > run-hooks(mode-local-init-hook) > #[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2]() > mode-local-map-file-buffers(#[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2] #[nil " =?\207" [mode-local--init-mode major-mode] 2] (#<buffer foo.cpp>)) > mode-local-post-major-mode-change() > run-hooks(find-file-hook) > after-find-file(nil t) > find-file-noselect-1(#<buffer foo.cpp> "/tmp/foo.cpp" nil nil "/tmp/foo.cpp" (200586 770)) > find-file-noselect("/tmp/foo.cpp" nil nil t) > find-file("/tmp/foo.cpp" t) > call-interactively(find-file nil nil) > > Hopefully yours is similar. > > If you get multiple calls in again, then that is the problem, and a > stack will help identify what is going on. > > Eric > > -- > Eric Ludlam: er...@si... > Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |
From: Eric M. L. <er...@si...> - 2009-03-27 20:52:03
|
>>> Joseph Garvin <jos...@gm...> seems to think that: >So first I just tried commenting out all the lines telling semantic to >lex the various qt4 headers, and confirmed that the error still >happened. [ ... ] This is the same problem I seem to remember from before on this mailing list, but now there are a few more details. The quick fix is to just go and edit the file: /usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h and force it to reparse and save the data base. When you restart Emacs, things should be ok. It will take me a while to unravel from your stack traces what is going on, as this doesn't happen to everyone who bootstraps in a new CEDET. I may need to call on you again to try out some stuff even if you get it work with this quick fix. Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-27 21:14:24
|
err, I realized my last e-mail was unclear. The cannot find types error didn't occur I think until after I tried semantic-complete-analyze-inline. On Fri, Mar 27, 2009 at 5:11 PM, Joseph Garvin <jos...@gm...> wrote: > I edited the file in emacs, saved it, undid the changes, saved it, > said yes to creating .semanticdb, and exited. Then I loaded emacs up > again and opened main.cpp and lo and behold it started parsing a ton > of headers! After that though, it came up with the old can't find > types for QPushButton hello () error. Then I tried editing my .emacs > to uncomment the lex lines relating to QT's headers, restarted emacs, > and tried again, but this time got the "Cannot analyze buffers not > supported by semantic" error again. > > I've attached that header in case it's the one that's problematic. > Given the path, is it possible that the people like myself having this > problem are all on 64-bit? I'm running 64-bit ubuntu intrepid. > > On Fri, Mar 27, 2009 at 4:51 PM, Eric M. Ludlam <er...@si...> wrote: >>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>So first I just tried commenting out all the lines telling semantic to >>>lex the various qt4 headers, and confirmed that the error still >>>happened. >> [ ... ] >> >> This is the same problem I seem to remember from before on this >> mailing list, but now there are a few more details. >> >> The quick fix is to just go and edit the file: >> >> /usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h >> >> and force it to reparse and save the data base. When you restart >> Emacs, things should be ok. It will take me a while to unravel from >> your stack traces what is going on, as this doesn't happen to everyone >> who bootstraps in a new CEDET. I may need to call on you again to try >> out some stuff even if you get it work with this quick fix. >> >> Eric >> >> -- >> Eric Ludlam: er...@si... >> Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> cedet-semantic mailing list >> ced...@li... >> https://lists.sourceforge.net/lists/listinfo/cedet-semantic >> > |
From: Eric M. L. <er...@si...> - 2009-03-27 23:33:35
|
>>> Joseph Garvin <jos...@gm...> seems to think that: >--001636426a09a940240466202e72 >Content-Type: text/plain; charset=ISO-8859-1 >Content-Transfer-Encoding: quoted-printable > >I edited the file in emacs, saved it, undid the changes, saved it, >said yes to creating .semanticdb, and exited. Then I loaded emacs up >again and opened main.cpp and lo and behold it started parsing a ton >of headers! After that though, it came up with the old can't find >types for QPushButton hello () error. Then I tried editing my .emacs >to uncomment the lex lines relating to QT's headers, restarted emacs, >and tried again, but this time got the "Cannot analyze buffers not >supported by semantic" error again. > >I've attached that header in case it's the one that's problematic. >Given the path, is it possible that the people like myself having this >problem are all on 64-bit? I'm running 64-bit ubuntu intrepid. > [ ... ] Thanks for the header. It parsed fine on my machine and caused no errors so it didn't help. I moved some stuff around in semantic-c to try and prevent the stacks you had provided. Could you try it? I have a 64 debian at work, and CEDET works fine for me there too. I suppose another option is that you have some mysterious extra package installed that is somehow interfering. For a different reason, I checked in a change to try and detect a pre-installed CEDET today. Perhaps that will turn something up. Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-28 00:36:31
Attachments:
emacsrc.el
|
First I tried completion in main.cpp without deleting .semanticdb, and I still got the couldn't find types error. Then I closed emacs, deleted .semanticdb, then loaded main.cpp, and tried completion, and got the buffers not supported error again. Also it didn't try to parse a ton of headers like it did after the time editing c++config.h. In case it's something specific about my configuration, I've attached my .emacs. It's not too long, maybe you could see if I'm doing something crazy? On Fri, Mar 27, 2009 at 7:33 PM, Eric M. Ludlam <er...@si...> wrote: >>>> Joseph Garvin <jos...@gm...> seems to think that: >>--001636426a09a940240466202e72 >>Content-Type: text/plain; charset=ISO-8859-1 >>Content-Transfer-Encoding: quoted-printable >> >>I edited the file in emacs, saved it, undid the changes, saved it, >>said yes to creating .semanticdb, and exited. Then I loaded emacs up >>again and opened main.cpp and lo and behold it started parsing a ton >>of headers! After that though, it came up with the old can't find >>types for QPushButton hello () error. Then I tried editing my .emacs >>to uncomment the lex lines relating to QT's headers, restarted emacs, >>and tried again, but this time got the "Cannot analyze buffers not >>supported by semantic" error again. >> >>I've attached that header in case it's the one that's problematic. >>Given the path, is it possible that the people like myself having this >>problem are all on 64-bit? I'm running 64-bit ubuntu intrepid. >> > [ ... ] > > Thanks for the header. It parsed fine on my machine and caused no > errors so it didn't help. > > I moved some stuff around in semantic-c to try and prevent the stacks > you had provided. Could you try it? > > I have a 64 debian at work, and CEDET works fine for me there too. > > I suppose another option is that you have some mysterious extra > package installed that is somehow interfering. For a different > reason, I checked in a change to try and detect a pre-installed CEDET > today. Perhaps that will turn something up. > > Eric > > -- > Eric Ludlam: er...@si... > Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |
From: Eric M. L. <er...@si...> - 2009-03-28 02:05:52
|
>>> Joseph Garvin <jos...@gm...> seems to think that: >First I tried completion in main.cpp without deleting .semanticdb, and >I still got the couldn't find types error. Then I closed emacs, >deleted .semanticdb, then loaded main.cpp, and tried completion, and >got the buffers not supported error again. Also it didn't try to parse >a ton of headers like it did after the time editing c++config.h. Hi, I updated a few more things in semantic-c to try and capture potential errors when generating the lexical table from the file list. I checked that into CVS. Your stacks from before indicate is it loading in semantic-c, and while doing so is initializing these buffers. Hopefully the re-arranging I did will allow things to initialize properly for you. >In case it's something specific about my configuration, I've attached >my .emacs. It's not too long, maybe you could see if I'm doing >something crazy? [ ... ] Nothing looked odd to me. If you can try the latest version from CVS, let me know how it goes. Thanks Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |
From: Joseph G. <jos...@gm...> - 2009-03-28 21:21:27
|
Hey, with latest cvs if I try semantic-complete-analyze-inline it starts parsing headers! Yay! But then it says it still can't find types for QPushButton :/ This is with the following lexing lines: (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qconfig-dist.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qglobal.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qobjectdefs.h")) (add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat qt4-base-dir "/Qt/qwebkitglobal.h")) Thanks for pursuing this, I feel like we're getting closer. Joe On Fri, Mar 27, 2009 at 10:05 PM, Eric M. Ludlam <er...@si...> wrote: >>>> Joseph Garvin <jos...@gm...> seems to think that: >>First I tried completion in main.cpp without deleting .semanticdb, and >>I still got the couldn't find types error. Then I closed emacs, >>deleted .semanticdb, then loaded main.cpp, and tried completion, and >>got the buffers not supported error again. Also it didn't try to parse >>a ton of headers like it did after the time editing c++config.h. > > Hi, > > I updated a few more things in semantic-c to try and capture > potential errors when generating the lexical table from the file list. > I checked that into CVS. Your stacks from before indicate is it > loading in semantic-c, and while doing so is initializing these > buffers. Hopefully the re-arranging I did will allow things to > initialize properly for you. > >>In case it's something specific about my configuration, I've attached >>my .emacs. It's not too long, maybe you could see if I'm doing >>something crazy? > [ ... ] > > Nothing looked odd to me. > > If you can try the latest version from CVS, let me know how it goes. > > Thanks > Eric > > -- > Eric Ludlam: er...@si... > Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |
From: Eric M. L. <er...@si...> - 2009-03-29 00:23:10
|
Well then, good news. That implies that I was able to solve the initialization problem. If you can use the makefiles, the next thing is to try the unit tests and make sure all the machinery is working. That will eliminate any concerns that there is any more installation issues. Then you can use `semantic-analyze-debug-assist' to see what suggestions it has as to why it might not find your data type. Eric >>> Joseph Garvin <jos...@gm...> seems to think that: >Hey, with latest cvs if I try semantic-complete-analyze-inline it >starts parsing headers! Yay! But then it says it still can't find >types for QPushButton :/ This is with the following lexing lines: > >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qconfig.h")) >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qconfig-dist.h")) >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qglobal.h")) >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qobjectdefs.h")) >(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >qt4-base-dir "/Qt/qwebkitglobal.h")) > >Thanks for pursuing this, I feel like we're getting closer. > >Joe > >On Fri, Mar 27, 2009 at 10:05 PM, Eric M. Ludlam <er...@si...> wrote: >>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>First I tried completion in main.cpp without deleting .semanticdb, and >>>I still got the couldn't find types error. Then I closed emacs, >>>deleted .semanticdb, then loaded main.cpp, and tried completion, and >>>got the buffers not supported error again. Also it didn't try to parse >>>a ton of headers like it did after the time editing c++config.h. [ ... ] |
From: Joseph G. <jos...@gm...> - 2009-03-29 00:56:52
|
Should I be trying semantic specific unit tests or the cedet ones? I did "make tests" from the root cedet folder, then cd'd into tests and ran cit-tests.sh, which stops in foodoc.texi with the following backtrace: Debugger entered--Lisp error: (error "Cannot find node to put menu item into") signal(error ("Cannot find node to put menu item into")) error("Cannot find node to put menu item into") srecode-texi-add-menu("About Foo") cit-srecode-fill-texi() cedet-integ-test() call-interactively(cedet-integ-test nil nil) command-execute(cedet-integ-test) command-line-1(("-l" "../common/cedet.el" "-l" "cit-load.el" "-f" "toggle-debug-on-error" "-f" "cedet-integ-test")) command-line() normal-top-level() I tried doing make Tests in semantic/tests, but it said everything was already up to date and none of the files stuck out clearly as the executable to try. Joe On Sat, Mar 28, 2009 at 8:22 PM, Eric M. Ludlam <er...@si...> wrote: > Well then, good news. That implies that I was able to solve the > initialization problem. > > If you can use the makefiles, the next thing is to try the unit tests > and make sure all the machinery is working. That will eliminate any > concerns that there is any more installation issues. > > Then you can use `semantic-analyze-debug-assist' to see what > suggestions it has as to why it might not find your data type. > > Eric > >>>> Joseph Garvin <jos...@gm...> seems to think that: >>Hey, with latest cvs if I try semantic-complete-analyze-inline it >>starts parsing headers! Yay! But then it says it still can't find >>types for QPushButton :/ This is with the following lexing lines: >> >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qconfig.h")) >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qconfig-dist.h")) >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qglobal.h")) >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qobjectdefs.h")) >>(add-to-list 'semantic-lex-c-preprocessor-symbol-file (concat >>qt4-base-dir "/Qt/qwebkitglobal.h")) >> >>Thanks for pursuing this, I feel like we're getting closer. >> >>Joe >> >>On Fri, Mar 27, 2009 at 10:05 PM, Eric M. Ludlam <er...@si...> wrote: >>>>>> Joseph Garvin <jos...@gm...> seems to think that: >>>>First I tried completion in main.cpp without deleting .semanticdb, and >>>>I still got the couldn't find types error. Then I closed emacs, >>>>deleted .semanticdb, then loaded main.cpp, and tried completion, and >>>>got the buffers not supported error again. Also it didn't try to parse >>>>a ton of headers like it did after the time editing c++config.h. > [ ... ] > > ------------------------------------------------------------------------------ > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > |