This is my last post on this, at least as far as specific usage instances are concerned. See my question about PEP 7 below. If that is a discussion people think worthwhile, please start a new thread.
> if (!VISIT(...)) { > return 0; > } > if (!VISIT(...)) { > return 0; > } > if (!VISIT(...)) { > return 0; > } > > instead of just > > VISIT(...); > VISIT(...); > VISIT(...); That seems easily solved with the VISIT-as-macro calling _VISIT-as-inline function. That pattern exists elsewhere in the code, in the INCREF/DECREF stuff, for example. The advantage with inline functions (where you can use them) is that the debugger can work with them. They are also more readable in my mind (no protective parens required around expressions/arguments, no do { ... } while (0) } business, no intrusive backslashification of every line) and they probably play nicer with editors (think Emacs speedbar or tags file - not sure if etags groks macros). In any case, I was just somewhat surprised to see relatively new code using macros where it seemed inline functions would have worked as well or better. My more general question stands. Should PEP 7 say something about the two? (Someone mentioned constants. Should they be preferred over macros?) Skip _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/IKT2BXHOIGPUE7Y7JNYW5M7QGYMPYZQB/ Code of Conduct: http://python.org/psf/codeofconduct/