2011-03-22 117 views
1

在C++源文件上使用'senator-complete-symbol'時,它有時可以正常工作,但大多數時候我最終發現錯誤「類型參數stringp nil,比較字符串(「Ins」0 nil nil 0 3 nil)「。我不知道爲什麼語義工作如此不一致。我嘗試了無數次退出emacs,刪除semanticdb目錄並重新輸入emacs來強制重新創建semanticdb,但正如我所說,它有時沒有理由地工作,但大部分時間不起作用。使用語義完成符號完成時出現「錯誤類型參數stringp nil」錯誤

我使用CEDET的版本是:

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

我試過V1.0,但是這給了我編譯錯誤而在Emacs 23.2捆綁在一起的版本不具備此功能在所有。任何人都可以告訴我怎樣才能做到這一點?我可以在emacs中使用更好的工具來完成代碼和代碼瀏覽嗎?我有點沮喪,因爲我接近最後期限,CEDET浪費了我很多時間,我不知道爲什麼CEDET似乎是如此的問題。

回答

0

正如我所記得的,在重新編譯ecb和cedet後,我遇到了類似的問題,因爲我使用的是特定版本的Emacs。

+0

感謝您的回覆,這是我的第一篇文章,我甚至沒有期望得到任何回覆,因爲再次感謝。我編譯過這麼多次,有時它在重新編譯之後仍然有效,但是從來沒有持續很長時間,它只能工作一段時間。 – York 2011-03-22 19:09:12

+0

另一個要嘗試的是將錯誤調試設置爲t並找出發生的情況。該信息也將幫助任何錯誤報告(如@pokita建議)。 – jwernerny 2011-03-23 13:45:47

+0

我已經這樣做了,這是導致錯誤的函數調用:'compare-strings(「Ins」0 nil nil 0 3 nil)'',其中「Ins」是我想完成的符號的前三個字母。 – York 2011-03-23 22:57:37

0

由於這似乎是一個錯誤,請在CEDET郵件列表上報告錯誤,並用簡短的方法重現此問題。我現在可以告訴你的是,不使用參議員,而是完成一個語義ia函數,如語義ia完全符號,語義ia完整符號菜單或語義ia完整提示。

+0

我將在今晚向郵件列表報告。 – York 2011-03-23 22:59:00

+0

我打算今晚向郵件列表報告。感謝您的建議,是的,我也注意到,'-ia'功能組好得多,但不幸的是,在採用alexott的cedet配置文件後,現在沒有任何工作。無論我做了什麼,我都得到了同樣的錯誤。 – York 2011-03-23 23:05:06

1

更新:這是CEDET開發版本中的一個錯誤,已在最新版本中修復。到目前爲止,我對此感到滿意。

相關問題