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

Skip to content

Commit 8cfa905

Browse files
committed
Finish the "Other changes" section
Bump version number Insert a few blank lines here and there
1 parent 28bafb8 commit 8cfa905

1 file changed

Lines changed: 45 additions & 34 deletions

File tree

Doc/whatsnew/whatsnew22.tex

Lines changed: 45 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
% $Id$
44

55
\title{What's New in Python 2.2}
6-
\release{0.02}
6+
\release{0.03}
77
\author{A.M. Kuchling}
88
\authoraddress{\email{[email protected]}}
99
\begin{document}
@@ -33,20 +33,24 @@ \section{Introduction}
3333

3434
The final release of Python 2.2 is planned for October 2001.
3535

36+
3637
%======================================================================
3738
% It looks like this set of changes will likely get into 2.2,
3839
% so I need to read and digest the relevant PEPs.
3940
%\section{PEP 252: Type and Class Changes}
4041

4142
%XXX
4243

44+
% GvR's description at http://www.python.org/2.2/descrintro.html
45+
4346
%\begin{seealso}
4447

4548
%\seepep{252}{Making Types Look More Like Classes}{Written and implemented
4649
%by GvR.}
4750

4851
%\end{seealso}
4952

53+
5054
%======================================================================
5155
\section{PEP 234: Iterators}
5256

@@ -183,6 +187,7 @@ \section{PEP 234: Iterators}
183187

184188
\end{seealso}
185189

190+
186191
%======================================================================
187192
\section{PEP 255: Simple Generators}
188193

@@ -329,6 +334,7 @@ \section{PEP 255: Simple Generators}
329334

330335
\end{seealso}
331336

337+
332338
%======================================================================
333339
\section{Unicode Changes}
334340

@@ -339,9 +345,9 @@ \section{Unicode Changes}
339345

340346
XXX explain surrogates? I have to figure out what the changes mean to users.
341347

342-
Since their introduction, Unicode strings (XXX and regular strings in
343-
2.1?) have supported an \method{encode()} method to convert the
344-
string to a selected encoding such as UTF-8 or Latin-1. A symmetric
348+
Since their introduction, Unicode strings have supported an
349+
\method{encode()} method to convert the string to a selected encoding
350+
such as UTF-8 or Latin-1. A symmetric
345351
\method{decode(\optional{\var{encoding}})} method has been added to
346352
both 8-bit and Unicode strings in 2.2, which assumes that the string
347353
is in the specified encoding and decodes it. This means that
@@ -372,6 +378,7 @@ \section{Unicode Changes}
372378
References: http://mail.python.org/pipermail/i18n-sig/2001-June/001107.html
373379
and following thread.
374380

381+
375382
%======================================================================
376383
\section{PEP 227: Nested Scopes}
377384

@@ -553,9 +560,10 @@ \section{New and Improved Modules}
553560
%======================================================================
554561
\section{Other Changes and Fixes}
555562

563+
% XXX update the patch and bug figures as we go
556564
As usual there were a bunch of other improvements and bugfixes
557565
scattered throughout the source tree. A search through the CVS change
558-
logs finds there were XXX patches applied, and XXX bugs fixed; both
566+
logs finds there were 43 patches applied, and 77 bugs fixed; both
559567
figures are likely to be underestimates. Some of the more notable
560568
changes are:
561569

@@ -585,6 +593,24 @@ \section{Other Changes and Fixes}
585593
been changed to use the new C-level interface. (Contributed by Fred
586594
L. Drake, Jr.)
587595

596+
% XXX is this explanation correct?
597+
\item When presented with a Unicode filename on Windows, Python will
598+
now correctly convert it to a string using the MBCS encoding.
599+
Filenames on Windows are a case where Python's choice of ASCII as
600+
the default encoding turns out to be an annoyance.
601+
602+
This patch also adds \samp{et} as a format sequence to
603+
\cfunction{PyArg_ParseTuple}; \samp{et} takes both a parameter and
604+
an encoding name, and converts it to the given encoding if the
605+
parameter turns out to be a Unicode string, or leaves it alone if
606+
it's an 8-bit string, assuming it to already be in the desired
607+
encoding. (This differs from the \samp{es} format character, which
608+
assumes that 8-bit strings are in Python's default ASCII encoding
609+
and converts them to the specified new encoding.)
610+
611+
(Contributed by Mark Hammond with assistance from Marc-Andr\'e
612+
Lemburg.)
613+
588614
\item The \file{Tools/scripts/ftpmirror.py} script
589615
now parses a \file{.netrc} file, if you have one.
590616
(Contributed by Mike Romberg.)
@@ -601,38 +627,23 @@ \section{Other Changes and Fixes}
601627
\cfunction{PyRange_New()} function, \samp{repeat}, has also been
602628
deprecated.
603629

630+
\item There were a bunch of patches to the dictionary
631+
implementation, mostly to fix potential core dumps if a dictionary
632+
contains objects that sneakily changed their hash value, or mutated
633+
the dictionary they were contained in. For a while python-dev fell
634+
into a gentle rhythm of Michael Hudson finding a case that dump
635+
core, Tim Peters fixing it, Michael finding another case, and round
636+
and round it went.
637+
604638
\item On Windows, Python can now be compiled with Borland C thanks
605-
to a number of patches contribued by Stephen Hansen.
606-
607-
\item XXX C API: Reorganization of object calling
608-
609-
The \cfunction{call_object()} function, originally in \file{ceval.c},
610-
begins a new life as the official API \cfunction{PyObject_Call()}. It
611-
is also much simplified: all it does is call the \member{tp_call}
612-
slot, or raise an exception if that's \NULL.
613-
614-
%The subsidiary functions (call_eval_code2(), call_cfunction(),
615-
%call_instance(), and call_method()) have all been moved to the file
616-
%implementing their particular object type, renamed according to the
617-
%local convention, and added to the type's tp_call slot. Note that
618-
%call_eval_code2() became function_call(); the tp_slot for class
619-
%objects now simply points to PyInstance_New(), which already has the
620-
%correct signature.
621-
622-
%Because of these moves, there are some more new APIs that expose
623-
%helpers in ceval.c that are now needed outside: PyEval_GetFuncName(),
624-
%PyEval_GetFuncDesc(), PyEval_EvalCodeEx() (formerly get_func_name(),
625-
%get_func_desc(), and eval_code2().
626-
627-
\item XXX Add support for Windows using "mbcs" as the default
628-
Unicode encoding when dealing with the file system. As discussed on
629-
python-dev and in patch 410465.
630-
631-
\item XXX Lots of patches to dictionaries; measure performance
632-
improvement, if any.
639+
to a number of patches contributed by Stephen Hansen.
633640

634-
\end{itemize}
641+
\item On platforms where Python uses the C \cfunction{dlopen()} function
642+
to load extension modules, it's now possible to set the flags used
643+
by \cfunction{dlopen()} using the \function{sys.getdlopenflags()} and
644+
\function{sys.setdlopenflags()} functions. (Contributed by Bram Stolk.)
635645

646+
\end{itemize}
636647

637648

638649
%======================================================================

0 commit comments

Comments
 (0)