util: forward __bool__()/__nonzero__() on fileobjectproxy
In trying to debug the Windows process hang in D2720, I changed the stderr pipe
to the peer to be os.devnull instead. That caused sshpeer._cleanuppipes()[1] to
explode, complaining NoneType has no __iter__ attribute, even though the
previous line checked for None.
[1] https://www.mercurial-scm.org/repo/hg/file/
b434965f984e/mercurial/sshpeer.py#l133
--- a/mercurial/util.py Tue Mar 06 07:16:41 2018 -0600
+++ b/mercurial/util.py Sat Mar 10 12:22:08 2018 -0500
@@ -543,6 +543,11 @@
return getattr(object.__getattribute__(self, r'_orig'), name)
+ def __nonzero__(self):
+ return bool(object.__getattribute__(self, r'_orig'))
+
+ __bool__ = __nonzero__
+
def __delattr__(self, name):
return delattr(object.__getattribute__(self, r'_orig'), name)