Thread: [CEDET-devel] smart-completion for wxWidgets
Brought to you by:
zappo
From: Eugen D. <eug...@gm...> - 2010-10-26 13:36:50
|
http://sourceforge.net/mailarchive/message.php?msg_name=1254376813.8450.16.camel%40nkn-laptop Hi, according to this post, with the proposed fixes, cedet "should" find all wxWidgets symbols. I pretty much copied the config and tried to get it to run with my installed wxWidgets version (2.8.something .. Fedora13). I'm wondering, why cedet seems to not see all symbols. I'm using the posted DE-implied-whatever function, but it seems some Symbols like Centre (a method in wxFrame .. according to the wxWidgets documentation) can't be found by cedet. Atm, I'm compiling 2.9.1 to see if this one works, but somehow assuming 2.9.1 works for me, the thought kinda irritates me that 2.8 doesn't work perfectly, but 2.9 does. |
From: David E. <de...@ra...> - 2010-10-26 17:34:23
|
Eugen Dahm writes: > http://sourceforge.net/mailarchive/message.php?msg_name=1254376813.8450.16.camel%40nkn-laptop > Hi, according to this post, with the proposed fixes, cedet "should" find > all wxWidgets symbols. I pretty much copied the config and tried > to get it to run with my installed wxWidgets version (2.8.something .. > Fedora13). I'm wondering, why cedet seems to not see all symbols. > I'm using the posted DE-implied-whatever function, but it seems some > Symbols like Centre (a method in wxFrame .. according to the wxWidgets > documentation) can't be found by cedet. Atm, I'm compiling 2.9.1 to see > if this one works, but somehow assuming 2.9.1 works for me, the thought > kinda irritates me that 2.8 doesn't work perfectly, but 2.9 does. Please try the following: * Delete all cache files in ~/.semanticdb * Unless you're already using the GTk binding, install them (stable version, currently 2.8.11). The following assumes that all includes are located in /usr/include/wx-2.8. * Use the following setup: (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_CORE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_CORE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_BASE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_BASE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_XML" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_ADV" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLEXPORT" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("__WXGTK20__" . "1")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("wxWindow" . "wxWindowGTK")) (DE-imply-includes-in-directory "/usr/include/wx-2.8/wx/gtk") At least in the hello world example http://www.wxwidgets.org/docs/tutorials/hworld.txt in MyApp::OnInit(), completing after frame-> now shows me 'Center'. -David |
From: Eugen D. <eug...@gm...> - 2010-10-26 18:43:00
|
On 10/26/2010 07:33 PM, David Engster wrote: > Eugen Dahm writes: >> http://sourceforge.net/mailarchive/message.php?msg_name=1254376813.8450.16.camel%40nkn-laptop >> Hi, according to this post, with the proposed fixes, cedet "should" find >> all wxWidgets symbols. I pretty much copied the config and tried >> to get it to run with my installed wxWidgets version (2.8.something .. >> Fedora13). I'm wondering, why cedet seems to not see all symbols. >> I'm using the posted DE-implied-whatever function, but it seems some >> Symbols like Centre (a method in wxFrame .. according to the wxWidgets >> documentation) can't be found by cedet. Atm, I'm compiling 2.9.1 to see >> if this one works, but somehow assuming 2.9.1 works for me, the thought >> kinda irritates me that 2.8 doesn't work perfectly, but 2.9 does. > Please try the following: > > * Delete all cache files in ~/.semanticdb > > * Unless you're already using the GTk binding, install them (stable > version, currently 2.8.11). The following assumes that all includes > are located in /usr/include/wx-2.8. > > * Use the following setup: > > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_CORE" . "")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_CORE" . "")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_BASE" . "")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_BASE" . "")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_XML" . "")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_ADV" . "")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLEXPORT" . "")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("__WXGTK20__" . "1")) > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("wxWindow" . "wxWindowGTK")) > (DE-imply-includes-in-directory "/usr/include/wx-2.8/wx/gtk") > > At least in the hello world example > > http://www.wxwidgets.org/docs/tutorials/hworld.txt > > in MyApp::OnInit(), completing after frame-> now shows me 'Center'. > > -David > > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel Unfortunately, I already tried to recreate the .semanticdb several times with no luck. Right now I'm using the cedet version from cvs and the 2.9.whatever wxWidgets build. frame-> shows me: Create, GetClientAreaOrigin, IsClientAreaChild, New, OnAbout, OnInternalIdle, OnQuit, ProcessCommand, ShowFullScreen and UpdateWindowUI. frame-> only shows me Center when I type frame->Ce + semantic-ia-complete-symbol-menu. frame->C + semantic-ia-complete-symbol-menu only shows Create, while semantic-complete-self-insert (->) never shows me Center. There are some strange inconsistencies :(. Maybe it helps if I post my config. I don't see any mistakes compared to what you posted. > ;Here is the CEDET initialization file looks like: ;; Handles the CEDET configuration (load-file "~/cedet/common/cedet.el") (semantic-load-enable-excessive-code-helpers) (require 'semantic-ia) (require 'semantic-gcc) (defvar wx-base-dir "/opt/wxWidgets-2.9.1/include/wx-2.9/wx") ;; custom key bindings for smart completion (global-set-key "\C-x\C-m" 'semantic-ia-complete-symbol-menu) ;; Loading EDE package (require 'ede) (global-ede-mode t) ;; Function to load all include files in the specified directory (defun DE-imply-includes-in-directory (dir) "Add all header files in DIR to `semanticdb-implied-include-tags'." (let ((files (directory-files dir t "^.+\\.h[hp]*$" t))) (defvar-mode-local c++-mode semanticdb-implied-include-tags (mapcar (lambda (header) (semantic-tag-new-include header nil :filename header)) files)))) ;initialization file for wxWidgets: ;; include files for wxwidgets (semantic-add-system-include wx-base-dir 'c++-mode) (semantic-add-system-include wx-base-dir 'c-mode) ;; preprocessor macro (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLEXPORT" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_CORE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_CORE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_BASE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_BASE" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_FWD_XML" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("WXDLLIMPEXP_ADV" . "")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("__WXGTK20__" . "1")) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("wxWindow" . "wxWindowGTK")) (defun cedet-commands () (local-set-key [(control return)] 'semantic-ia-complete-symbol) (local-set-key "\C-c?" 'semantic-ia-complete-symbol-menu) (local-set-key "\C-c>" 'semantic-complete-analyze-inline) (local-set-key "\C-cp" 'semantic-analyze-proto-impl-toggle) (local-set-key "\C-cj" 'semantic-complete-jump-local) (local-set-key "\C-cJ" 'semantic-complete-jump) (local-set-key "\C-cf" 'semantic-ia-fast-jump) (local-set-key "\C-cw" 'semantic-symref) (local-set-key "\C-cW" 'semantic-symref-symbol) (local-set-key (kbd "C-c <left>") 'semantic-tag-folding-fold-block) (local-set-key (kbd "C-c <right>") 'semantic-tag-folding-show-block) ) (defun cedet-self-insert () (local-set-key "." 'semantic-complete-self-insert) (local-set-key ">" 'semantic-complete-self-insert) ; (local-set-key "::" 'semantic-complete-self-insert) ) (defun c_coding() (cedet-commands) (cedet-self-insert) ) (setq-mode-local c-mode semanticdb-find-default-throttle '(project unloaded system recursive)) (setq-mode-local c++-mode semanticdb-find-default-throttle '(project unloaded system recursive)) (add-hook 'c-mode-common-hook 'c_coding) ;; Implicitly adding the header files to get completion working ;; Adding all include files in gtk directory (DE-imply-includes-in-directory (concat wx-base-dir "/gtk")) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(inhibit-startup-screen t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) ;; END And yes, I exported $CPATH with export CPATH=/opt/wxWidgets-2.9.1/include/wx-2.9/wx and configured the library path with ldconfig /opt/wxWidgets-2.9.1/lib (linking and executing works, which ldd shows .... libwx_gtk2u_xrc-2.9.so.1 => /opt/wxWidgets-2.9.1/lib/libwx_gtk2u_xrc-2.9.so.1 . So it is definitely linked with the new compiled version (although not really the main issue here). I had to export CPATH, because without it, cedet didn't find the libraries (which means it definitely sees them in emacs). With this config now, I get the exact same symbols with the F13 wxWidgets-2.8.x and with the compiled version@ /opt/wxWidgets-2.9.1. I'm out of ideas right now. |
From: David E. <de...@ra...> - 2010-10-26 21:35:46
|
Eugen Dahm writes: > Unfortunately, I already tried to recreate the .semanticdb several times > with no luck. Right now I'm using the cedet version from cvs > and the 2.9.whatever wxWidgets build. CEDET has switched to bzr. Please checkout the current source with bzr branch bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ > (defvar wx-base-dir "/opt/wxWidgets-2.9.1/include/wx-2.9/wx") You should use /opt/wxWidgets-2.9.1/include/wx-2.9 as base-dir, since the #include statements already feature the "wx/" prefix. Anyway, I'd recommend sticking with the stable version 2.8.11 from wxWidget for now. I wouldn't be surprised if they added new preprocessor trickery in the 2.9 branch which break parsing. -David |
From: David E. <de...@ra...> - 2010-10-27 17:08:31
|
Lluís writes: > David Engster writes: >> Eugen Dahm writes: >>> Unfortunately, I already tried to recreate the .semanticdb several times >>> with no luck. Right now I'm using the cedet version from cvs >>> and the 2.9.whatever wxWidgets build. > >> CEDET has switched to bzr. Please checkout the current source with > >> bzr branch bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ > > Well, if you're not knowledgeable of BZR, better use: > bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ For a user not familiar with bzr, what's the advantage of using 'checkout' instead of 'branch' for anonymous access? In a branch, you can use 'update' as well as 'pull' to update the source; the latter is usually done by people used to other DVCS's, and will not work in a checkout. -David |
From: Jason E. <je...@no...> - 2010-10-27 17:48:02
|
On Wed, Oct 27 2010, David Engster wrote: > Lluís writes: >> David Engster writes: >>> Eugen Dahm writes: >>>> Unfortunately, I already tried to recreate the .semanticdb several times >>>> with no luck. Right now I'm using the cedet version from cvs >>>> and the 2.9.whatever wxWidgets build. >> >>> CEDET has switched to bzr. Please checkout the current source with >> >>> bzr branch bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ >> >> Well, if you're not knowledgeable of BZR, better use: >> bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ > > For a user not familiar with bzr, what's the advantage of using > 'checkout' instead of 'branch' for anonymous access? In a branch, you > can use 'update' as well as 'pull' to update the source; the latter is > usually done by people used to other DVCS's, and will not work in a > checkout. Actually, 'bzr update' is not likely to do what a Subversion user expects in a plain bzr branch. It will update the working tree, but it won't pull in new revisions. Worse, it will respond like it did something useful. Jason |
From: David E. <de...@ra...> - 2010-10-27 18:17:38
|
Jason Earl writes: > On Wed, Oct 27 2010, David Engster wrote: > >> Lluís writes: >>> David Engster writes: >>>> Eugen Dahm writes: >>>>> Unfortunately, I already tried to recreate the .semanticdb several times >>>>> with no luck. Right now I'm using the cedet version from cvs >>>>> and the 2.9.whatever wxWidgets build. >>> >>>> CEDET has switched to bzr. Please checkout the current source with >>> >>>> bzr branch bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ >>> >>> Well, if you're not knowledgeable of BZR, better use: >>> bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ >> >> For a user not familiar with bzr, what's the advantage of using >> 'checkout' instead of 'branch' for anonymous access? In a branch, you >> can use 'update' as well as 'pull' to update the source; the latter is >> usually done by people used to other DVCS's, and will not work in a >> checkout. > > Actually, 'bzr update' is not likely to do what a Subversion user > expects in a plain bzr branch. It will update the working tree, but it > won't pull in new revisions. Worse, it will respond like it did > something useful. Ah, OK. Thanks for clarifying. The output from 'update' in a branch indeed made me think that it did what I assumed. I've tried to understand the difference between pull and update by digging through http://omgili.com/mailinglist/bazaar/lists/canonical/com/f7ccd24b0912160937q6d0fc32fv36f7e9fc5ae241b1mailgmailcom.html but it only added to my confusion; I also had to learn that 'branch'+'bind' is yet different from 'checkout'. This is why I always try to avoid checkouts and all that is connected to them (including 'update'). -David |
From: <xs...@gm...> - 2010-10-27 20:02:28
|
David Engster writes: > I also had to learn that 'branch'+'bind' is yet different from > 'checkout'. This is why I always try to avoid checkouts and all that > is connected to them (including 'update'). They shouldn't behave differently: http://doc.bazaar.canonical.com/bzr.dev/en/user-reference/checkouts-help.html (also available as "bzr help checkouts", see also "bzr help" and "bzr help topics") >From my understanding (after reading "bzr help working-trees", recommended by "bzr help update"), bazaar works on two dimensions (regarding the tasks we're discussing): - having a working-tree - having a bound branch These two dimensions can be seen on "bzr help reconfigure", under "Target type", and then it's clear (to me) that commands "bzr checkout" and "bzr branch" are just shortcuts to two common combinations of these two dimensions (confusingly enough "reconfigure --tree" is the equivalent of "bzr branch", and not "reconfigure --branch" as one would imagine). Then, my understanding on "update" is that it brings the working-tree (the files you edit) up-to-date according to the underlying branch (which the "update" documentation - confusingly again - calls "merge", although "merge" is yet another command). As a bonus, if the branch is "bound", a "bzr pull" is called prior to the regular update actions. Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth |
From: Eugen D. <eug...@gm...> - 2010-10-28 18:38:09
|
On 10/27/2010 09:06 AM, David Engster wrote: > Eugen Dahm writes: >> Ok, but except the wx-base-dir you don't see any problems in my >> configuration > On first view, I somehow missed that one: > > (setq-mode-local c-mode > semanticdb-find-default-throttle > '(project unloaded system recursive)) > (setq-mode-local c++-mode > semanticdb-find-default-throttle > '(project unloaded system recursive)) > > Why are you excluding 'local' here? That's usually not a good idea. > > -David > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel Argh, nvm. There are still problems. wxFrame works fine, although .. cedet sees reeeeeallly much (don't know if it is too much), but wxMenu and probably others are still buggy. As far as I understand, wxMenu inherits wxMenuBase, but cedet doesn't seem to parse wxMenuBase - don't know why. That's imo the reason why cedet only sees the methods directly declared in wxMenu (which is located at the end of wx/gtk/menu.h) but doesn't see the methods from wxMenuBase, which contains most of the wxMenu class. Cedet seems to doesn't know wxMenuBase at all, because when I write wxMenuBase *whatever ... after wxMenu .. cedet only suggests wxMenu, wxMenuBar and wxMenuItem but not wxMenuBase. Conclusion, I don't fu***** know, why cedet ignores wxMenuBase, and afais wxMenuBarBase too. Another good ideas for a little oneliner in the config to fix this? Thx. |
From: Eugen D. <eug...@gm...> - 2010-10-29 19:46:55
|
On 10/29/2010 08:01 PM, David Engster wrote: > Eugen Dahm writes: >> Conclusion, I don't fu***** know, why cedet ignores wxMenuBase, and >> afais wxMenuBarBase too. > Calm down and try > > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("wxUSE_MENUS" . "1")) > > -David > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel Still no change. Would have been too easy :). At least with wxMenu. Cedet (at least in my case) only knows: wxMenu, wxMenuBar and wxMenuItem (with respect to wxMenu as prefix). Lol, if I ever get this to work, I will make 5 backups or so of the config file ^^. I wonder why I'm the only one who has problems with auto-completion , even after adding the WXDLLEXPORT and all WXDLLIMPEXP macros to semantic-lex-c-preprocessor-symbol-map. |
From: Eugen D. <eug...@gm...> - 2010-10-29 20:26:31
|
On 10/29/2010 10:19 PM, Eugen Dahm wrote: > Of course i did delete them ;). Hmm, overstrike is there. It didn't > appear immediately but.. it's there :(, but negative on the bovinate > output. No wxMenuBase. > Scratch that. Called bovinate in the wrong window. Of course it pops up with wxMenuBase, if wxMenuBase also is overstriked in menu.h, but it still gets - devil knows why - ignored in my hworld.cpp file. I'm completely clueless. |
From: David E. <de...@ra...> - 2010-10-29 20:29:26
|
Eugen Dahm writes: > On 10/29/2010 10:19 PM, Eugen Dahm wrote: >> Of course i did delete them ;). Hmm, overstrike is there. It didn't >> appear immediately but.. it's there :(, but negative on the bovinate >> output. No wxMenuBase. >> > Scratch that. Called bovinate in the wrong window. Of course it pops up > with wxMenuBase, if wxMenuBase also is overstriked in menu.h, but it > still gets - devil knows why - ignored in my hworld.cpp file. I'm > completely clueless. Hmm... you did include "wx/menu.h", right? -David |
From: David E. <de...@ra...> - 2010-10-29 22:00:58
|
Lluís writes: > David Engster writes: > >> I also had to learn that 'branch'+'bind' is yet different from >> 'checkout'. This is why I always try to avoid checkouts and all that >> is connected to them (including 'update'). > > They shouldn't behave differently: Well, both create a bound branch with a working tree, but 'checkout' does not set the parent pointer, whereas 'branch'+'bind' does set it ('branch' sets it, to be exact). It's a subtle difference, but confusing nonetheless, since from the docs I assumed that 'branch'+'bind' is fully equivalent to 'checkout'. > From my understanding (after reading "bzr help working-trees", > recommended by "bzr help update"), bazaar works on two dimensions > (regarding the tasks we're discussing): > > - having a working-tree > - having a bound branch [...] > Then, my understanding on "update" is that it brings the working-tree > (the files you edit) up-to-date according to the underlying branch > (which the "update" documentation - confusingly again - calls "merge", > although "merge" is yet another command). Thanks, that was really helpful. While I understand the logic now (or so I think), I'm not sure what to make of this. People might not be familiar with bzr, but they are often familiar with DCVS workflows nowadays, specifically with the trinity of clone/pull/push, which is usually why I recommend to use 'branch' (or the alias 'clone'). On another note: Would it be possible to have commit mails for the bzr repo? This would also be useful for starting the buildbot; I'm currently parsing the RSS feed from SourceForge for this, but it is very unreliable. The perfect solution for buildbot would of course be if you could install the buildbot commit-hook bzr plugin, but I guess this isn't possible at SourceForge. -David |
From: <xs...@gm...> - 2010-10-30 18:29:03
|
David Engster writes: >>> I also had to learn that 'branch'+'bind' is yet different from >>> 'checkout'. This is why I always try to avoid checkouts and all that >>> is connected to them (including 'update'). >> >> They shouldn't behave differently: > Well, both create a bound branch with a working tree, but 'checkout' > does not set the parent pointer, whereas 'branch'+'bind' does set it > ('branch' sets it, to be exact). It's a subtle difference, but confusing > nonetheless, since from the docs I assumed that 'branch'+'bind' is fully > equivalent to 'checkout'. Well, the property naming is somewhat confusing, but I suppose you're referring to 'parent_location' (see "bzr info" and "cat .bzr/branch/branch.conf"). It is indeed automatically set during a "bzr branch", whereas "bzr checkout" does not set this property. In any case, you'll be using this property during, e.g., "bzr missing". If the property is not set, the UI will error out and ask you to provide it an URL (that, by default, will be automatically saved as the 'parent_location' property). Summarizing, "bzr missing" on a "bzr branch" will work out of the box, but "bzr missing" on a "bzr checkout" will ask you to provide an URL to compare with. This is because the bzr developers assumed that on a "bzr checkout" you will use "missing" with other branches that are not the bound branch (thus you don't get 'parent_location' automatically). Whether or not this makes sense, is not for me to say, but it confused me at the beginning. >> From my understanding (after reading "bzr help working-trees", >> recommended by "bzr help update"), bazaar works on two dimensions >> (regarding the tasks we're discussing): >> >> - having a working-tree >> - having a bound branch > [...] >> Then, my understanding on "update" is that it brings the working-tree >> (the files you edit) up-to-date according to the underlying branch >> (which the "update" documentation - confusingly again - calls "merge", >> although "merge" is yet another command). > Thanks, that was really helpful. While I understand the logic now (or so > I think), I'm not sure what to make of this. People might not be > familiar with bzr, but they are often familiar with DCVS workflows > nowadays, specifically with the trinity of clone/pull/push, which is > usually why I recommend to use 'branch' (or the alias 'clone'). I put "bzr checkout" on the documentation for the mainline mirror because merging into a checkout (or a bound branch) will ease some commandline pain during merge conflicts. > On another note: Would it be possible to have commit mails for the bzr > repo? This would also be useful for starting the buildbot; I'm currently > parsing the RSS feed from SourceForge for this, but it is very > unreliable. The perfect solution for buildbot would of course be if you > could install the buildbot commit-hook bzr plugin, but I guess this > isn't possible at SourceForge. If you know how to set up server-side hooks in bazaar, you can place the scripts on the SF server (see the SF documentation to know how to login into the project shell). Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth |
From: Dahm E. <eug...@gm...> - 2010-10-30 00:14:59
|
Nope, why should i do that? I didn't change anything in the include section. Except don't remember anymore, maybe changed the include from “wx/wx.h“ to <wx/wx.h> which would be the correct way for system includes. After all, the compiler only needs wx.h "David Engster" <de...@ra...> wrote: >Eugen Dahm writes: >> On 10/29/2010 10:19 PM, Eugen Dahm wrote: >>> Of course i did delete them ;). Hmm, overstrike is there. It didn't >>> appear immediately but.. it's there :(, but negative on the bovinate >>> output. No wxMenuBase. >>> >> Scratch that. Called bovinate in the wrong window. Of course it pops >up >> with wxMenuBase, if wxMenuBase also is overstriked in menu.h, but it >> still gets - devil knows why - ignored in my hworld.cpp file. I'm >> completely clueless. > >Hmm... you did include "wx/menu.h", right? > >-David > >------------------------------------------------------------------------------ >Nokia and AT&T present the 2010 Calling All Innovators-North America >contest >Create new apps & games for the Nokia N8 for consumers in U.S. and >Canada >$10 million total in prizes - $4M cash, 500 devices, nearly $6M in >marketing >Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi >Store >http://p.sf.net/sfu/nokia-dev2dev >_______________________________________________ >Cedet-devel mailing list >Ced...@li... >https://lists.sourceforge.net/lists/listinfo/cedet-devel |
From: David E. <de...@ra...> - 2010-10-30 06:48:07
|
Dahm Eugen writes: > Nope, why should i do that? [...] > After all, the compiler only needs wx.h What makes you think that? Read the official docs http://docs.wxwidgets.org/stable/wx_wxmenu.html#wxmenu ('include files' section), or one of the tutorials http://zetcode.com/tutorials/wxwidgetstutorial/menustoolbars/ -David |
From: Dahm E. <eug...@gm...> - 2010-10-30 08:08:08
|
Because the helloworld example builds and runs fine without including menu.h. Same with wxFrame/frame.h. "David Engster" <de...@ra...> wrote: >Dahm Eugen writes: >> Nope, why should i do that? >[...] >> After all, the compiler only needs wx.h > >What makes you think that? Read the official docs > >http://docs.wxwidgets.org/stable/wx_wxmenu.html#wxmenu > >('include files' section), or one of the tutorials > >http://zetcode.com/tutorials/wxwidgetstutorial/menustoolbars/ > >-David > >------------------------------------------------------------------------------ >Nokia and AT&T present the 2010 Calling All Innovators-North America >contest >Create new apps & games for the Nokia N8 for consumers in U.S. and >Canada >$10 million total in prizes - $4M cash, 500 devices, nearly $6M in >marketing >Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi >Store >http://p.sf.net/sfu/nokia-dev2dev >_______________________________________________ >Cedet-devel mailing list >Ced...@li... >https://lists.sourceforge.net/lists/listinfo/cedet-devel |
From: Eugen D. <eug...@gm...> - 2010-10-30 08:48:05
|
On 10/30/2010 10:34 AM, David Engster wrote: > Dahm Eugen writes: >> Because the helloworld example builds and runs fine without including menu.h. Same with wxFrame/frame.h. > Hmm. wx.h indeed already includes most of the stuff, but surprise, > there's another #ifdef, so > > (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("wxUSE_GUI" . "1")) > > should do the trick. Anyway, the docs say to include menu.h, so I'd just > do it. I guess they want to reserve some leeway for what will be > included by default in wx.h. > > -David > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel 1) wxUSE_GUI didn't work for me, don't know why. I will experiment with this a bit more, maybe there is some trick... idk. 2) When I include wx/menu.h .. all wxFrame symbols magically disappear - although all wxMenu symbols are then available. There is some strange circular problem, I guess. |
From: Eugen D. <eug...@gm...> - 2010-11-02 14:11:45
|
On 10/30/2010 03:00 PM, David Engster wrote: > Eugen Dahm writes: >> 1) wxUSE_GUI didn't work for me, don't know why. I will experiment with >> this a bit more, maybe there is some trick... idk. > Well, all I can say is "works for me". It'd help if you could post your > test case. Here's what I'm using at the moment, now not including > menu.h: > > ---------------- > #include "wx/wx.h" > > void func(void) > { > wxMenu* myMenu = new wxMenu; > myMenu-> // call M-x semantic-analyze-possible-completions here > } > ---------------- > > This gives me a huge amount of stuff... might be too much, but anyway... > > -David > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("wxUSE_MENUS" . "1")) this was what I had to append additionally. I'm not sure if all is listed now, because wxFrame does show a whole lot more than wxMenu, but it seems quite correct now. Strange that it did work for you without wxUSE_MENUS. Now the only thing that remains is, do you see the huge amount of stuff you mentioned with my config, and what happens if you add wxUSE_MENUS to the config too? My last problem is, I'd like to have semantic-ia-show-summary beeing visible in the minibuffer all the time until I have filled in all the parameters. I find it a bit annoying that it disappears after opening the parenthesis. I'm used to eclipse, where it displays the prototype all the time and not only after writing the methodcall before the parenthesis. Do you know any variables or w/e to have this behavior? THX. |
From: Eric M. L. <er...@si...> - 2010-11-03 12:35:51
|
On 11/02/2010 03:22 PM, David Engster wrote: > Eugen Dahm writes: >> (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("wxUSE_MENUS" . "1")) >> this was what I had to append additionally. I'm not sure if all is >> listed now, because wxFrame does show a whole lot more than wxMenu, but >> it seems >> quite correct now. Strange that it did work for you without >> wxUSE_MENUS. Now the only thing that remains is, do you see the huge >> amount of stuff you mentioned with my config, and what happens if you >> add wxUSE_MENUS to the config too? > > I had wxUSE_MENUS in my config; wxUSE_GUI is not a replacement for that, > they switch different things. If different source files include the wx headers with different things defined, then there will be continued problems. It would probably be easiest to force all the wx headers to be reparsed with all the wxUSE_XXX things defined once, then all refs to it later should work better regardless of what is being used. >> My last problem is, I'd like to have semantic-ia-show-summary beeing >> visible in the minibuffer all the time until I have filled in all the >> parameters. > > I don't know how to do that. That is a side effect of using 'message' to display things in the minibuffer. The alternative is to put that info in the header line, mode line, or some other more persistent place. I'm not really sure what the best tactic to make that happen is. > Maybe Eric has an idea, but it may take > some time till he answers. Indeed. I leave for the big contest tonight. I hear the Science Channel has already started to show spots for teams heading to The Chunk. ( I don't get that channel ) You might get to see me there. :) I expect to be able to think complex Emacsy thoughts again mid November. Eric |
From: Jed B. <je...@59...> - 2010-11-03 12:56:45
|
On Wed, Nov 3, 2010 at 07:29, Eric M. Ludlam <er...@si...> wrote: > > >> My last problem is, I'd like to have semantic-ia-show-summary beeing > >> visible in the minibuffer all the time until I have filled in all the > >> parameters. > > > > I don't know how to do that. > > That is a side effect of using 'message' to display things in the > minibuffer. The alternative is to put that info in the header line, > mode line, or some other more persistent place. I'm not really sure > what the best tactic to make that happen is. Some way to make this happen would be a big usability win. Jed |
From: Eugen D. <eug...@gm...> - 2010-10-26 22:47:43
|
On 10/26/2010 11:35 PM, David Engster wrote: > > CEDET has switched to bzr. Please checkout the current source with > > bzr branch bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk/ > >> (defvar wx-base-dir "/opt/wxWidgets-2.9.1/include/wx-2.9/wx") > You should use /opt/wxWidgets-2.9.1/include/wx-2.9 as base-dir, since > the #include statements already feature the "wx/" prefix. Anyway, I'd > recommend sticking with the stable version 2.8.11 from wxWidget for > now. I wouldn't be surprised if they added new preprocessor trickery in > the 2.9 branch which break parsing. > > -David Ok, but except the wx-base-dir you don't see any problems in my configuration (yeah I know.. 2.9.1 isn't considered to be stable, but I got the exact same result with the 2.8.11 release. Anyway, I will check the base-dir with both versions, maybe this will do the trick. |
From: David E. <de...@ra...> - 2010-10-27 05:35:22
|
Eugen Dahm writes: > Ok, but except the wx-base-dir you don't see any problems in my > configuration (yeah I know.. 2.9.1 isn't considered to be stable, but I > got the exact same result with the 2.8.11 release. Anyway, I will check > the base-dir with both versions, maybe this will do the trick. The rest of your configuration looked fine to me. Anyway, parsing wxWidget is difficult because of all the preprocessor trickery they're doing to merge the different toolkits. As I said, at least I think I got all the methods from wxWindow/wxFrame, but I wouldn't be surprised if other problems turn up elsewhere. -David |
From: David E. <de...@ra...> - 2010-10-27 07:06:26
|
Eugen Dahm writes: > Ok, but except the wx-base-dir you don't see any problems in my > configuration On first view, I somehow missed that one: (setq-mode-local c-mode semanticdb-find-default-throttle '(project unloaded system recursive)) (setq-mode-local c++-mode semanticdb-find-default-throttle '(project unloaded system recursive)) Why are you excluding 'local' here? That's usually not a good idea. -David |
From: Eugen D. <eug...@gm...> - 2010-10-27 08:17:22
|
On 10/27/2010 09:06 AM, David Engster wrote: > Eugen Dahm writes: >> Ok, but except the wx-base-dir you don't see any problems in my >> configuration > On first view, I somehow missed that one: > > (setq-mode-local c-mode > semanticdb-find-default-throttle > '(project unloaded system recursive)) > (setq-mode-local c++-mode > semanticdb-find-default-throttle > '(project unloaded system recursive)) > > Why are you excluding 'local' here? That's usually not a good idea. > > -David > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps & games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel Oops, that wasn't intentional, but it didn't change anything anyway :(. I really wonder why semantic-complete-self-insert is missing some methods, which semantic-ia-complete-symbol-menu isn't. Do you have any explanation, why complete-symbol-menu doesn't show the same methods like self-insert? And why doesn't it show everything? I have to guess the methods for that. frame->Cen + complete-symbol-menu shows Center/Centre/Centerlen/we but frame->C does show only Create. WTF? Can you maybe post what methods pop up with frame-> (semantic-complete-self-insert)? If it isn't too much? If it is too much, I know there is definitely something wrong. Thanks for all your support. |