Eric Ludlam writes:
> I think the right fix is my patch that turns on Semantic during test
> setup, plus removing calls to (semantic-mode 1) elsewhere which are
> basically superfluous with my patch. Before the file rename, semantic
> didn't need to be enabled, so this makes good sense as to why this
> happened.
I can confirm it works now with Emacs 23.2.
> If the patch works, I can make the change unless you want to do it.
Please do so. I'm busy merging. ;-)
-David

On 09/14/2012 07:31 AM, Nitin Bodke wrote:
[...]
>
> My situation is a bit similar to what explained in below post:
> http://stackoverflow.com/questions/3519965/emacs-source-code-navigation-features
> Source is code is quite big i.e. more than 6k files, and I have
> MakeFiles in all
> folders that takes care of my build.
>
> My project file is similar to below lines:
> (ede-cpp-root-project "project-name"
> :directory "<project-root-directory>"
> :file "<project-root-directory>/Project.el"
> :include-path '( "<project-root-directory>"
> )
> )
>
> With this, files in the same folder are parsed successfully, and symbols
> are resolved.
> But cross-folder includes are not resolved and they make to the "unknown
> includes" list.
> ede-find-file for unresolved files results in following error:
> eieio-generic-call-primary-only: Method ede-expand-filename called on nil
>
> Is there any solution to this?
>
> I believe I can better utilize this environment by customizing/adding
> more to it.
> How to setup development environment for CEDET? This will help me to address
> unresolved issues and contribute back.
Hi Nitin, Welcome to the list.
First, your project file containing the ede-cpp-root-project needs to be
loaded. If you use a system that makes Project.el load, then perhaps
you are ok, but you probably need to add a line like this:
(load-file "<project-root-directory>/Project.el")
in your .emacs to force it earlier. Once you do that, the EDE project
should be recognized.
Your include path will need to contain all the subdirectories that have
includes in the way the actual include statements are used. For
example, if a C include says:
#include "foo/myinclude.h"
and the header is referenced from your project root directory (prd) like so:
<prd>/foo/myinclude.h
you will be ok, but if the 'foo' directory is in some subdir, you need
an extra line inf your :include path of:
"/somesubdir"
where the leading / means start at the base of the project.
That should get you going.
Eric

On 09/15/2012 08:35 AM, David Engster wrote:
> David Engster writes:
>> Eric Ludlam writes:
>>> On 09/14/2012 04:10 PM, David Engster wrote:
>>>> It's working for Emacs 24.x, but still failing with Emacs 23.2. Pretty
>>>> strange.
>>> The below patch could add some debugging in to see if it is even trying
>>> to load the c templates. ei - in Emacs 23.2, is c-mode a child mode of
>>> c++ mode? If not, then something bovine/c.el is perhaps not loading?
>> It's the other way round (c++-mode should be a child of c-mode), but
>> otherwise you're right: it seems bovine/c isn't loaded on Emacs 23.2
>> during this part of the integration test. I have no idea why,
>> though. I'm afraid it is one of those dreaded buffer-setup thingies,
>> which are a nightmare to debug.
>
Yep, I got that backward. Thanks also for the output of the two Emacsen.
I think the attached patch will fix it. The problem is that in the
first call to fill a buffer with text using srecode, the request to load
templates is made, and the next line is to turn on semantic-mode.
I think the right fix is my patch that turns on Semantic during test
setup, plus removing calls to (semantic-mode 1) elsewhere which are
basically superfluous with my patch. Before the file rename, semantic
didn't need to be enabled, so this makes good sense as to why this happened.
If the patch works, I can make the change unless you want to do it.
I ran with this test change, and it continues to work w/ my Emacs.
Eric

Eric Ludlam writes:
> On 09/14/2012 04:10 PM, David Engster wrote:
>> It's working for Emacs 24.x, but still failing with Emacs 23.2. Pretty
>> strange.
> The below patch could add some debugging in to see if it is even trying
> to load the c templates. ei - in Emacs 23.2, is c-mode a child mode of
> c++ mode? If not, then something bovine/c.el is perhaps not loading?
It's the other way round (c++-mode should be a child of c-mode), but
otherwise you're right: it seems bovine/c isn't loaded on Emacs 23.2
during this part of the integration test. I have no idea why,
though. I'm afraid it is one of those dreaded buffer-setup thingies,
which are a nightmare to debug.
-David