Ошибка Лиспа при использовании ede-cpp-root-project - PullRequest
3 голосов
/ 15 февраля 2012

Я пытался заставить CEDET работать с простым проектом в течение последнего времени. У меня есть следующий файл проекта:

(ede-cpp-root-project "aesalon-project"
                :name "aesalon-name"
                :file "~/projects/aesalon/SConstruct"
                :include-path '("/"
                                "/include/"))

Я загружаю вышеупомянутое в буфер и выполняю содержимое буфера. Проблема не в том, что проект загружается неправильно - кажется, что ставка настроена правильно; Я могу изменить настройки и т. Д. С помощью меню. Однако, когда я пытаюсь выполнить повторное сканирование файлов проекта, я получаю следующую ошибку:

Debugger entered--Lisp error: (wrong-type-argument class-p ede-cpp-root)
  signal(wrong-type-argument (class-p ede-cpp-root))
  child-of-class-p(ede-cpp-root-project ede-cpp-root)
  object-of-class-p([object ede-cpp-root-project "aesalon-project" nil "aesalon-name" "1.0" "/home/ethereal/projects/aesalon/" 3546321 "/home/ethereal/projects/aesalon/SConstruct" nil nil nil unbound unbound "" "" "" "" "" "" ("debug" "release") "debug" nil ("/" "/include/") nil nil nil "\\.\\(h\\(h\\|xx\\|pp\\|\\+\\+\\)?\\|H\\)$\\|\\<\\w+$" nil] ede-cpp-root)
  ede-toplevel-project("~/projects/aesalon/")
  ede-rescan-toplevel()
  call-interactively(ede-rescan-toplevel nil nil)

Я нахожу это несколько странным, так как, когда я просматриваю документацию по ede-cpp-root-project, я вижу, что родитель имеет ede-project, а не ede-cpp-root? Или я неправильно понял след? Я не очень знаком с Emacs Lisp.

Вот мой вывод из cedet-версии:

CEDET Version:  1.0
            Requested   File        Loaded
  Package       Version     Version     Version
  ----------------------------------------------------------
  cedet:        1.0     ok      ok
  eieio:        1.3     ok      ok
  semantic:     2.0     ok      ok
  srecode:      1.0     ok      ok
  ede:          1.0     ok      ok
  speedbar:     1.0.3       ok      ok
  cogre:        1.0     ok      Not Loaded
  cedet-contrib:    1.0     ok      Not Loaded



C-h f cedet-version RET
  for details on output format.

И моя версия emacs: (последняя из репозиториев Arch Linux)

GNU Emacs 23.4.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.9) of 2012-02-01 on shirley.hoetzel.info

Есть ли у кого-нибудь какие-либо предложения о том, как можно решить эту проблему? Это проблема с моим проектом? Моя среда CEDET? Версия emacs?

1 Ответ

0 голосов
/ 22 февраля 2012

Видимо проблема в несоответствиях в EDE и CEDET.Насколько я могу судить, версия CEDET, которую я использовал, опиралась на старую архитектуру EDE, которая с тех пор была изменена.

Компиляция CEDET из новейшего дерева исходных кодов вместо (более старого) снимкаЯ использовал исправил проблему.

...