Gregory Szorc <gregory.szorc@gmail.com> [Fri, 02 Mar 2018 22:59:12 -0500] rev 36657
sshpeer: don't read(0)
read(0) is essentially a no-op. Let's avoid the function call, overhead,
and extra test output by not performing it.
Differential Revision: https://phab.mercurial-scm.org/D2581
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 05:51:34 -0500] rev 36656
py3: unblock C extensions on Python 3
Please make sure to build C extensions before running tests with -l:
$ make local PYTHON=python3
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 07:59:20 -0500] rev 36655
py3: make test-ancestors.py pass on Python 3 with C extensions
# skip-blame just some b prefixes
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 07:24:25 -0500] rev 36654
py3: do not pass a memoryview to bdiff.bdiff()
This doesn't look nice, but I don't know how to make a zero-copy slice of
bytes which is compatible with the buffer protocol.
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 07:00:37 -0500] rev 36653
py3: do not pass a list of iterators to computephasesmapsets()
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 06:57:02 -0500] rev 36652
cext: fix computephasesmapsets() not to return without setting an exception
Spotted by map() of Python 3.
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 06:44:47 -0500] rev 36651
py3: do not pass a float to dict_new_presized()
I really don't like the division operator of Python 3 since I'm not doing
a math.
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 06:41:52 -0500] rev 36650
cext: mark tuple_format as a constant
Just for clarity.
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 06:18:47 -0500] rev 36649
py3: bulk-replace 'const char*' format specifier passed to PyArg_ParseTuple*()
Perhaps we need this because 's' accepts a unicode string.
https://docs.python.org/3/c-api/arg.html#strings-and-buffers
Substituted using the following pattern with some manual fixes:
'\b(PyArg_ParseTuple)\((\s*\w+,\s*)"([^"]+)"'
'\b(PyArg_ParseTupleAndKeywords)\((\s*\w+,\s*\w+,\s*)"([^"]+)"'
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 06:08:22 -0500] rev 36648
py3: bulk-replace bytes format specifier passed to Py_BuildValue()
On Python 3, "s" means a utf-8 string. We have to use "y" for bytes, sigh.
https://docs.python.org/3/c-api/arg.html#c.Py_BuildValue
Substituted using the following pattern with some manual fixes:
'\b(Py_BuildValue)\((\s*)"([^"]+)"'