0

I'm using Gentoo version of emacs 24.3

I've installed CEDET from trunk... cloned it to ~/.emacs.d/site-lisp/cedet-bzr (thanks to Alex Ott) The cedet.el which loads the whole thing starts with:

;; Do checkout of fresh CEDET, and use this config (don't forget to change path below)
(setq cedet-root-path
    (file-name-as-directory (expand-file-name
        ~/.emacs.d/site-lisp/cedet-bzr/")))
    (add-to-list 'Info-directory-list
         "~/.emacs.d/site-lisp/doc/info")

To be absolutely sure of lack of barriers in my emacs config, I've moved the .emacs file and tried to run emacs with the folowing init.el: (add-to-list 'load-path "~/.emacs.d/config") (load "cedet.el") (add-to-list 'load-path (expand-file-name "~/.emacs.d/site-lisp/ecb/"))

It gives me the folowing:

Debugger entered--Lisp error: (error "Cannot unload builtin CEDET since it is already loaded.")
  signal(error ("Cannot unload builtin CEDET since it is already loaded."))
  error("Cannot unload builtin CEDET since it is already loaded.")
  (progn (error "Cannot unload builtin CEDET since it is already loaded."))
  (if (featurep (quote cedet)) (progn (error "Cannot unload builtin CEDET since it is already loaded.")))
  cedet-remove-builtin()
  eval-buffer(#<buffer  *load*-732142> nil "/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-remove-builtin.el" nil t)  ; Reading at buffer position 2476
  load-with-code-conversion("/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-remove-builtin.el" "/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-remove-builtin.el" nil nil)
  load("/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-remove-builtin.el" nil nil t)
  load-file("/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-remove-builtin.el")
  (if (boundp (quote cedet-bootstrap-in-progress)) nil (load-file (expand-file-name "cedet-remove-builtin.el" CEDETDIR)))
  (let ((CEDETDIR (file-name-directory (or load-file-name (buffer-file-name))))) (if (boundp (quote cedet-bootstrap-in-progress)) nil (load-file (expand-file-name "cedet-remove-builtin.el" CEDETDIR))) (add-to-list (quote load-path) CEDETDIR) (add-to-list (quote load-path) (expand-file-name "lisp/cedet" CEDETDIR)) (add-to-list (quote load-path) (expand-file-name "lisp/eieio" CEDETDIR)) (add-to-list (quote load-path) (expand-file-name "lisp/speedbar" CEDETDIR)) (require (quote eieio)) (require (quote ede)) (if (boundp (quote cedet-bootstrap-in-progress)) nil (message "Loading autoloads from CEDET development.") (load (expand-file-name "lisp/eieio/loaddefs.el" CEDETDIR) nil t t) (load (expand-file-name "lisp/speedbar/loaddefs.el" CEDETDIR) nil t t) (load (expand-file-name "lisp/cedet/loaddefs.el" CEDETDIR) nil t t) (load (expand-file-name "lisp/cedet/ede/loaddefs.el" CEDETDIR) nil t t) (load (expand-file-name "lisp/cedet/cogre/loaddefs.el" CEDETDIR) nil t t) (load (expand-file-name "lisp/cedet/srecode/loaddefs.el" CEDETDIR) nil t t) (load (expand-file-name "lisp/cedet/semantic/loaddefs.el" CEDETDIR) nil t t) (setq Info-directory-list (cons (expand-file-name "doc/info" CEDETDIR) Info-default-directory-list))) (require (quote cedet-compat)))
  eval-buffer(#<buffer  *load*-120873> nil "/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-devel-load.el" nil t)  ; Reading at buffer position 2893
  load-with-code-conversion("/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-devel-load.el" "/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-devel-load.el" nil nil)
  load("/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-devel-load.el" nil nil t)
  load-file("/home/pasha/.emacs.d/site-lisp/cedet-bzr/cedet-devel-load.el")
  eval-buffer(#<buffer  *load*-946311> nil "/home/pasha/.emacs.d/config/cedet.el" nil t)  ; Reading at buffer position 587
  load-with-code-conversion("/home/pasha/.emacs.d/config/cedet.el" "/home/pasha/.emacs.d/config/cedet.el" nil nil)
  load("cedet.el")`enter code here`
  eval-buffer(#<buffer  *load*> nil "/home/pasha/.emacs.d/init.el" nil t)  ; Reading at buffer position 63
  load-with-code-conversion("/home/pasha/.emacs.d/init.el" "/home/pasha/.emacs.d/init.el" t t)
  load("/home/pasha/.emacs.d/init" t t)
  #[0 "\205\262

What further actions should I perform?

pashazz
  • 127
  • 3
  • 11

1 Answers1

1

You can try removing CEDET that was shipped with emacs from the load-path first

(setq load-path (remove-if (lambda (x) (string-match-p "cedet" x)) load-path))

in your init.el and then add your new CEDET to the load-path.

Alex Vorobiev
  • 4,349
  • 21
  • 29
  • That seems unclear for me.. `Warning (initialization): An error occurred while loading /home/pasha/.emacs': error: Cannot unload builtin CEDET since it is already loaded.` But with --debug init it gives me nothing in the backtrace! – pashazz Dec 07 '13 at 21:17
  • It could be that some other package has (some) files from CEDET. You can try searching for `(provide 'cedet)` in the files in the directories that are in your load path. For added safety you can try deleting the original CEDET. directory. – Alex Vorobiev Dec 07 '13 at 21:43