FS#37131 - [ecb] current version doesn't work with cedet 2.0 from emacs
Attached to Project:
Community Packages
Opened by Uwe Koloska (kolewu) - Sunday, 29 September 2013, 22:02 GMT
Last edited by Sergej Pupykin (sergej) - Tuesday, 01 October 2013, 08:40 GMT
Opened by Uwe Koloska (kolewu) - Sunday, 29 September 2013, 22:02 GMT
Last edited by Sergej Pupykin (sergej) - Tuesday, 01 October 2013, 08:40 GMT
|
Details
Description:
current version of ecb 2.40.1pre-7 does not work with cedet 2.0 from emacs 24.3-4. Error message: let: ECB 2.40 - Error: ECB can only be used with cedet [1.0pre6, 1.2alpha]! Please install it and restart Emacs! |
This task depends upon
Unfortunately this doesn't help. There seems to be a problem with the byte compiled code.
To test the new version without all my other initialization cruft I just do:
emacs -q
and then evaluate
(add-to-list 'load-path "/usr/share/emacs/site-lisp/ecb")
(require 'ecb)
This gives a very cryptic error message:
Debugger entered--Lisp error: (void-function eieio--defgeneric-init-form)
eieio--defgeneric-init-form(ecb-get-data "Generically created method `ecb-get-data'.")
byte-code("..." <<left out very long line>> 5)
require(ecb-navigate)
byte-code("..." <<left out very long line>> 8)
require(ecb)
So to get a readable error, I did
cp -a /usr/share/emacs/site-lisp/ecb ~/tmp
find ~/tmp -name "*.elc" -delete
and then used this uncompiled version
(add-to-list 'load-path "~/tmp/ecb")
(require 'ecb)
But guess what: there is no error anymore ... (beside the already known 'Package assoc is obsolete!')
and ecb can be successfully activated.
When doing the ecb-byte-compile from this new directory, it works without error after the next restart.
The Makefile doesn't work in this directory:
$ make
Byte-compiling ECB with LOADPATH= ...
emacs -batch -no-site-file -l ecb-compile-script --eval '(ecb-byte-compile t)'
Autoloading failed to define function semantic-mode
make: *** [ecb] Fehler 255
And according to the comment in the Makefile it's not necessary to set the CEDET variable, cause we want to use the cedet version included with emacs -- but then, this is the cause of the compile time error message.
Maybe you should build both ecb and autoloads.
I have forgotten to uninstall the old cedet package. Without this the make works without errors.
So: version 8 fixes the problem with cedet from emacs -- and as a bonus the assoc warning.
Thank you!