util: improved the check for the existence of the 'buffer' builtin
2to3 is unable to translate '__builtin__' calls to 'builtins' when
hasattr is used (as in hasattr(__builtin__, buffer)). Translating the
check to the format
try:
whatever
except NameError
# define whatever
__builtin__.whatever = whatever
is a correct way of checking for the name and has the benefit of being
translated by 2to3. This patch implements the same idea for the
aforementioned example.
#!/bin/sh
"$TESTDIR/hghave" execbit || exit 80
hg init
echo a > a
hg ci -Am'not executable'
chmod +x a
hg ci -m'executable'
hg id
echo '% make sure we notice the change of mode if the cached size == -1'
hg rm a
hg revert -r 0 a
hg debugstate
hg st
hg up 0
hg id
test -x a && echo executable -- eek || echo not executable -- whew