2010-08-10 2 views
12

Недавно я построил и установил Emacs 23.2.1 для OS X 10.6, который, по-видимому, поставляется с предварительно установленным CEDET 1.0pre7, но моя старая конфигурация CEDET не сработала (например, (semantic-load-excessive-code-helpers) или даже (semantic-load-code-helpers) undefined) даже после добавления следующего к моему .emacs:Конфигурирование CEDET для GNU Emacs 23.2.1

(require 'cedet) 
(semantic-mode 1) 
(require 'semantic) 

Что мне не хватает?

ответ

17

Emacs-интегрированная конфигурация CEDET отличается. Это, как адаптировать свою старую конфигурацию, непроверенную с дополнительными Cedet, хотя:

(setq integrated-cedet-p (and (>= emacs-major-version 23) 
           (>= emacs-minor-version 2))) 

(unless integrated-cedet-p 
    (progn 
    (setq cedet-lib "/path/foo") 
    (setq cedet-info-dir "/path/bar"))) 

(if (boundp 'cedet-info-dir) 
    (add-to-list 'Info-default-directory-list cedet-info-dir)) 

(if (boundp 'cedet-lib) 
    (load-file cedet-lib)) 

(semantic-mode 1) 

(global-ede-mode t) 

(if (boundp 'semantic-load-enable-excessive-code-helpers) 
    ; Add-on CEDET 
    (progn 
     (semantic-load-enable-excessive-code-helpers) 
     ; TODO: should already be enabled by previous line 
     (global-semantic-idle-completions-mode) 
     (global-semantic-tag-folding-mode)) 
    ; Integrated CEDET 
    (setq semantic-default-submodes 
     '(global-semanticdb-minor-mode 
      global-semantic-idle-scheduler-mode 
      global-semantic-idle-summary-mode 
      global-semantic-idle-completions-mode 
      global-semantic-decoration-mode 
      global-semantic-highlight-func-mode 
      global-semantic-stickyfunc-mode))) 

(if (boundp 'semantic-ia) (require 'semantic-ia)) 
(if (boundp 'semantic-gcc) (require 'semantic-gcc)) 
+0

Глупый меня, интегрированный тест-р будет, конечно, неправильно для Emacs 24.1. Во всяком случае, у вас есть идея :) –

+0

Точно, что мне нужно, спасибо! Как вы это знаете? Я где-то документировал, что пропустил? –

+0

Я использовал раздел документации по Emacs в CEDET и сделал некоторый просмотр исходного кода, чтобы гарантировать, что неопределенные символы, например. semantic-gcc были сложены в ядро ​​CEDET и, следовательно, не требуются. –

Смежные вопросы