fix bug in defmacro