“错误类型参数字符串p nil”使用语义完成符号时出错
当在 C++ 源文件上使用“senator-complete-symbol”时,有时它可以工作,但大多数时候我都会遇到错误“错误类型参数 stringp nil,compare-strings("Ins" 0 nil nil 0 3零)”。我不知道为什么语义工作如此不一致。我已经尝试了无数次退出 emacs、删除语义数据库目录并重新进入 emacs 来强制重新创建语义数据库,但就像我说的,它有时毫无理由地工作,但大多数时候它不起作用。
我使用的 CEDET 版本来自:
bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk cedet
我尝试过 v1.0 但这给了我编译错误,而 Emacs 23.2 中捆绑的版本根本没有这个功能。有人能给我任何想法如何使这项工作成功吗?我可以在 emacs 中使用更好的工具来完成代码完成和代码浏览吗?我有点沮丧,因为我快到截止日期了,CEDET 浪费了我很多时间,我不知道为什么 CEDET 似乎有如此多的问题。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
更新:这是CEDET开发版本中的一个错误,已在最新版本中修复。到目前为止我对此很满意。
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.
我记得,我遇到过类似的问题,在为我使用的特定版本的 Emacs 重新编译 ecb 和 cedet 后,这些问题就消失了。
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.
由于这似乎是一个错误,请在 CEDET 邮件列表上报告该错误,并附上如何重现该错误的简短说明。我现在能告诉你的是不要使用 senator,而是使用语义 ia 函数之一来完成,例如语义 ia-complete-symbol、语义 ia-complete-symbol-menu 或语义 ia-complete-tip。
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.