Rewrites and additions resulting from today's feedback

This commit is contained in:
Andrew M. Kuchling 2001-10-30 21:36:04 +00:00
parent 5b40f1c212
commit 433b5c4d34
1 changed files with 49 additions and 24 deletions

View File

@ -50,7 +50,7 @@ features, and was written by Cameron Laird and Kathryn Soraiz.}
%====================================================================== %======================================================================
\section{PEP 252: Type and Class Changes} \section{PEPs 252 and 253: Type and Class Changes}
The largest and most far-reaching changes in Python 2.2 are to The largest and most far-reaching changes in Python 2.2 are to
Python's model of objects and classes. The changes should be backward Python's model of objects and classes. The changes should be backward
@ -334,6 +334,8 @@ Following this rule, referring to \method{D.save()} will return
\method{C.save()}, which is the behaviour we're after. This lookup \method{C.save()}, which is the behaviour we're after. This lookup
rule is the same as the one followed by Common Lisp. rule is the same as the one followed by Common Lisp.
% XXX mention super()
\subsection{Attribute Access} \subsection{Attribute Access}
@ -871,22 +873,21 @@ Python's Unicode support has been enhanced a bit in 2.2. Unicode
strings are usually stored as UCS-2, as 16-bit unsigned integers. strings are usually stored as UCS-2, as 16-bit unsigned integers.
Python 2.2 can also be compiled to use UCS-4, 32-bit unsigned Python 2.2 can also be compiled to use UCS-4, 32-bit unsigned
integers, as its internal encoding by supplying integers, as its internal encoding by supplying
\longprogramopt{enable-unicode=ucs4} to the configure script. When \longprogramopt{enable-unicode=ucs4} to the configure script.
built to use UCS-4 (a ``wide Python''), the interpreter can natively (It's also possible to specify
handle Unicode characters from U+000000 to U+110000, so the range of \longprogramopt{disable-unicode} to completely disable Unicode
legal values for the \function{unichr()} function is expanded support.)
When built to use UCS-4 (a ``wide Python''), the interpreter can
natively handle Unicode characters from U+000000 to U+110000, so the
range of legal values for the \function{unichr()} function is expanded
accordingly. Using an interpreter compiled to use UCS-2 (a ``narrow accordingly. Using an interpreter compiled to use UCS-2 (a ``narrow
Python''), values greater than 65535 will still cause Python''), values greater than 65535 will still cause
\function{unichr()} to raise a \exception{ValueError} exception. \function{unichr()} to raise a \exception{ValueError} exception.
This is all described in \pep{261}, ``Support for `wide' Unicode
characters''; consult it for further details.
% XXX is this still unimplemented? Another change is simpler to explain. Since their introduction,
All this is the province of the still-unimplemented \pep{261}, ``Support
for `wide' Unicode characters''; consult it for further details, and
please offer comments on the PEP and on your experiences with the
2.2 beta releases.
% XXX update previous line once 2.2 reaches beta or final.
Another change is much simpler to explain. Since their introduction,
Unicode strings have supported an \method{encode()} method to convert Unicode strings have supported an \method{encode()} method to convert
the string to a selected encoding such as UTF-8 or Latin-1. A the string to a selected encoding such as UTF-8 or Latin-1. A
symmetric \method{decode(\optional{\var{encoding}})} method has been symmetric \method{decode(\optional{\var{encoding}})} method has been
@ -928,8 +929,8 @@ L\"owis.
\begin{seealso} \begin{seealso}
\seepep{261}{Support for `wide' Unicode characters}{PEP written by \seepep{261}{Support for `wide' Unicode characters}{Written by
Paul Prescod. Not yet accepted or fully implemented.} Paul Prescod.}
\end{seealso} \end{seealso}
@ -1074,8 +1075,25 @@ The \module{SimpleXMLRPCServer} module makes it easy to create
straightforward XML-RPC servers. See \url{http://www.xmlrpc.com/} for straightforward XML-RPC servers. See \url{http://www.xmlrpc.com/} for
more information about XML-RPC. more information about XML-RPC.
\item The new \module{hmac} module implements implements the HMAC \item The new \module{hmac} module implements the HMAC
algorithm described by \rfc{2104}. algorithm described by \rfc{2104}.
(Contributed by Gerhard H\"aring.)
\item Several functions that originally returned lengthy tuples now
return pseudo-sequences that still behave like tuples but also have
mnemonic attributes such as member{st_mtime} or \member{tm_year}.
The enhanced functions include \function{stat()},
\function{fstat()}, \function{statvfs()}, and \function{fstatvfs()}
in the \module{os} module, and \function{localtime()},
\function{gmtime()}, and \function{strptime()} in the \module{time}
module.
For example, to obtain a file's size using the old tuples, you'd end
up writing something like \code{file_size =
os.stat(filename)[stat.ST_SIZE]}, but now this can be written more
clearly as \code{file_size = os.stat(filename).st_size}.
The original patch for this feature was contributed by Nick Mathewson.
\item The Python profiler has been extensively reworked and various \item The Python profiler has been extensively reworked and various
errors in its output have been corrected. (Contributed by Fred errors in its output have been corrected. (Contributed by Fred
@ -1104,20 +1122,25 @@ more information about XML-RPC.
to the SRE engine underlying the \module{re} module. For example, to the SRE engine underlying the \module{re} module. For example,
the \function{re.sub()} and \function{re.split()} functions have the \function{re.sub()} and \function{re.split()} functions have
been rewritten in C. Another contributed patch speeds up certain been rewritten in C. Another contributed patch speeds up certain
Unicode character ranges by a factor of two. (SRE is maintained by Unicode character ranges by a factor of two, and a new \method{finditer()}
method that returns an iterator over all the non-overlapping matches in
a given string.
(SRE is maintained by
Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von
L\"owis.) L\"owis.)
\item The \module{smtplib} module now supports \rfc{2487}, ``Secure \item The \module{smtplib} module now supports \rfc{2487}, ``Secure
SMTP over TLS'', so it's now possible to encrypt the SMTP traffic SMTP over TLS'', so it's now possible to encrypt the SMTP traffic
between a Python program and the mail transport agent being handed a between a Python program and the mail transport agent being handed a
message. (Contributed by Gerhard H\"aring.) message. \module{smtplib} also supports SMTP authentication.
(Contributed by Gerhard H\"aring.)
\item The \module{imaplib} module, maintained by Piers Lauder, has \item The \module{imaplib} module, maintained by Piers Lauder, has
support for several new extensions: the NAMESPACE extension defined support for several new extensions: the NAMESPACE extension defined
in \rfc{2342}, SORT, GETACL and SETACL. (Contributed by Anthony in \rfc{2342}, SORT, GETACL and SETACL. (Contributed by Anthony
Baxter and Michel Pelletier.) Baxter and Michel Pelletier.)
% XXX should the 'email' module get a section of its own?
\item The \module{rfc822} module's parsing of email addresses is now \item The \module{rfc822} module's parsing of email addresses is now
compliant with \rfc{2822}, an update to \rfc{822}. (The module's compliant with \rfc{2822}, an update to \rfc{822}. (The module's
name is \emph{not} going to be changed to \samp{rfc2822}.) A new name is \emph{not} going to be changed to \samp{rfc2822}.) A new
@ -1302,9 +1325,10 @@ to experiment with these modules can uncomment them manually.
now convert it to an MBCS encoded string, as used by the Microsoft now convert it to an MBCS encoded string, as used by the Microsoft
file APIs. As MBCS is explicitly used by the file APIs, Python's file APIs. As MBCS is explicitly used by the file APIs, Python's
choice of ASCII as the default encoding turns out to be an choice of ASCII as the default encoding turns out to be an
annoyance. annoyance. On Unix, the locale's character set is used if
(Contributed by Mark Hammond with assistance from Marc-Andr\'e \function{locale.nl_langinfo(CODESET)} is available. (Windows
Lemburg.) support was contributed by Mark Hammond with assistance from
Marc-Andr\'e Lemburg. Unix support was added by Martin von L\"owis.)
\item Large file support is now enabled on Windows. (Contributed by \item Large file support is now enabled on Windows. (Contributed by
Tim Peters.) Tim Peters.)
@ -1371,8 +1395,9 @@ to experiment with these modules can uncomment them manually.
The author would like to thank the following people for offering The author would like to thank the following people for offering
suggestions, corrections and assistance with various drafts of this suggestions, corrections and assistance with various drafts of this
article: Fred Bremmer, Keith Briggs, Andrew Dalke, Fred~L. Drake, Jr., article: Fred Bremmer, Keith Briggs, Andrew Dalke, Fred~L. Drake, Jr.,
Carel Fellinger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack Jansen, Carel Fellinger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack
Marc-Andr\'e Lemburg, Fredrik Lundh, Michael McLay, Tim Peters, Jens Jansen, Marc-Andr\'e Lemburg, Martin von L\"owis, Fredrik Lundh,
Quade, Tom Reinhardt, Neil Schemenauer, Guido van Rossum. Michael McLay, Nick Mathewson, Paul Moore, Tim Peters, Jens Quade, Tom
Reinhardt, Neil Schemenauer, Guido van Rossum.
\end{document} \end{document}