the lexer condition state stack was growing indefinitely (2 states per rule with action code): the new code keeps the lexer condition state stack sane as now the action state is correctly POPped off the stack when a action code block has been lexed.
yylloc is now expanded by the lexer, just like yytext, yylineo and yyleng already were.