使用语义在符号完成时出现“wrong-type-argument stringp nil”错误

时间:2011-03-22 18:45:58

标签: emacs cedet emacs-semantic

在C ++源文件中使用'senator-complete-symbol'时,有时它可以工作但是大多数时候我最终得到错误“wrong-type-argument stringp nil,compare-strings(”Ins“0 nil零[3 nil)“。我不知道为什么语义工作如此不一致。我已经尝试了无数次退出emacs,删除semanticdb目录并重新输入emacs以强制重新创建semanticdb,但就像我说的那样,它有时无缘无故地工作,但大部分时间它都不起作用。

我正在使用的CEDET版本来自:

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

我已经尝试过v1.0但是这给了我编译错误,而Emacs 23.2中捆绑的版本根本没有这个功能。任何人都可以告诉我如何才能使这项工作成功吗?我可以在emacs中使用更好的工具来完成代码和代码浏览吗?我有点沮丧,因为我正在接近截止日期,CEDET浪费了我很多时间,我不知道为什么CEDET似乎有这么大的问题。

3 个答案:

答案 0 :(得分:1)

更新:这是CEDET开发版本中的一个错误,并已在最新版本中修复。到目前为止,我很高兴。

答案 1 :(得分:0)

我记得,在我为我正在使用的特定版本的Emacs重新编译ecb和cedet之后,我遇到了类似的问题。

答案 2 :(得分:0)

由于这似乎是一个错误,请在CEDET邮件列表上报告错误,并提供一个简短的配方如何重现这一点。我现在可以告诉你的是不使用参议员,而是使用语义ia函数之一来完成,如语义 - 完整 - 符号,语义 - 完整 - 符号 - 菜单或语义 - 完整 - 技巧。< / p>