diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2006-04-13 12:49:39 +0000 |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2006-04-13 12:49:39 +0000 |
commit | 3b4fb041df14f8cb64c07c691031ecdc3f290ff0 (patch) | |
tree | bce919ca1da3d3f17a19f135662786a402985535 | |
parent | 6fc6976507715812e1c57493d41436c4bf195d32 (diff) | |
download | cpython-git-3b4fb041df14f8cb64c07c691031ecdc3f290ff0.tar.gz |
[Bug #1464571] Mention that generator's .gi_frame can now be None
-rw-r--r-- | Doc/whatsnew/whatsnew25.tex | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Doc/whatsnew/whatsnew25.tex b/Doc/whatsnew/whatsnew25.tex index ad58371937..5ad4275cea 100644 --- a/Doc/whatsnew/whatsnew25.tex +++ b/Doc/whatsnew/whatsnew25.tex @@ -412,7 +412,7 @@ implementation by Thomas Lee.} %====================================================================== -\section{PEP 342: New Generator Features} +\section{PEP 342: New Generator Features\label{section-generators}} Python 2.5 adds a simple way to pass values \emph{into} a generator. As introduced in Python 2.3, generators only produce output; once a @@ -541,7 +541,7 @@ figure out patterns for using coroutines effectively in Python. The addition of the \method{close()} method has one side effect that isn't obvious. \method{close()} is called when a generator is garbage-collected, so this means the generator's code gets one last -chance to run before the generator is destroyed, and this last chance +chance to run before the generator is destroyed. This last chance means that \code{try...finally} statements in generators can now be guaranteed to work; the \keyword{finally} clause will now always get a chance to run. The syntactic restriction that you couldn't mix @@ -552,6 +552,11 @@ necessary in order to implement the \keyword{with} statement described by PEP 343. We'll look at this new statement in the following section. +Another even more esoteric effect of this change: previously, the +\member{gi_frame} attribute of a generator was always a frame object. +It's now possible for \member{gi_frame} to be \code{None} +once the generator has been exhausted. + \begin{seealso} \seepep{342}{Coroutines via Enhanced Generators}{PEP written by @@ -1641,6 +1646,11 @@ this triggered a warning, not a syntax error. \item The \module{pickle} module no longer uses the deprecated \var{bin} parameter. +\item Previously, the \member{gi_frame} attribute of a generator +was always a frame object. Because of the \pep{342} changes +described in section~\ref{section-generators}, it's now possible +for \member{gi_frame} to be \code{None}. + \item C API: Many functions now use \ctype{Py_ssize_t} instead of \ctype{int} to allow processing more data on 64-bit machines. Extension code may need to make |