From: A.M. K. <aku...@us...> - 2001-07-31 15:51:19
|
Update of /cvsroot/py-howto/pyhowto In directory usw-pr-cvs1:/tmp/cvs-serv5456 Modified Files: python-22.tex Log Message: Move C-level changes into a section of their own Add string.ascii_letters Remove duplicate MBCS paragraph Index: python-22.tex =================================================================== RCS file: /cvsroot/py-howto/pyhowto/python-22.tex,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** python-22.tex 2001/07/31 01:11:36 1.18 --- python-22.tex 2001/07/31 15:51:16 1.19 *************** *** 575,607 **** name is \emph{not} going to be changed to \samp{rfc2822}. (Contributed by Barry Warsaw.) ! \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 Profiling and tracing functions can now be implemented in C, which can operate at much higher speeds than Python-based functions --- 575,603 ---- 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{Interpreter Changes and Fixes} ! 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 Profiling and tracing functions can now be implemented in C, which can operate at much higher speeds than Python-based functions *************** *** 624,633 **** 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 When presented with a Unicode filename on Windows, Python will now convert it to an MBCS encoded string, as used by the Microsoft --- 620,670 ---- states for a given interpreter. (Contributed by David Beazley.) ! \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 *************** *** 636,648 **** 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.) --- 673,676 ---- *************** *** 684,688 **** by \cfunction{dlopen()} using the \function{sys.getdlopenflags()} and \function{sys.setdlopenflags()} functions. (Contributed by Bram Stolk.) ! \end{itemize} --- 712,716 ---- by \cfunction{dlopen()} using the \function{sys.getdlopenflags()} and \function{sys.setdlopenflags()} functions. (Contributed by Bram Stolk.) ! \end{itemize} |