- added support for macros with default arguments - fixed bug where nested preprocessor conditionals would not be skipped - macro expansion respects escaped quotation marks - macro expansion considers whole identifiers, rather than substituting in wildly