MAJOR refactoring of the preprocessor (pp_parser). Tokens are now emitted one at a time by pp_parser_emit_token(). pp_parser_parse() just calls that function until EOF.
It's worth noting that they're not quite emitted one at a time, because including and macro expansion still call pp_parser_parse() on the subparser. But this still moves the preprocessor a step closer to eliminating the token buffer.