vfs: ensure closewrapbase fh doesn't escape by entering context manager
I'm not sure if there's a problem in practice here, as there's no test failure
either way. The __exit__() and close() methods raise an exception, so maybe
__exit__() and close() are being called directly on the underlying handle when
delayclosedfile is used on a context manager? I doubt that was intended.
--- a/mercurial/vfs.py Sat Dec 15 13:41:34 2018 -0500
+++ b/mercurial/vfs.py Sat Dec 15 13:54:37 2018 -0500
@@ -518,7 +518,8 @@
return delattr(self._origfh, attr)
def __enter__(self):
- return self._origfh.__enter__()
+ self._origfh.__enter__()
+ return self
def __exit__(self, exc_type, exc_value, exc_tb):
raise NotImplementedError('attempted instantiating ' + str(type(self)))