#1748: use functools.wraps instead of rolling own metadata update.
diff --git a/Lib/contextlib.py b/Lib/contextlib.py
index dbd1c57..c9793af 100644
--- a/Lib/contextlib.py
+++ b/Lib/contextlib.py
@@ -1,6 +1,7 @@
"""Utilities for with-statement contexts. See PEP 343."""
import sys
+from functools import wraps
__all__ = ["contextmanager", "nested", "closing"]
@@ -77,14 +78,9 @@
<cleanup>
"""
+ @wraps(func)
def helper(*args, **kwds):
return GeneratorContextManager(func(*args, **kwds))
- try:
- helper.__name__ = func.__name__
- helper.__doc__ = func.__doc__
- helper.__dict__ = func.__dict__
- except:
- pass
return helper