From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 24 Dec 2024 18:56:03 +0000 (+0100) Subject: [3.12] gh-126664: revert: Use `else` instead of `finally` in docs explaining "with... X-Git-Tag: v3.12.9~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d263bc742a6a4e4b326d98430a0e7f6d6a6cbf86;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-126664: revert: Use `else` instead of `finally` in docs explaining "with" (GH-128169) (#128171) gh-126664: revert: Use `else` instead of `finally` in docs explaining "with" (GH-128169) Revert "gh-126664: Use `else` instead of `finally` in "The with statement" documentation. (GH-126665)" This reverts commit 25257d61cfccc3b4189f96390a5c4db73fd5302c. (cherry picked from commit 228f275737615cc9be713a8c3f9325b359bf8aec) Co-authored-by: Gregory P. Smith --- diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index ddb1337f949e..81399901c9cf 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -534,15 +534,18 @@ is semantically equivalent to:: enter = type(manager).__enter__ exit = type(manager).__exit__ value = enter(manager) + hit_except = False try: TARGET = value SUITE except: + hit_except = True if not exit(manager, *sys.exc_info()): raise - else: - exit(manager, None, None, None) + finally: + if not hit_except: + exit(manager, None, None, None) With more than one item, the context managers are processed as if multiple :keyword:`with` statements were nested::