Yuya Nishihara <yuya@tcha.org> [Sat, 18 Jul 2020 18:35:17 +0900] rev 45179
phases: rename variable used for owned dict of phasesets
The phaseroots variable is used for two different objects: borrowed set
and owned dict of sets. It's hard to track which object should have to be
decrefed on error return.
Yuya Nishihara <yuya@tcha.org> [Sat, 18 Jul 2020 18:27:39 +0900] rev 45178
phases: leverage Py_BuildValue() to build PyInt and steal PyObject
"N" means "O" without incref, so we can just return the created tuple.
Yuya Nishihara <yuya@tcha.org> [Sat, 18 Jul 2020 18:21:26 +0900] rev 45177
phases: make sure an exception should be set on error return
This should never happen, but the code looks wrong without PyErr_Set*() call.
Yuya Nishihara <yuya@tcha.org> [Sat, 18 Jul 2020 18:19:14 +0900] rev 45176
phases: fix clang-format error
Yuya Nishihara <yuya@tcha.org> [Sat, 18 Jul 2020 18:13:41 +0900] rev 45175
phases: fix error return with no exception from computephases()
PySet_Check() does not set an exception.
Yuya Nishihara <yuya@tcha.org> [Sun, 19 Jul 2020 17:35:41 +0900] rev 45174
osutil: fix excessive decref on tuple creation failure in listdir()
The stat object would be freed on error for the same reason as the previous
patch. makestat() can be inlined, but this patch doesn't change it.
https://github.com/python/cpython/blob/2.7/Python/modsupport.c#L292
The __APPLE__ code is untested.
Yuya Nishihara <yuya@tcha.org> [Sun, 19 Jul 2020 17:24:16 +0900] rev 45173
revlog: fix excessive decref on tuple creation failure in parse_index2()
Since Py_BuildValue() steals the ownership of "N" arguments, these objects
would already be freed if Py_BuildValue() returned NULL.
https://github.com/python/cpython/blob/2.7/Python/modsupport.c#L292