1

在 C++ 源文件上使用 'senator-complete-symbol' 时,有时它可以工作,但大多数时候我都遇到错误“wrong-type-argument stringp nil, compare-strings("Ins" 0 nil nil 0 3零)”。我不知道为什么语义工作如此不一致。我已经尝试了无数次退出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 看起来这么有问题。

4

3 回答 3

1

更新:这是 CEDET 开发版本中的一个错误,已在最新版本中修复。到目前为止,我对此感到满意。

于 2011-03-26T19:00:07.090 回答
0

由于这似乎是一个错误,请在 CEDET 邮件列表中报告错误,并附上如何重现此错误的简短方法。我现在只能告诉你的是不要使用 senator,而是使用语义 ia 函数之一来完成,比如语义 ia-完成-符号、语义-IA-完成-符号菜单或语义-IA-完成-提示。

于 2011-03-23T10:03:57.897 回答
0

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

于 2011-03-22T18:52:43.113 回答