It seems that requiring 'semantic/bovine/c too early fills semantic-lex-c-preprocessor- symbol-map with initial values. So it's not working that way. On Fri, Dec 30, 2011 at 8:06 PM, David Engster wrote: > Vyacheslav Gonakhchyan writes: > > Yes. You're right. That solved all my problems with code completion. > > To be precise I added these lines(with defvar with initial value): > > (defvar semantic-lex-c-preprocessor-symbol-file '()) > > Better do > > (require 'semantic/bovine/c) > > -David >