我是emacs cedet用戶。我從cedet得到了很大的幫助。cedet解析問題#ifdef
但是,我發現在cedet中有一些錯誤prcessing #ifdef處理。不知道它來自cedet內部還是我的錯誤配置。 我引用Curl中的一些代碼來解決這個問題。
#ifdef CURL_DO_LINEEND_CONV
if((data->set.crlf) || (data->set.prefer_ascii)) {
#else
if(data->set.crlf) {
#endif /* CURL_DO_LINEEND_CONV */
endofline_native = "\n";
使用此代碼,必須有一些錯誤的括號匹配。因爲我使用(eassist-list-methods)或其他cedet-semantic函數(跳轉到定義)得到錯誤。
我很容易猜到這可能來自#ifdef .. #endif塊中的兩個大括號。 我收縮這些喜歡這個。
#ifdef CURL_DO_LINEEND_CONV
if((data->set.crlf) || (data->set.prefer_ascii))
#else
if(data->set.crlf)
#endif /* CURL_DO_LINEEND_CONV */
{
endofline_native = "\n";
此後,cedet語義函數運行良好。
對此有何想法?它來自cedet解析器問題嗎?
如果有一點我必須在cedet中配置,您能否給我一些見解?
感謝
請考慮提交錯誤報告:'的Mx報告,emacs的-bug'。 Emacs開發人員將確定是否存在問題。 – Drew
請同時向cedet-devel郵件列表報告問題 –