[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CEDET branch
Re: CEDET branch
Fri, 11 Sep 2009 12:41:18 +0200
Gnus/5.110011 (No Gnus v0.11) Emacs/23.1.50 (gnu/linux)
Chong Yidong <address@hidden> writes:
> I wonder, though, whether the merged version of CEDET should provide a
> different method for activating CEDET. The out-of-tree version requires
> you to put something like
> (setq semantic-load-turn-useful-things-on t)
> (require 'cedet)
> in your init file, but a package that is included with Emacs should not
> have to be loaded this way. Rather, there should be a command (or set
> of commands) that are autoloaded (in the global Emacs loaddefs.el), and
> calling the command should load the package.
The problem was always that CEDET provides a bunch of different
features. If you activate them all, people would complain that it is
'too much', and if you just activate the bare minimum, people would
wonder why certain stuff just doesn't work.
That's why in upstream there's semantic-load.el, which has several
functions to set up CEDET in various different ways, from the bare
minimum to absolutely everything. I guess we would have to find a
compromise for which features should be activated by default. Eric has
surely some ideas regarding this issue.
>> * I guess most of the search macros in semantic/find.el will need
>> autoloads, most notably the ones under "Top level searches" and
>> probably also the ones under "Deep searches". At the moment, I get an
>> error that `semantic-find-tags-by-class' isn't defined.
> The semantic-find-tags-by-class macro should be byte-compiled in-place
> by any file that requires it. Can you provide a recipe?
I guess a
(eval-when-compile (require 'semantic/find))
in semantic/analyze/fcn.el should do the trick?
I also noticed another error due to removed autoloads:
'semantic-tag-write-list-slot-value' isn't defined when the database is
saved upon exiting Emacs. An eval-when-compile won't work here, since
this is actually a slot value which is called from eieio. So I guess it
either needs an autoload, or 'semantic/tag-write' is required in