[Python-checkins] cpython (merge 3.4 -> default): Issue22988: clarify yield and exception blocks

ethan.furman python-checkins at python.org
Thu Jan 15 07:26:34 CET 2015


https://hg.python.org/cpython/rev/55ba19d084fb
changeset:   94154:55ba19d084fb
parent:      94151:d0421de8ee11
parent:      94153:0e48b0908651
user:        Ethan Furman <ethan at stoneleaf.us>
date:        Wed Jan 14 22:26:04 2015 -0800
summary:
  Issue22988: clarify yield and exception blocks

files:
  Doc/reference/expressions.rst |  9 +++++----
  1 files changed, 5 insertions(+), 4 deletions(-)


diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -330,8 +330,9 @@
 time, the execution proceeds to the first yield expression, where it is
 suspended again, returning the value of :token:`expression_list` to the generator's
 caller.  By suspended, we mean that all local state is retained, including the
-current bindings of local variables, the instruction pointer, and the internal
-evaluation stack.  When the execution is resumed by calling one of the
+current bindings of local variables, the instruction pointer, the internal
+evaluation stack, and the state of any exception handling.  When the execution
+is resumed by calling one of the
 generator's methods, the function can proceed exactly as if the yield expression
 were just another external call.  The value of the yield expression after
 resuming depends on the method which resumed the execution.  If
@@ -348,8 +349,8 @@
 where the execution should continue after it yields; the control is always
 transferred to the generator's caller.
 
-Yield expressions are allowed in the :keyword:`try` clause of a :keyword:`try`
-...  :keyword:`finally` construct.  If the generator is not resumed before it is
+Yield expressions are allowed anywhere in a :keyword:`try` construct.  If the
+generator is not resumed before it is
 finalized (by reaching a zero reference count or by being garbage collected),
 the generator-iterator's :meth:`~generator.close` method will be called,
 allowing any pending :keyword:`finally` clauses to execute.

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list