]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-104683: clinic.py: Don't needlessly reimplement `contextlib.redirect_stdout` ...
authorAlex Waygood <Alex.Waygood@Gmail.com>
Thu, 6 Jul 2023 13:23:02 +0000 (14:23 +0100)
committerGitHub <noreply@github.com>
Thu, 6 Jul 2023 13:23:02 +0000 (14:23 +0100)
clinic.py: Don't needlessly reimplement `contextlib.redirect_stdout`

Tools/clinic/clinic.py

index 7ada7e9d917b3800780a17d7b8efeaf86412b4fe..306dca8d44dd2f1984a489ba22c4ac55d6742f45 100755 (executable)
@@ -1617,19 +1617,6 @@ class CLanguage(Language):
         return clinic.get_destination('block').dump()
 
 
-
-
-@contextlib.contextmanager
-def OverrideStdioWith(stdout):
-    saved_stdout = sys.stdout
-    sys.stdout = stdout
-    try:
-        yield
-    finally:
-        assert sys.stdout is stdout
-        sys.stdout = saved_stdout
-
-
 def create_regex(
         before: str,
         after: str,
@@ -2331,17 +2318,14 @@ def compute_checksum(
     return s
 
 
-
-
 class PythonParser:
     def __init__(self, clinic: Clinic) -> None:
         pass
 
     def parse(self, block: Block) -> None:
-        s = io.StringIO()
-        with OverrideStdioWith(s):
+        with contextlib.redirect_stdout(io.StringIO()) as s:
             exec(block.input)
-        block.output = s.getvalue()
+            block.output = s.getvalue()
 
 
 class Module: