That looks like an issue with your ctags setup. In order to get
ctags to parse include files for me, I had to add special regexp to
the command line. I gave it an "i" key. The implication is that the
arguments passed in are missing the "extra" flags, but have the 'i'
kind flag being requested.
You can use `semantic-ectag-parse-buffer' to see if it is working
without the rest of the infrastructure confusing things.
The next step if that doesn't work would be to debug
`semantic-ectag-run' and see what the input `args' are, and to make
sure that that arg list works when you pass it in on the ctags command
line. It should include a regexp for includes, plus the flag for the
kinds desired.
Eric
>>> Nate <nateschley@...> seems to think that:
>Eric,
>
>I updated from CVS (only semanticdb.el was new,) but got no joy.
>Here's the new stack trace. I'm leaving the 1st 10 or so lines out,
>since they appear identical to the original stack trace.
>
>Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> intern(nil)
> semantic-ectag-parse-one-tag("ctags.exe: Warning: unknown regex flag: 'i'")
> semantic-ectag-parse-tags()
> semantic-ectag-parse-file-with-mode("c:/cygwin/usr/include/stdio.h" c-mode)
> semanticdb-ectag-create-table-for-file-not-in-buffer("c:/cygwin/usr/include/stdio.h" c-mode)
> (lambda (fname) (semanticdb-ectag-create-table-for-file-not-in-buffer fname (quote c-mode)))("c:/cygwin/usr/include/stdio.h")
> semanticdb-create-table-for-file-not-in-buffer("c:/cygwin/usr/include/stdio.h")
> semanticdb-file-table-object("c:/cygwin/usr/include/stdio.h")
>(all subsequent lines, starting from the above line, matched the original stack trace.)
>
>I checked my .emacs and didn't find where I might be configuring the
>unknown regex flag 'i'.
>
>FWIW, here are what I think are all my .emacs config elements dealing
>with tags:
>
>| '(semantic-ectag-program "C:/Progra~1/gnu/ctags57/ctags.exe")
>| '(semantic-imenu-sort-bucket-function (quote semantic-sort-tags-by-name-increasing-ci))
>| '(speedbar-fetch-etags-arguments (quote ("-e" "-I SLS_AP_DEBUG" "-I SLS_VX_SIM,ST_BOOT,SST,TCI_APPL" "-I ST_COP=1" "--language-force=C++" "--languages=+C" "--append=yes" "--C++-kinds=+px" "--verbose=no")) t)
>| '(speedbar-fetch-etags-command "c:/progra~1/gnu/emacs-22.3/bin/etags.exe --declarations --members --language=c++ --ignore-indentation" t (speedbar) "This variable is ignored if `speedbar-use-imenu-flag' is t, but keep consistent with ctags.bat setting anyway, as someone seems to be modifying TAGS files.")
>| '(speedbar-tag-hierarchy-method (quote (speedbar-prefix-group-tag-hierarchy speedbar-trim-words-tag-hierarchy speedbar-sort-tag-hierarchy)))
>| '(tags-case-fold-search nil)
>...
>|(semantic-load-enable-all-exuberent-ctags-support)
>
>
>
>Thanks,
>
>Nate
>
>
>On Dec 24, 2008, eric@... wrote:
>>Ah, I think I fixed that yesterday. I was running into similar issues
>>at work, so a fix for that should be in CVS as of yesterday around
>>11am.
>>
>>If you have the latest from CVS and this issue persists, let me know.
>>
>>Eric
>>
>>>>> Nate <nateschley@...> seems to think that:
>>>Eric,
>>>
>>>Here's the stack trace. I put an extra <CR> between the exceptionally long lines.
>>>FWIW, the stdio.h file exists where semanticdb is looking for it.
>>>
>>>Thanks for any guidance you might have.
>>>
>>>Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>> get-file-buffer(nil)
>>> semanticdb-file-table-object("c:/cygwin/usr/include/stdio.h")
>>> semanticdb-find-load-unloaded-default("c:/cygwin/usr/include/stdio.h")
>>> semanticdb-find-load-unloaded("c:/cygwin/usr/include/stdio.h")
>>>
>>> semanticdb-find-table-for-include-default(....
>
--
Eric Ludlam: eric@...
Siege: http://www.siege-engine.com Emacs: http://cedet.sourceforge.net
|