Я пользователь emacs cedet.я получил большую помощь от cedet.
, но я обнаружил некоторую ошибку обработки #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-method) или другие cedet-семантические функции (переход к определению).
Я легко могу предположить, что это может быть из двух скобок в блоке #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, не могли бы вы дать мне некоторое представление?
спасибо