Ошибка «неправильный тип аргумента stringp nil» при завершении символа с использованием семантики - PullRequest
1 голос
/ 22 марта 2011

При использовании 'senator-complete-symbol' в исходном файле C ++, иногда это работает, но большую часть времени я заканчивал ошибкой "неправильный аргумент типа stringp nil, compare-strings (" Ins "0 nil ноль 0 3 ноль) ". Я понятия не имею, почему семантика работает так противоречиво. Я пытался бесчисленное количество времени выходить из emacs, удаляя каталог semanticdb и снова входя в emacs, чтобы принудительно создать семантическую базу данных, но, как я сказал, иногда это работает без причины, но в большинстве случаев это не работает.

Используемая версия CEDET:

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

Я пробовал v1.0, но это дало мне ошибку компиляции, в то время как версия, включенная в Emacs 23.2, вообще не имеет этой функции. Кто-нибудь может дать мне какое-нибудь представление, как я могу заставить эту работу? Есть ли лучшие инструменты, которые я могу использовать в emacs для завершения кода и просмотра кода? Я немного расстроен, потому что приближаюсь к крайнему сроку, и CEDET потратил впустую много времени, я не знаю, почему CEDET кажется таким проблематичным.

Ответы [ 3 ]

1 голос
/ 26 марта 2011

ОБНОВЛЕНИЕ: Это ошибка в версии разработки CEDET, которая была исправлена ​​в последней версии.Пока что я доволен этим.

0 голосов
/ 23 марта 2011

Поскольку это похоже на ошибку, пожалуйста, сообщите об ошибке в списке рассылки CEDET с кратким рецептом, как воспроизвести это.Все, что я могу вам сейчас сказать, - это не использовать сенатор, а одну из функций семантической-ia для завершения, например, семантическую-полный-символ, семантическая-полный-символ-меню или семантический-полный-совет.

0 голосов
/ 22 марта 2011

Насколько я помню, у меня были похожие проблемы, которые исчезли после того, как я перекомпилировал ecb и cedet для конкретной версии Emacs, которую я использовал.

...