From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 24 Dec 2024 18:55:57 +0000 (+0100) Subject: [3.13] gh-126664: revert: Use `else` instead of `finally` in docs explaining "with... X-Git-Tag: v3.13.2~172 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=32adae1a104043f2805ca7e01e738cc730e0bdc3;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-126664: revert: Use `else` instead of `finally` in docs explaining "with" (GH-128169) (#128170) 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 69c47686dd67..c7e43ef77390 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::