Support multiple transaction modes.
Update m4 macros.