> Lastly, another idea is to implement a :locate-fcn for your
> cpp-root-project that knows which includes belong to which subsections
> of your project.  In that way, it will only load in database caches for
> include directories that matter, instead of for the entire project.

I can reduce the include directories considerably by mapping the location in the source tree to a list of include paths.  For example, suppose Util.cc uses a struct Packet.h, and I'm executing semantic-ia-fast-jump from inside Util.cc and expect to be taken to Packet.h .  I can write the Elisp that if I'm given the path to Util.cc within the project, I can return a smaller list of include paths for EDE to use which will contain Packet.h , if I know how to hook that into EDE.

I looked into locate-fcn as you recommended, in cpp-root.el, and see that it would call it with
   dir=(project root)

These input parameters don't give me the information I need: the path to Util.cc.  Bizarrely, the value of buffer-file-name at this point is my Util.h, not Util.cc .

> Sorry about being slow.  Being a human spam filter is a bit of a pain,
> but it's better than having all that junk in the main list.

Is there a way to white list me?