but exactly the same backported implementation i have
added to the ecb-semantic-wrapper about 30 min ago...you
were fast but not fast enough ;-)
Just joking - your solution tells me that mine was correct.
thansk for the fast reply!
David PONCE wrote:
> Hi Klaus,
> I don't think there is an equivalent function of
> `semantic-flatten-tags-table' in semantic 1.4.
> Perhaps could you try the following back-ported implementation
> (untested). The only difference I can see is that
> `semantic-something-to-tag-table' now handles semanticdb tables and
> `semantic-something-to-stream' did not.
> Maybe Eric could give a better answer to your question?
> Hope it will help.
> (defun semantic-flatten-tags-table-1.4 (&optional table)
> "Flatten the tags table TABLE.
> All tags in TABLE, and all components of top level tags
> in TABLE will appear at the top level of list.
> Tags promoted to the top of the list will still appear
> unmodified as components of their parent tags."
> (let* ((table (semantic-something-to-stream table))
> ;; Initialize the starting list with our table.
> (lists (list table)))
> (mapc (lambda (tag)
> (let ((components (semantic-nonterminal-children tag)))
> (if (and components
> ;; unpositined tags can be hazardous to
> ;; completion. Do we need any type of tag
> ;; here? - EL
> (semantic-token-with-position-p (car components)))
> (setq lists (cons
> (semantic-flatten-tags-table-1.4 components)
> (apply 'append (nreverse lists))