On Thu, Jul 15, 2010 at 5:03 AM, <firstname.lastname@example.org>
I am working on a C++ project which has a way of defining method functions
in certain classes using macros for the function declaration. CEDET seems
unable to entirely figure out the class context inside the bodies of these
functions. I have included a test case that reproduces the problem below,
the actual usage is much more complex, and I wasn't sure it wasn't just
having problems finding the proper symbol definitions until I wrote this
self-contained test case. In the sample included, inside of HANDLER(Test),
CEDET will not properly tag m_testVar as a member of MyClass, though it will
figure out that OtherFunction() is a method of MyClass. I get the same
result if HANDLER() is defined as void MyClass::x##Handler(), so it seems
it's not (just) the double macro expansion causing trouble.
I just tested this again with CEDET from CVS, and it works fine for both my test case and the real project I'm working with. So, problem solved, I'll happily use the CVS version! I had had the same problem previously with 1.0pre7 and emacs 23.1, but I hadn't thought to try it from CVS until now. Thanks for bringing us this package, keep up the good work!