]> granicus.if.org Git - python/commitdiff
Move C-level changes into a section of their own
authorAndrew M. Kuchling <amk@amk.ca>
Tue, 31 Jul 2001 15:51:16 +0000 (15:51 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Tue, 31 Jul 2001 15:51:16 +0000 (15:51 +0000)
Add string.ascii_letters
Remove duplicate MBCS paragraph

Doc/whatsnew/whatsnew22.tex

index 17b6d9a8a499665b7977f785ce4cbc77af87ffc5..878354940aeba86043203715ed5be6c87f9997ea 100644 (file)
@@ -574,35 +574,31 @@ See \url{http://www.xmlrpc.com/} for more information about XML-RPC.
   now compliant with \rfc{2822}, an update to \rfc{822}.  The module's
   name is \emph{not} going to be changed to \samp{rfc2822}.
   (Contributed by Barry Warsaw.)
-  
+
+  \item New constants \constant{ascii_letters},
+  \constant{ascii_lowercase}, and \constant{ascii_uppercase} were
+  added to the \module{string} module.  There were several modules in
+  the standard library that used \constant{string.letters} to mean the
+  ranges A-Za-z, but that assumption is incorrect when locales are in
+  use, because \constant{string.letters} varies depending on the set
+  of legal characters defined by the current locale.  The buggy
+  modules have all been fixed to use \constant{ascii_letters} instead.
+  (Reported by an unknown person; fixed by Fred L. Drake, Jr.)
+
 \end{itemize}
 
 
 %======================================================================
-\section{Other Changes and Fixes}
+\section{Interpreter Changes and Fixes}
 
-% XXX update the patch and bug figures as we go
-As usual there were a bunch of other improvements and bugfixes
-scattered throughout the source tree.  A search through the CVS change
-logs finds there were 43 patches applied, and 77 bugs fixed; both
-figures are likely to be underestimates.  Some of the more notable
-changes are:
+Some of the changes only affect people who deal with the Python
+interpreter at the C level, writing Python extension modules,
+embedding the interpreter, or just hacking on the interpreter itself.
+If you only write Python code, none of the changes described here will
+affect you very much.
 
 \begin{itemize}
 
-  \item Keyword arguments passed to builtin functions that don't take them
-  now cause a \exception{TypeError} exception to be raised, with the
-  message "\var{function} takes no keyword arguments".
-  
-  \item The code for the Mac OS port for Python, maintained by Jack
-  Jansen, is now kept in the main Python CVS tree.
-
-  \item The new license introduced with Python 1.6 wasn't
-  GPL-compatible.  This is fixed by some minor textual changes to the
-  2.2 license, so Python can now be embedded inside a GPLed program
-  again.  The license changes were also applied to the Python 2.0.1
-  and 2.1.1 releases.
-
   \item Profiling and tracing functions can now be implemented in C,
   which can operate at much higher speeds than Python-based functions
   and should reduce the overhead of enabling profiling and tracing, so
@@ -623,11 +619,52 @@ changes are:
   \cfunction{PyThreadState_Next()} allow looping over all the thread
   states for a given interpreter.  (Contributed by David Beazley.)
 
-  % XXX is this explanation correct?  
-  \item When presented with a Unicode filename on Windows, Python will
-  now correctly convert it to a string using the MBCS encoding.
-  Filenames on Windows are a case where Python's choice of ASCII as
-  the default encoding turns out to be an annoyance.  
+  \item A new \samp{et} format sequence was added to
+  \cfunction{PyArg_ParseTuple}; \samp{et} takes both a parameter and
+  an encoding name, and converts the parameter to the given encoding
+  if the parameter turns out to be a Unicode string, or leaves it
+  alone if it's an 8-bit string, assuming it to already be in the
+  desired encoding.  This differs from the \samp{es} format character,
+  which assumes that 8-bit strings are in Python's default ASCII
+  encoding and converts them to the specified new encoding.
+  (Contributed by M.-A. Lemburg, and used for the MBCS support on
+  Windows described in the previous section.)
+   
+  \item Two new wrapper functions, \cfunction{PyOS_snprintf()} and
+  \cfunction{PyOS_vsnprintf()} were added.   which provide a cross-platform
+  implementations for the relatively new snprintf()/vsnprintf() C lib
+  APIs. In contrast to the standard sprintf() and vsprintf() C lib
+  APIs, these versions apply bounds checking on the used buffer which
+  enhances protection against buffer overruns.
+  (Contributed by M.-A. Lemburg.)
+
+\end{itemize}
+
+
+%======================================================================
+\section{Other Changes and Fixes}
+
+% XXX update the patch and bug figures as we go
+As usual there were a bunch of other improvements and bugfixes
+scattered throughout the source tree.  A search through the CVS change
+logs finds there were 43 patches applied, and 77 bugs fixed; both
+figures are likely to be underestimates.  Some of the more notable
+changes are:
+
+\begin{itemize}
+
+  \item Keyword arguments passed to builtin functions that don't take them
+  now cause a \exception{TypeError} exception to be raised, with the
+  message "\var{function} takes no keyword arguments".
+  
+  \item The code for the Mac OS port for Python, maintained by Jack
+  Jansen, is now kept in the main Python CVS tree.
+
+  \item The new license introduced with Python 1.6 wasn't
+  GPL-compatible.  This is fixed by some minor textual changes to the
+  2.2 license, so Python can now be embedded inside a GPLed program
+  again.  The license changes were also applied to the Python 2.0.1
+  and 2.1.1 releases.
 
   \item When presented with a Unicode filename on Windows, Python will
   now convert it to an MBCS encoded string, as used by the Microsoft
@@ -635,15 +672,6 @@ changes are:
   choice of ASCII as the default encoding turns out to be an
   annoyance.
 
-  This patch also adds \samp{et} as a format sequence to
-  \cfunction{PyArg_ParseTuple}; \samp{et} takes both a parameter and
-  an encoding name, and converts it to the given encoding if the
-  parameter turns out to be a Unicode string, or leaves it alone if
-  it's an 8-bit string, assuming it to already be in the desired
-  encoding.  (This differs from the \samp{es} format character, which
-  assumes that 8-bit strings are in Python's default ASCII encoding
-  and converts them to the specified new encoding.)
-   
   (Contributed by Mark Hammond with assistance from Marc-Andr\'e
   Lemburg.)
 
@@ -683,7 +711,7 @@ changes are:
   to load extension modules, it's now possible to set the flags used 
   by \cfunction{dlopen()} using the \function{sys.getdlopenflags()} and
   \function{sys.setdlopenflags()} functions.    (Contributed by Bram Stolk.)
-
+  
 \end{itemize}