Simon Bin writes:
> (as an example). I tried to investigate this further and added a lot of
> header files from the project to sematic-lex-c-preprocessor-symbol-file
> manually. I found in some cases I have an Idle Service Error, Idle Work
> Typecaching Error, and it is Wrong type argument: stringp, (((0) "...")) --
> I noticed that this corresponds to missing parts in semantic-adebug-bovinate
> -- the tree contains oddbits such as
If you find out which files are causing this, please let us know. So
far, I didn't see this with opendpi. Also, please make sure you're
working with the development version from bzr, since I vaguely remember
that we fixed some problem with "typedef struct ..." parsing.
> Example of what I would like to have working:
> * open the file opendpi/src/lib/protocols/pplive.c
> * navigate on one of the ipoque_struct-> code elements
> * kill-line
> * call semantic-complete-analyze-inline and see the proper choices like
> packet, flow, src, dst and so on
Watch out for preprocessor symbols which may be not be defined. When I
add
:spp-table '( ("IPOQUE_PROTOCOL_PPLIVE" . "1") )
completions for ipoque_struct work for me (delete your cached files in
~/.semanticdb before restart!). semantic-decoration-mode will help you
in quickly identifying which parts of the buffer were parsed.
Also, watch out in your *Messages* buffer for includes which maybe were
not found. In this case, ipoque_struct is defined through ipq_main.h,
but that is #include'd somewhere down the line, so you shouldn't need
any spp-files entries for your project.
> (require 'semantic-ia)
> (require 'semantic-gcc)
> (require 'semanticdb)
> (global-semanticdb-minor-mode 1)
Those shouldn't be needed.
-David
|