fix a macro bug