protect keyword argument names during macro expansion. fixes #2955