That should be correct. The order of eieio and semantic are not
important. Depending on how you byte compile in your makefile, or
if the user byte compiles from Emacs directly, individual files need
to also require semantic if they use any of the macros.
The problem can also occur if a user with an old system running
recompiles the lisp code of the newer system. This may be what that
users bumped into.
>>> "Berndl, Klaus" <klaus.berndl@...> seems to think that:
>IMHO the requires of ECB are setup right, but maybe i'm wrong.
>Eric, could you please check if ECB loads semantic correct?
>Here is the ECB setup for semantic:
>;; semantic load
>;; eieio load
>;;ensure that we use the right semantic-version and right eieio-version
>(let ((version-error nil))
> (if (not (and (boundp 'semantic-version)
> (string-match "^1\\.4\\(beta1[1-9]\\)?$" semantic-version)))
> (setq version-error "Semantic >= 1.40beta11"))
> (if (not (and (boundp 'eieio-version)
> (string-match "^0\\.1[6-9]" eieio-version)))
> (setq version-error
> (concat version-error (if version-error " and ")
> "Eieio >= 0.16")))
> (if version-error
> (error "ECB requires %s!" version-error)))
>(message "ECB uses semantic %s and eieio %s" semantic-version eieio-version)
>(setq semantic-load-turn-everything-on nil)
>>Semantic has a lot of inline functions and macros that provide base
>>information about a buffer's tag list. Sometimes when require's
>>aren't set up right, programs are byte compiled, some macros are
>>treated as function calls, and hose everything up.
Eric Ludlam: zappo@..., eric@...
Home: http://www.ultranet.com/~zappo Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org