parsers: alias more PyInt* symbols on Python 3
I feel dirty for having to do this. But this is currently our approach
for dealing with PyInt -> PyLong in Python 3 for this file.
This removes a ton of compiler warnings by fixing unresolved symbols.
manifest: use PyVarObject_HEAD_INIT
More appeasing the Python 3 and compiler overlords. The code is
equivalent.
dirs: use PyVarObject_HEAD_INIT
This makes a compiler warning go away on Python 3.
py3: refactor token parsing to handle call args properly
The token parsing was getting unwieldy and was too naive about accessing
arguments.
eol: make sure we always release the wlock when writing cache
If any exception were to happen after we acquired the wlock, we could leave it
unreleased. We move the wlock release in a 'finally:' close as it should be.
pathencode: use assert() for PyBytes_Check()
This should have been added in
a8c948ee3668. I sent the patch to the
list prematurely.
merge: clarify warning for (not) merging flags without ancestor
Give hints why it can't merge and what it will do instead.
tests: add test coverage of merging x flag without ancestor
It is more noisy than necessary - we will fix that later.