On 17 December 2015 at 00:12, Serhiy Storchaka <storch...@gmail.com> wrote: > The problem is only in the macro name. There are objections against any > proposed name, and no one name gained convincing majority. > > Here are names gained the largest numbers of votes plus names proposed > during polling. > > 1. Py_SETREF
+1 if it always uses Py_XDECREF on the previous value (as I'd expect this to work even if the previous value was NULL) -0 for a Py_SETREF/Py_XSETREF pair (the problem I see is that it's unclear that it's the target location that's allowed to be NULL in the latter case) > 2. Py_DECREF_REPLACE -1: too long > 3. Py_REPLACE +0 if it uses Py_DECREF on the previous value as part of a Py_REPLACE/Py_SETREF pair However, I'm not sure we need the micro-optimisation offering by skipping the "Is the previous value NULL?" check, and it's always easier to add an API later than it is to remove one. > 4. Py_SET_POINTER -1: As Victor says, "pointer" tends to mean "void *" in out C code, not "PyObject *". > 5. Py_SET_ATTR -1: This operation is useful for updating any reachable reference to another object, not just attributes > 6. Py_REPLACE_REF -0: this is like 3, only with a slightly longer name I'm also in favour of Serhiy claiming the casting vote if there's no clear consensus :) Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com