2010-08-10 16 views
12

J'ai récemment construit et installé Emacs 23.2.1 pour OS X 10.6, qui est apparemment livré avec CEDET 1.0pre7 pré-installé, mais mon ancienne configuration CEDET échoue (par exemple (semantic-load-excessive-code-helpers) ou (semantic-load-code-helpers) sont indéfini) même après avoir ajouté ce qui suit à mes .emacs:Configuration de CEDET pour GNU Emacs 23.2.1

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

Qu'est-ce qui me manque?

Répondre

17

La configuration CEDET intégrée à Emacs est différente. C'est ainsi adapté mon ancienne configuration, non testé avec l'add-on CEDET cependant:

(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

idiot moi, le test-p intégré sera bien sûr mal pour Emacs 24.1. De toute façon, vous avez l'idée :) –

+0

Exactement ce dont j'avais besoin, merci! Comment as-tu su faire ça? Est-ce documenté quelque part que j'ai manqué? –

+0

J'ai utilisé le chapitre de documentation d'Emacs sur CEDET et ai fait une navigation de source pour m'assurer que les symboles non définis, par ex. sémantique-gcc ont été pliés dans le noyau CEDET et donc pas nécessaire. –