Re: [CEDET-devel] Fwd: semanticdb-deep-find-tags-for-completion throws an error
Brought to you by:
zappo
From: David E. <de...@ra...> - 2013-11-15 22:07:37
|
Oleh writes: > I'm using 8.0.0. > When I include "exceptions.h", I want to get for "Exc" a list of completions > like '("ExcCompatibility" "ExcDimensionMismatch" > "ExcDimensionMismatch2" "ExcDisabled" "ExcDivideByZero" [...] > I'm getting an error instead. The default > `semantic-analyze-possible-completions' produces only one result out > of the whole > list, while all of them are acceptable from C++ point of view. Revision 8604 introduced a new feature which allows for parsing preprocessor definitions which open scope, like namespaces. In exceptions.h, you'll see DEAL_II_NAMESPACE_OPEN which is defined in config.h as #define DEAL_II_NAMESPACE_OPEN namespace dealii { Before rev. 8604, this was essentially ignored, and now it should be parsed correctly. Since you yet again do not show any real code you're trying to complete, I'll just guess that you don't use the correct namespace. When I create a file in the same directory as exceptions.h, containing ------- #include "exceptions.h" int main(void) { dealii::StandardExceptions:: // Complete here } ------- and do 'C-c , l' after the last '::', I get a correct list of exception classes. Before rev. 8604, it would not work with the 'dealii' namespace, which however is correct, which you should see as soon as you try to actually compile something. >>> in between breaks it. >>> I can try to bisect it, but it's a lengthy process since I have to completely >>> clear and rebuild ~/.emacs.d/semanticdb/, because even revno 8566 throws when >>> used with semanticdb/ built by the later version. >>> >>> I tried to edebug things, but edebug doesn't understand (defmethod stuff. >> >> Yes, it does. > > Doesn't work for `semantic-collector-calculate-completions': > eieio--defmethod: Unknown class type semantic-collector-abstract in > method parameters Do 'M-x eval-buffer' before that. However, since semantic/complete was not loaded in the first place, this is already a hint that you're looking at the wrong file (semantic/analyze/complete is where this stuff is happening). > I attach the debug output. It's quite big. Next time please use gzip to compress it; it reached me, but not the list since it was too big. Anyway, it just shows again that you are calling some Elisp code which I don't know, so I'm afraid it doesn't help: .... eval-expression((semanticdb-deep-find-tags-for-completion sym-name)) debug-eval-other-window() call-interactively(debug-eval-other-window nil nil) -David |