# HG changeset patch # User Matt Harbison # Date 1520702528 18000 # Node ID 6bdea0efdab5221e7e60b6cbd4b209ed3526d14f # Parent 82af07e1ae16409fe8f79ce144e8ec9a3ba678c0 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 diff -r 82af07e1ae16 -r 6bdea0efdab5 mercurial/util.py --- 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)