devel version of cedet can't unload the emacs one

621 views Asked by At

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?

1

There are 1 answers

2
Alex Vorobiev On BEST ANSWER

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.