Modified to preserve macro defines.