I saw this lexer problem quite a bit ago, but I had forgotten to post it until now. As you may know, preprocessor macros admit embedded comments, very useful to clarify big multiline macros. Let's take this simple iterator macro as an example:
#define ITER_C_STR( chars ) for( /* empty */; *(chars); (chars)++ )
If you view this macro in C::B editor, it will highlight it as a macro only up to the comment, and all the rest is colored as if it was normal code and not part of the macro. It seems to be only a lexer issue, since it will compile OK and the macro is even added to autocompletion list correctly.