Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9beefa2

Browse files
committed
describe more 1.3 changes
1 parent ed39cd0 commit 9beefa2

2 files changed

Lines changed: 240 additions & 38 deletions

File tree

Doc/tut.tex

Lines changed: 120 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3537,7 +3537,7 @@ \chapter{New in Release 1.3}
35373537
language and library.
35383538

35393539

3540-
\section{New Keyword Arguments}
3540+
\section{Keyword Arguments}
35413541

35423542
Functions and methods written in Python can now be called using
35433543
keyword arguments of the form \code{\var{keyword} = \var{value}}. For
@@ -3639,9 +3639,73 @@ \section{New Keyword Arguments}
36393639
\item
36403640
The format of \code{.pyc} files has changed (again).
36413641

3642+
\item
3643+
The \code{access} statement has been disabled. The syntax is still
3644+
recognized but no code is generated for it. (There were some
3645+
unpleasant interactions with changes for keyword arguments, and my
3646+
plan is to get rid of \code{access} altogether in favor of a different
3647+
approach.)
3648+
3649+
\end{itemize}
3650+
3651+
\section{Changes to the WWW and Internet tools}
3652+
3653+
\begin{itemize}
3654+
3655+
\item
3656+
The \code{htmllib} module has been rewritten in an incompatible
3657+
fashion. The new version is considerably more complete (HTML 2.0
3658+
except forms, but including all ISO-8859-1 entity definitions), and
3659+
easy to use. Small changes to \code{sgmllib} have also been made, to
3660+
better match the tokenization of HTML as recognized by other web
3661+
tools.
3662+
3663+
\item
3664+
A new module \code{formatter} has been added, for use with the new
3665+
\code{htmllib} module.
3666+
3667+
\item
3668+
The \code{urllib}and \code{httplib} modules have been changed somewhat
3669+
to allow overriding unknown URL types and to support authentication.
3670+
They now use \code{mimetools.Message} instead of \code{rfc822.Message}
3671+
to parse headers. The \code{endrequest()} method has been removed
3672+
from the HTTP class since it breaks the interaction with some servers.
3673+
3674+
\item
3675+
The \code{rfc822.Message} class has been changed to allow a flag to be
3676+
passed in that says that the file is unseekable.
3677+
3678+
\item
3679+
The \code{ftplib} module has been fixed to be (hopefully) more robust
3680+
on Linux.
3681+
3682+
\item
3683+
Several new operations that are optionally supported by servers have
3684+
been added to \code{nntplib}: \code{xover}, \code{xgtitle},
3685+
\code{xpath} and \code{date}. % thanks to Kevan Heydon
3686+
36423687
\end{itemize}
36433688

3644-
\section{Minor Changes}
3689+
\section{Other Language Changes}
3690+
3691+
\begin{itemize}
3692+
3693+
\item
3694+
The \code{raise} statement now takes an optional argument which
3695+
specifies the traceback to be used when printing the exception's stack
3696+
trace. This must be a traceback object, such as found in
3697+
\code{sys.exc_traceback}. When omitted or given as \code{None}, the
3698+
old behavior (to generate a stack trace entry for the current stack
3699+
frame) is used.
3700+
3701+
\item
3702+
The tokenizer is now more tolerant of alien whitespace. Control-L in
3703+
the leading whitespace of a line resets the column number to zero,
3704+
while Control-R just before the end of the line is ignored.
3705+
3706+
\end{itemize}
3707+
3708+
\section{Changes to Built-in Operations}
36453709

36463710
\begin{itemize}
36473711

@@ -3671,37 +3735,71 @@ \section{Minor Changes}
36713735
without an argument, and a module's global variables when called with
36723736
an argument of type module.)
36733737

3738+
\item
3739+
The built-in function \code{compile()} now takes a third possible
3740+
value for the kind of code to be compiled: specifying \code{'single'}
3741+
generates code for a single interactive statement, which prints the
3742+
output of expression statements that evaluate to something else than
3743+
\code{None}.
3744+
3745+
\end{itemize}
3746+
3747+
\section{Library Changes}
3748+
3749+
\begin{itemize}
3750+
3751+
\item
3752+
The \code{string.split()} and \code{string.splitfields()} functions
3753+
are now the same function (the presence or absence of the second
3754+
argument determines which operation is invoked); similar for
3755+
\code{string.join()} and \code{string.joinfields()}.
3756+
3757+
\item
3758+
The \code{Tkinter} module and its helper \code{Dialog} have been
3759+
revamped to use keyword arguments. Tk 4.0 is now the standard. A new
3760+
module \code{FileDialog} has been added which implements standard file
3761+
selection dialogs.
3762+
36743763
\item
36753764
The optional built-in modules \code{dbm} and \code{gdbm} are more
36763765
coordinated --- their \code{open()} functions now take the same values
36773766
for their \var{flag} argument, and the \var{flag} and \var{mode}
36783767
argument have default values (to open the database for reading only,
36793768
and to create the database with mode \code{0666} minuse the umask,
3680-
respectively).
3769+
respectively). The memory leaks have finally been fixed.
36813770

36823771
\item
3683-
A new dbm-like module, \code{dbhash}, has been added, which uses the
3684-
BSD DB package's hash method.
3772+
A new dbm-like module, \code{bsddb}, has been added, which uses the
3773+
BSD DB package's hash method. % thanks to David Ely
36853774

36863775
\item
3687-
The \code{raise} statement now takes an optional argument which
3688-
specifies the traceback to be used when printing the exception's stack
3689-
trace. This must be a traceback object, such as found in
3690-
\code{sys.exc_traceback}. When omitted or given as \code{None}, the
3691-
old behavior (to generate a stack trace entry for the current stack
3692-
frame) is used.
3776+
A portable (though slow) dbm-clone, implemented in Python, has been
3777+
added for systems where none of the above is provided. It is aptly
3778+
dubbed \code{dumbdbm}.
36933779

36943780
\item
3695-
The built-in function \code{compile()} now takes a third possible
3696-
value for the kind of code to be compiled: specifying \code{'single'}
3697-
generates code for a single interactive statement, which prints the
3698-
output of expression statements that evaluate to something else than
3699-
\code{None}.
3781+
The module \code{anydbm} provides a unified interface to \code{bsddb},
3782+
\code{gdbm}, \code{dbm}, and \code{dumbdbm}, choosing the first one
3783+
available.
37003784

37013785
\item
3702-
The tokenizer is now more tolerant of alien whitespace. Control-L in
3703-
the leading whitespace of a line resets the column number to zero,
3704-
while Control-R just before the end of the line is ignored.
3786+
A new extension module, \code{binascii}, provides a variety of
3787+
operations for conversion of text-encoded binary data.
3788+
3789+
\item
3790+
There are three new or rewritten companion modules implemented in
3791+
Python that can encode and decode the most common such formats:
3792+
\code{uu} (uuencode), \code{base64} and \code{binhex}.
3793+
3794+
\item
3795+
A module to handle the MIME encoding quoted-printable has also been
3796+
added: \code{quopri}.
3797+
3798+
\end{itemize}
3799+
3800+
\section{Other Changes}
3801+
3802+
\begin{itemize}
37053803

37063804
\item
37073805
The dynamic module loader recognizes the fact that different filenames
@@ -3714,6 +3812,9 @@ \section{Minor Changes}
37143812
the run-time API. For more detailes, read the files
37153813
\code{Include/abstract.h} and \code{Objects/abstract.c}.
37163814

3815+
\item
3816+
The Macintosh version is much more robust now.
3817+
37173818
\item
37183819
Numerous things I have forgotten or that are so obscure no-one will
37193820
notice them anyway :-)

Doc/tut/tut.tex

Lines changed: 120 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3537,7 +3537,7 @@ \chapter{New in Release 1.3}
35373537
language and library.
35383538

35393539

3540-
\section{New Keyword Arguments}
3540+
\section{Keyword Arguments}
35413541

35423542
Functions and methods written in Python can now be called using
35433543
keyword arguments of the form \code{\var{keyword} = \var{value}}. For
@@ -3639,9 +3639,73 @@ \section{New Keyword Arguments}
36393639
\item
36403640
The format of \code{.pyc} files has changed (again).
36413641

3642+
\item
3643+
The \code{access} statement has been disabled. The syntax is still
3644+
recognized but no code is generated for it. (There were some
3645+
unpleasant interactions with changes for keyword arguments, and my
3646+
plan is to get rid of \code{access} altogether in favor of a different
3647+
approach.)
3648+
3649+
\end{itemize}
3650+
3651+
\section{Changes to the WWW and Internet tools}
3652+
3653+
\begin{itemize}
3654+
3655+
\item
3656+
The \code{htmllib} module has been rewritten in an incompatible
3657+
fashion. The new version is considerably more complete (HTML 2.0
3658+
except forms, but including all ISO-8859-1 entity definitions), and
3659+
easy to use. Small changes to \code{sgmllib} have also been made, to
3660+
better match the tokenization of HTML as recognized by other web
3661+
tools.
3662+
3663+
\item
3664+
A new module \code{formatter} has been added, for use with the new
3665+
\code{htmllib} module.
3666+
3667+
\item
3668+
The \code{urllib}and \code{httplib} modules have been changed somewhat
3669+
to allow overriding unknown URL types and to support authentication.
3670+
They now use \code{mimetools.Message} instead of \code{rfc822.Message}
3671+
to parse headers. The \code{endrequest()} method has been removed
3672+
from the HTTP class since it breaks the interaction with some servers.
3673+
3674+
\item
3675+
The \code{rfc822.Message} class has been changed to allow a flag to be
3676+
passed in that says that the file is unseekable.
3677+
3678+
\item
3679+
The \code{ftplib} module has been fixed to be (hopefully) more robust
3680+
on Linux.
3681+
3682+
\item
3683+
Several new operations that are optionally supported by servers have
3684+
been added to \code{nntplib}: \code{xover}, \code{xgtitle},
3685+
\code{xpath} and \code{date}. % thanks to Kevan Heydon
3686+
36423687
\end{itemize}
36433688

3644-
\section{Minor Changes}
3689+
\section{Other Language Changes}
3690+
3691+
\begin{itemize}
3692+
3693+
\item
3694+
The \code{raise} statement now takes an optional argument which
3695+
specifies the traceback to be used when printing the exception's stack
3696+
trace. This must be a traceback object, such as found in
3697+
\code{sys.exc_traceback}. When omitted or given as \code{None}, the
3698+
old behavior (to generate a stack trace entry for the current stack
3699+
frame) is used.
3700+
3701+
\item
3702+
The tokenizer is now more tolerant of alien whitespace. Control-L in
3703+
the leading whitespace of a line resets the column number to zero,
3704+
while Control-R just before the end of the line is ignored.
3705+
3706+
\end{itemize}
3707+
3708+
\section{Changes to Built-in Operations}
36453709

36463710
\begin{itemize}
36473711

@@ -3671,37 +3735,71 @@ \section{Minor Changes}
36713735
without an argument, and a module's global variables when called with
36723736
an argument of type module.)
36733737

3738+
\item
3739+
The built-in function \code{compile()} now takes a third possible
3740+
value for the kind of code to be compiled: specifying \code{'single'}
3741+
generates code for a single interactive statement, which prints the
3742+
output of expression statements that evaluate to something else than
3743+
\code{None}.
3744+
3745+
\end{itemize}
3746+
3747+
\section{Library Changes}
3748+
3749+
\begin{itemize}
3750+
3751+
\item
3752+
The \code{string.split()} and \code{string.splitfields()} functions
3753+
are now the same function (the presence or absence of the second
3754+
argument determines which operation is invoked); similar for
3755+
\code{string.join()} and \code{string.joinfields()}.
3756+
3757+
\item
3758+
The \code{Tkinter} module and its helper \code{Dialog} have been
3759+
revamped to use keyword arguments. Tk 4.0 is now the standard. A new
3760+
module \code{FileDialog} has been added which implements standard file
3761+
selection dialogs.
3762+
36743763
\item
36753764
The optional built-in modules \code{dbm} and \code{gdbm} are more
36763765
coordinated --- their \code{open()} functions now take the same values
36773766
for their \var{flag} argument, and the \var{flag} and \var{mode}
36783767
argument have default values (to open the database for reading only,
36793768
and to create the database with mode \code{0666} minuse the umask,
3680-
respectively).
3769+
respectively). The memory leaks have finally been fixed.
36813770

36823771
\item
3683-
A new dbm-like module, \code{dbhash}, has been added, which uses the
3684-
BSD DB package's hash method.
3772+
A new dbm-like module, \code{bsddb}, has been added, which uses the
3773+
BSD DB package's hash method. % thanks to David Ely
36853774

36863775
\item
3687-
The \code{raise} statement now takes an optional argument which
3688-
specifies the traceback to be used when printing the exception's stack
3689-
trace. This must be a traceback object, such as found in
3690-
\code{sys.exc_traceback}. When omitted or given as \code{None}, the
3691-
old behavior (to generate a stack trace entry for the current stack
3692-
frame) is used.
3776+
A portable (though slow) dbm-clone, implemented in Python, has been
3777+
added for systems where none of the above is provided. It is aptly
3778+
dubbed \code{dumbdbm}.
36933779

36943780
\item
3695-
The built-in function \code{compile()} now takes a third possible
3696-
value for the kind of code to be compiled: specifying \code{'single'}
3697-
generates code for a single interactive statement, which prints the
3698-
output of expression statements that evaluate to something else than
3699-
\code{None}.
3781+
The module \code{anydbm} provides a unified interface to \code{bsddb},
3782+
\code{gdbm}, \code{dbm}, and \code{dumbdbm}, choosing the first one
3783+
available.
37003784

37013785
\item
3702-
The tokenizer is now more tolerant of alien whitespace. Control-L in
3703-
the leading whitespace of a line resets the column number to zero,
3704-
while Control-R just before the end of the line is ignored.
3786+
A new extension module, \code{binascii}, provides a variety of
3787+
operations for conversion of text-encoded binary data.
3788+
3789+
\item
3790+
There are three new or rewritten companion modules implemented in
3791+
Python that can encode and decode the most common such formats:
3792+
\code{uu} (uuencode), \code{base64} and \code{binhex}.
3793+
3794+
\item
3795+
A module to handle the MIME encoding quoted-printable has also been
3796+
added: \code{quopri}.
3797+
3798+
\end{itemize}
3799+
3800+
\section{Other Changes}
3801+
3802+
\begin{itemize}
37053803

37063804
\item
37073805
The dynamic module loader recognizes the fact that different filenames
@@ -3714,6 +3812,9 @@ \section{Minor Changes}
37143812
the run-time API. For more detailes, read the files
37153813
\code{Include/abstract.h} and \code{Objects/abstract.c}.
37163814

3815+
\item
3816+
The Macintosh version is much more robust now.
3817+
37173818
\item
37183819
Numerous things I have forgotten or that are so obscure no-one will
37193820
notice them anyway :-)

0 commit comments

Comments
 (0)