summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2006-04-13 12:49:39 +0000
committerAndrew M. Kuchling <amk@amk.ca>2006-04-13 12:49:39 +0000
commit3b4fb041df14f8cb64c07c691031ecdc3f290ff0 (patch)
treebce919ca1da3d3f17a19f135662786a402985535
parent6fc6976507715812e1c57493d41436c4bf195d32 (diff)
downloadcpython-git-3b4fb041df14f8cb64c07c691031ecdc3f290ff0.tar.gz
[Bug #1464571] Mention that generator's .gi_frame can now be None
-rw-r--r--Doc/whatsnew/whatsnew25.tex14
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