Vitaliy <numz...@yandex.ru> added the comment: Thanks for the fix, it works for my use case. (btw that was #define U(...) __VA_ARGS__ and not what I wrote).
> I don't think that PR 24533 should be backported to Python 3.8 and Python > 3.9. I prefer to avoid any risk of regression, and so only change Python 3.10. > For Python 3.9 and older, a workaround is to wrap the call to > PyObject_TypeCheck() with your own static inline function. For Python 3.8 that fix wouldn’t be needed as the `tp` argument was parenthesised in the macro. Yet... the first argument is still unshielded, passed to a macro that expects one single macro argument. That’s not a regression, it wasn’t shielded in 3.8 either, but why not just parenthesise each macro argument that denotes an expression (as opposed to e.g. name)? ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43181> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com