Ошибка "неправильный аргумент типа stringp nil" при завершении символа с использованием семантики
При использовании 'senator-complete-symbol' в исходном файле C++ иногда это работает, но большую часть времени я заканчивал с ошибкой "неправильный аргумент типа stringp nil, compare-strings("Ins" 0 nil nil 0 3 ноль)". Я понятия не имею, почему семантика работает так противоречиво. Я пытался бесчисленное количество времени выходить из emacs, удаляя каталог semanticdb и повторно входя в emacs, чтобы принудительно воссоздать semanticdb, но, как я уже сказал, иногда это работает без причины, но в большинстве случаев это не работает.
Используемая версия CEDET:
bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk cedet
Я пробовал v1.0, но это дало мне ошибку компиляции, в то время как версия, включенная в Emacs 23.2, вообще не имеет этой функции. Кто-нибудь может дать мне какое-нибудь представление о том, как я могу сделать эту работу? Есть ли лучшие инструменты, которые я могу использовать в emacs для завершения кода и просмотра кода? Я немного расстроен, потому что приближаюсь к крайнему сроку, и CEDET потратил впустую много времени, я не знаю, почему CEDET кажется таким проблематичным.
3 ответа
ОБНОВЛЕНИЕ: Это ошибка в версии разработки CEDET, которая была исправлена в последней версии. Пока что я доволен этим.
Насколько я помню, у меня были похожие проблемы, которые исчезли после того, как я перекомпилировал ecb и cedet для конкретной версии Emacs, которую я использовал.
Поскольку это кажется ошибкой, пожалуйста, сообщите об ошибке в списке рассылки CEDET с кратким рецептом, как воспроизвести это. Все, что я могу вам сейчас сказать, это не использовать сенатор, а одну из функций семантической-ia для завершения, например, семантическую-полный-символ, семантическая-полный-символ-меню или семантический-полный-совет.