On Sun, 24 Sep 2006 10:28:17 -0400 "Eric M. Ludlam" <eric@...> wrote:
> Hi,
>
> I wonder if you have an older version of semantic on your path, a
> misscompiled semanticdb-find.elc, or if perhaps CVS failed to download
> all of semanticdb-find.el, as that function has been in that file for
> a while.
The only semantic on my load-path is from CVS cedet. I haven't yet
tried to byte-compile semanticdb-find.el again download it again from
the CVS repository, but by pure luck I found out how to get
semantic-complete-jump-local working: by loading semantic-cb.el[1].
That is, when I repeat the recipe I gave in my OP verbatim I still get
the error, but if, prior to step 5 I visit semantic-cb.el and do `M-x
eval-current-buffer' and then type `C-c,j', now completion works. I
grepped the cedet directory for `(require 'semantic-cb)' and found it
occurs only once, in semantic-load.el, in an eval-after-load
"speedbar". So I repeated the first four steps of my recipe and then
opened Speedbar, then went on to step 5, and lo and behold, completion
worked again. But obviously it shouldn't be necessary to load
Speedbar to use semantic-complete-jump-local, so there must be
something else going on. (In fact, I had not opened Speedbar in my
running Emacs session described in [1], so I don't know how
semantic-cb.el got loaded there.) Do you have any ideas?
Steve Berman
Footnotes:
[1] In fact, I hit upon loading semantic-cb.el because, after reading
your followup to my posting, I tried semantic-complete-jump-local in
my running Emacs session, and to my astonishment it worked (though it
hadn't before). Then I tried my recipe with emacs -Q again[2], and
again it failed. Then I compared the features of my running Emacs
session with those of the fresh emacs -q, and it happens that the
first seemingly relevant difference was the presence of semantic-cb.el
in the former but not in the latter.
[2] Here it is, for convenience:
1. emacs -Q
2. M-: (load-file "/<path to>/cedet/common/cedet.el")
3. M-: (semantic-load-enable-code-helpers)
4. Visit /<path to>/cedet/common/cedet.el
5. Type `C-c,j'
6. At the "Symbol: " prompt type `ce<RETURN>'
|