"wrong-type-argument stringp nil" error on symbol completion using semantic

1.9k Views Asked by At

When using 'senator-complete-symbol' on C++ source file, some times it works but most of the time I ended up with the error "wrong-type-argument stringp nil, compare-strings("Ins" 0 nil nil 0 3 nil)". I have no idea why semantic is working so inconsistently. I've tried countless of time exiting emacs, deleting the semanticdb directory and reentering emacs to force the semanticdb being recreated but like I said, it sometimes works with no reason but most of the time it doesn't work.

The version of CEDET I'm using is from:

bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk cedet

I've tried v1.0 but that gave me compilation error while the version bundled in Emacs 23.2 doesn't have this feature at all. Could anybody give me any idea how I can make this work? Are there better tools I can use in emacs for code completion and code browsing? I'm a little frustrated because I'm approaching deadline and CEDET has wasted me a lot of time, I don't know why CEDET seems to be so problematic.

3

There are 3 best solutions below

5
On

As I remember, I had similar problems that went away after I re-compiled ecb and cedet for the particular version of Emacs I was using.

2
On

Since this seems to be a bug, please report the error on the CEDET mailing-list with a short recipe how to reproduce this. All I can tell you now is to not use senator but one of the semantic-ia functions for completion, like semantic-ia-complete-symbol, semantic-ia-complete-symbol-menu or semantic-ia-complete-tip.

0
On

UPDATE: This is a bug in the CEDET develop version and have been fixed in the latest version. So far I'm happy with it.