[Python-checkins] python/dist/src/Misc developers.txt, NONE, 1.17.2.2 ACKS, 1.185.2.3, 1.185.2.4 NEWS, 1.436.2.2, 1.436.2.3 SpecialBuilds.txt, 1.15.4.2, 1.15.4.3 cheatsheet, 1.2.18.2, 1.2.18.3 gdbinit, 1.2.24.1, 1.2.24.2 python.man, 1.24.2.2, 1.24.2.3 valgrind-python.supp, 1.1.6.1, 1.1.6.2 vimrc, 1.4.4.1, 1.4.4.2

jhylton@users.sourceforge.net jhylton at users.sourceforge.net
Sun Oct 16 07:24:38 CEST 2005


Update of /cvsroot/python/python/dist/src/Misc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27718/Misc

Modified Files:
      Tag: ast-branch
	ACKS NEWS SpecialBuilds.txt cheatsheet gdbinit python.man 
	valgrind-python.supp vimrc 
Added Files:
      Tag: ast-branch
	developers.txt 
Log Message:
Merge head to branch (for the last time)


--- NEW FILE: developers.txt ---
Developer Log
=============

This file is a running log of developers given permissions on SourceForge.

The purpose is to provide some institutional memory of who was given access
and why.

The first entry starts in April 2005.  In keeping with the style of
Misc/NEWS, newer entries should be added to the top.  Any markup should
be in the form of ReST.  Entries should include the initials of the
project admin who made the change or granted access.  Feel free to revise
the format to accommodate documentation needs as they arise.



Permissions History
-------------------

- Added two new developers for the Summer of Code project. 8 July 2005
  by RDH.  Andrew Kuchling will be mentoring Gregory K Johnson for a
  project to enchance mailbox.  Brett Cannon requested access for Flovis
  Bruynooghe (sirolf) to work on pstats, profile, and hotshot.  Both users
  are expected to work primarily in nondist/sandbox and have their work
  reviewed before making updates to active code.

- Reinhold Birkenfeld was given SF tracker permissions on 28 May 2005
  by RDH.  Since the beginning of 2005, he has been active in discussions
  on python-dev and has submitted a dozen patch reviews.  The permissions
  add the ability to change tracker status and to attach patches.  On
  3 June 2005, this was expanded by RDH to include checkin permissions.

- Terry Reedy was given SF tracker permissions on 7 Apr 2005 by RDH.

- Nick Coghlan was given SF tracker permissions on 5 Apr 2005 by RDH.
  For several months, he has been active in reviewing and contributing
  patches.  The added permissions give him greater flexibility in
  working with the tracker.

- Eric Price was made a developer on 2 May 2003 by TGP.  This was
  specifically to work on the new ``decimal`` package, which lived in
  ``nondist/sandbox/decimal/`` at the time.

- Eric S. Raymond was made a developer on 2 Jul 2000 by TGP, for general
  library work.  His request is archived here:

      http://mail.python.org/pipermail/python-dev/2000-July/005314.html


Permissions Dropped on Request
------------------------------

- Johannes Gijsbers sent a drop request.  27 July 2005 RDH

- Flovis Bruynooghe sent a drop request.  14 July 2005 RDH

- Paul Prescod sent a drop request.  30 Apr 2005 RDH

- Finn Bock sent a drop request.  13 Apr 2005 RDH

- Eric Price sent a drop request.  10 Apr 2005 RDH

- Irmen de Jong requested dropping CVS access while keeping tracker
  access.  10 Apr 2005 RDH

- Moshe Zadka and Ken Manheimer sent drop requests.  8 Apr 2005 by RDH

- Steve Holden, Gerhard Haring, and David Cole sent email stating that
  they no longer use their access.   7 Apr 2005 RDH


Permissions Dropped after Loss of Contact
-----------------------------------------

- Several unsuccessful efforts were made to contact Charles G Waldman.
  Removed on 8 Apr 2005 by RDH.


Initials of Project Admins
--------------------------

RDH:  Raymond Hettinger
TGP:  Tim Peters

Index: ACKS
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/ACKS,v
retrieving revision 1.185.2.3
retrieving revision 1.185.2.4
diff -u -d -r1.185.2.3 -r1.185.2.4
--- ACKS	2 Apr 2005 19:00:34 -0000	1.185.2.3
+++ ACKS	16 Oct 2005 05:24:03 -0000	1.185.2.4
@@ -50,6 +50,7 @@
 Thomas Bellman
 Juan M. Bello Rivas
 Alexander Belopolsky
+Andrew Bennetts
 Andy Bensky
 Michel Van den Bergh
 Eric Beser
@@ -66,6 +67,7 @@
 Paul Boddie
 Matthew Boedicker
 David Bolen
+Gregory Bond
 Jurjen Bos
 Peter Bosch
 Eric Bouck
@@ -304,6 +306,7 @@
 Jiba
 Orjan Johansen
 Simon Johnston
+Evan Jones
 Richard Jones
 Irmen de Jong
 Lucas de Jonge
@@ -314,6 +317,7 @@
 Bob Kahn
 Kurt B. Kaiser
 Tamito Kajiyama
+Peter van Kampen
 Jacob Kaplan-Moss
 Lou Kates
 Sebastien Keim
@@ -400,6 +404,7 @@
 Mike Meyer
 Steven Miale
 Trent Mick
+Chad Miller
 Roman Milner
 Dom Mitchell
 Doug Moen
@@ -505,6 +510,7 @@
 Saskia van Rossum
 Donald Wallace Rouse II
 Liam Routt
+Paul Rubin
 Audun S. Runde
 Jeff Rush
 Sam Rushing
@@ -549,6 +555,7 @@
 Paul Sokolovsky
 Clay Spence
 Per Spilling
+Joshua Spoerri
 Noah Spurrier
 Oliver Steele
 Greg Stein

Index: NEWS
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/NEWS,v
retrieving revision 1.436.2.2
retrieving revision 1.436.2.3
diff -u -d -r1.436.2.2 -r1.436.2.3
--- NEWS	7 Jan 2005 07:02:45 -0000	1.436.2.2
+++ NEWS	16 Oct 2005 05:24:03 -0000	1.436.2.3
@@ -7,19 +7,238 @@
 What's New in Python 2.5 alpha 1?
 =================================
 
+*Release date: XX-XXX-2006*
+
 Core and builtins
 -----------------
 
+- SF Bug #976608: fix SystemError when mtime of an imported file is -1.
+
+- SF Bug #887946: fix segfault when redirecting stdin from a directory.
+  Provide a warning when a directory is passed on the command line.
+
+- Fix segfault with invalid coding.
+
+- SF bug #772896: unknown encoding results in MemoryError.
+
+- All iterators now have a Boolean value of true.  Formerly, some iterators
+  supported a __len__() method which evaluated to False when the iterator
+  was empty.
+
+- On 64-bit platforms, when __len__() returns a value that cannot be
+  represented as a C int, raise OverflowError.
+
+- test__locale is skipped on OS X < 10.4 (only partial locale support is
+  present).
+
+- SF bug #893549: parsing keyword arguments was broken with a few format
+  codes.
+
+- Changes donated by Elemental Security to make it work on AIX 5.3
+  with IBM's 64-bit compiler (SF patch #1284289).  This also closes SF
+  bug #105470: test_pwd fails on 64bit system (Opteron).
+
+- Changes donated by Elemental Security to make it work on HP-UX 11 on
+  Itanium2 with HP's 64-bit compiler (SF patch #1225212).
+
+- Disallow keyword arguments for type constructors that don't use them
+  (fixes bug #1119418).
+
+- Forward UnicodeDecodeError into SyntaxError for source encoding errors.
+
+- SF bug #900092: When tracing (e.g. for hotshot), restore 'return' events for
+  exceptions that cause a function to exit.
+
+- The implementation of set() and frozenset() was revised to use its
+  own internal data structure.  Memory consumption is reduced by 1/3
+  and there are modest speed-ups as well.  The API is unchanged.
+
+- SF bug #1238681:  freed pointer is used in longobject.c:long_pow().
+
+- SF bug #1229429: PyObject_CallMethod failed to decrement some
+  reference counts in some error exit cases.
+
+- SF bug #1185883:  Python's small-object memory allocator took over
+  a block managed by the platform C library whenever a realloc specified
+  a small new size.  However, there's no portable way to know then how
+  much of the address space following the pointer is valid, so no
+  portable way to copy data from the C-managed block into Python's
+  small-object space without risking a memory fault.  Python's small-object
+  realloc now leaves such blocks under the control of the platform C
+  realloc.
+
+- SF bug #1232517: An overflow error was not detected properly when
+  attempting to convert a large float to an int in os.utime().
+
+- SF bug #1224347: hex longs now print with lowercase letters just
+  like their int counterparts.
+
+- SF bug #1163563: the original fix for bug #1010677 ("thread Module
+  Breaks PyGILState_Ensure()") broke badly in the case of multiple
+  interpreter states; back out that fix and do a better job (see
+  http://mail.python.org/pipermail/python-dev/2005-June/054258.html
+  for a longer write-up of the problem).
+
+- SF patch #1180995: marshal now uses a binary format by default when
+  serializing floats.
+
+- SF patch #1181301: on platforms that appear to use IEEE 754 floats,
+  the routines that promise to produce IEEE 754 binary representations
+  of floats now simply copy bytes around.
+
+- bug #967182: disallow opening files with 'wU' or 'aU' as specified by PEP
+  278.
+
+- patch #1109424: int, long, float, complex, and unicode now check for the
+  proper magic slot for type conversions when subclassed.  Previously the
+  magic slot was ignored during conversion.  Semantics now match the way
+  subclasses of str always behaved.  int/long/float, conversion of an instance
+  to the base class has been moved to the proper nb_* magic slot and out of
+  PyNumber_*().
+  Thanks Walter Dörwald.
+
+- Descriptors defined in C with a PyGetSetDef structure, where the setter is
+  NULL, now raise an AttributeError when attempting to set or delete the
+  attribute.  Previously a TypeError was raised, but this was inconsistent
+  with the equivalent pure-Python implementation.
+
+- It is now safe to call PyGILState_Release() before
+  PyEval_InitThreads() (note that if there is reason to believe there
+  are multiple threads around you still must call PyEval_InitThreads()
+  before using the Python API; this fix is for extension modules that
+  have no way of knowing if Python is multi-threaded yet).
+
+- Typing Ctrl-C whilst raw_input() was waiting in a build with threads
+  disabled caused a crash.
+
+- Bug #1165306: instancemethod_new allowed the creation of a method
+  with im_class == im_self == NULL, which caused a crash when called.
+
+- Move exception finalisation later in the shutdown process - this
+  fixes the crash seen in bug #1165761
+
+- Added two new builtins, any() and all().
+
+- Defining a class with empty parentheses is now allowed
+  (e.g., ``class C(): pass`` is no longer a syntax error).
+  Patch #1176012 added support to the 'parser' module and 'compiler' package
+  (thanks to logistix for that added support).
+
+- Patch #1115086: Support PY_LONGLONG in structmember.
+
+- Bug #1155938: new style classes did not check that __init__() was
+  returning None.
+
+- Patch #802188: Report characters after line continuation character
+  ('\') with a specific error message.
+
+- Bug #723201: Raise a TypeError for passing bad objects to 'L' format.
+
+- Bug #1124295: the __name__ attribute of file objects was
+  inadvertently made inaccessible in restricted mode.
+
+- Bug #1074011: closing sys.std{out,err} now causes a flush() and
+  an ferror() call.
+
 - min() and max() now support key= arguments with the same meaning as in
   list.sort().
 
 - The peephole optimizer now performs simple constant folding in expressions:
       (2+3) --> (5).
 
+- set and frozenset objects can now be marshalled.  SF #1098985.
+
+- Bug #1077106: Poor argument checking could cause memory corruption
+  in calls to os.read().
+
+- The parser did not complain about future statements in illegal
+  positions.  It once again reports a syntax error if a future
+  statement occurs after anything other than a doc string.
+
+- Change the %s format specifier for str objects so that it returns a
+  unicode instance if the argument is not an instance of basestring and
+  calling __str__ on the argument returns a unicode instance.
 
 Extension Modules
 -----------------
 
+- Patch #1309009, Fix segfault in pyexpat when the XML document is in latin_1,
+  but Python incorrectly assumes it is in UTF-8 format
+
+- Fix parse errors in the readline module when compiling without threads.
+
+- Patch #1288833: Removed thread lock from socket.getaddrinfo on
+  FreeBSD 5.3 and later versions which got thread-safe getaddrinfo(3).
+
+- Patches #1298449 and #1298499: Add some missing checks for error
+  returns in cStringIO.c.
+
+- Patch #1297028: fix segfault if call type on MultibyteCodec,
+  MultibyteStreamReader, or MultibyteStreamWriter
+
+- Fix memory leak in posix.access().
+
+- Patch #1213831: Fix typo in unicodedata._getcode.
+
+- Bug #1007046: os.startfile() did not accept unicode strings encoded in
+  the file system encoding.
+
+- Patch #756021: Special-case socket.inet_aton('255.255.255.255') for
+  platforms that don't have inet_aton().
+
+- Bug #1215928: Fix bz2.BZ2File.seek() for 64-bit file offsets.
+
+- Bug #1191043: Fix bz2.BZ2File.(x)readlines for files containing one
+  line without newlines.
+
+- Bug #728515: mmap.resize() now resizes the file on Unix as it did
+  on Windows.
+
+- Patch #1180695: Add nanosecond stat resolution, and st_gen,
+  st_birthtime for FreeBSD.
+
+- Patch #1231069: The fcntl.ioctl function now uses the 'I' code for
+  the request code argument, which results in more C-like behaviour
+  for large or negative values.
+
+- Bug #1234979: For the argument of thread.Lock.acquire, the Windows
+  implementation treated all integer values except 1 as false.
+
+- Bug #1194181: bz2.BZ2File didn't handle mode 'U' correctly.
+
+- Patch #1212117: os.stat().st_flags is now accessible as a attribute
+  if available on the platform.
+
+- Patch #1103951: Expose O_SHLOCK and O_EXLOCK in the posix module if
+  available on the platform.
+
+- Bug #1166660: The readline module could segfault if hook functions
+  were set in a different thread than that which called readline.
+
+- collections.deque objects now support a remove() method.
+
+- operator.itemgetter() and operator.attrgetter() now support retrieving
+  multiple fields.  This provides direct support for sorting on multiple
+  keys (primary, secondary, etc).
+
+- os.access now supports Unicode path names on non-Win32 systems.
+
+- Patches #925152, #1118602: Avoid reading after the end of the buffer
+  in pyexpat.GetInputContext.
+
+- Patches #749830, #1144555: allow UNIX mmap size to default to current
+  file size.
+
+- Added functional.partial().  See PEP309.
+
+- Patch #1093585: raise a ValueError for negative history items in readline.
+  {remove_history,replace_history}
+
+- The spwd module has been added, allowing access to the shadow password
+  database.
+
+- stat_float_times is now True.
+
 - array.array objects are now picklable.
 
 - the cPickle module no longer accepts the deprecated None option in the
@@ -29,17 +248,219 @@
   This allows islice() to work more readily with slices:
       islice(s.start, s.stop, s.step)
 
+- datetime.datetime() now has a strptime class method which can be used to
+  create datetime object using a string and format.
 
 Library
 -------
 
+- Patch #754022: Greatly enhanced webbrowser.py (by Oleg Broytmann).
+
+- Bug #729103: pydoc.py: Fix docother() method to accept additional
+  "parent" argument.
+
+- Patch #1300515: xdrlib.py: Fix pack_fstring() to really use null bytes
+  for padding.
+
+- Bug #1296004: httplib.py: Limit maximal amount of data read from the
+  socket to avoid a MemoryError on Windows.
+
+- Patch #1166948: locale.py: Prefer LC_ALL, LC_CTYPE and LANG over LANGUAGE
+  to get the correct encoding.
+
+- Patch #1166938: locale.py: Parse LANGUAGE as a colon separated list of
+  languages.
+
+- Patch #1268314: Cache lines in StreamReader.readlines for performance.
+
+- Bug #1290505: Fix clearing the regex cache for time.strptime().
+
+- Bug #1167128: Fix size of a symlink in a tarfile to be 0.
+
+- Patch #810023: Fix off-by-one bug in urllib.urlretrieve reporthook
+  functionality.
+
+- Bug #1163178: Make IDNA return an empty string when the input is empty.
+
+- Patch #848017: Make Cookie more RFC-compliant. Use CRLF as default output
+  separator and do not output trailing semicola.
+
+- Patch #1062060: urllib.urlretrieve() now raises a new exception, named
+  ContentTooShortException, when the actually downloaded size does not
+  match the Content-Length header.
+
+- Bug #1121494: distutils.dir_utils.mkpath now accepts Unicode strings.
+
+- Bug #1178484: Return complete lines from codec stream readers
+  even if there is an exception in later lines, resulting in
+  correct line numbers for decoding errors in source code.
+
+- Bug #1192315: Disallow negative arguments to clear() in pdb.
+
+- Patch #827386: Support absolute source paths in msvccompiler.py.
+
+- Patch #1105730: Apply the new implementation of commonprefix in posixpath
+  to ntpath, macpath, os2emxpath and riscospath.
+
+- Fix a problem in Tkinter introduced by SF patch #869468: delete bogus
+  __hasattr__ and __delattr__ methods on class Tk that were breaking
+  Tkdnd.
+
+- Bug #1015140: disambiguated the term "article id" in nntplib docs and
+  docstrings to either "article number" or "message id".
+
+- Bug #1238170: threading.Thread.__init__ no longer has "kwargs={}" as a
+  parameter, but uses the usual "kwargs=None".
+
+- textwrap now processes text chunks at O(n) speed instead of O(n**2).
+  Patch #1209527 (Contributed by Connelly).
+
+- urllib2 has now an attribute 'httpresponses' mapping from HTTP status code
+  to W3C name (404 -> 'Not Found'). RFE #1216944.
+
+- Bug #1177468: Don't cache the /dev/urandom file descriptor for os.urandom,
+  as this can cause problems with apps closing all file descriptors.
+
+- Bug #839151: Fix an attempt to access sys.argv in the warnings module
+  it can be missing in embedded interpreters
+
+- Bug #1155638: Fix a bug which affected HTTP 0.9 responses in httplib.
+
+- Bug #1100201: Cross-site scripting was possible on BaseHTTPServer via
+  error messages.
+
+- Bug #1108948: Cookie.py produced invalid JavaScript code.
+
+- The tokenize module now detects and reports indentation errors.
+  Bug #1224621.
+
+- The tokenize module has a new untokenize() function to support a full
+  roundtrip from lexed tokens back to Python sourcecode.  In addition,
+  the generate_tokens() function now accepts a callable argument that
+  terminates by raising StopIteration.
+
+- Bug #1196315: fix weakref.WeakValueDictionary constructor.
+
+- Bug #1213894: os.path.realpath didn't resolve symlinks that were the first
+  component of the path.
+
+- Patch #1120353: The xmlrpclib module provides better, more transparent,
+  support for datetime.{datetime,date,time} objects.  With use_datetime set
+  to True, applications shouldn't have to fiddle with the DateTime wrapper
+  class at all.
+
+- distutils.commands.upload was added to support uploading distribution
+  files to PyPI.
+
+- distutils.commands.register now encodes the data as UTF-8 before posting
+  them to PyPI.
+
+- decimal operator and comparison methods now return NotImplemented
+  instead of raising a TypeError when interacting with other types.  This
+  allows other classes to implement __radd__ style methods and have them
+  work as expected.
+
+- Bug #1163325:  Decimal infinities failed to hash.  Attempting to
+  hash a NaN raised an InvalidOperation instead of a TypeError.
+
+- Patch #918101: Add tarfile open mode r|* for auto-detection of the
+  stream compression; add, for symmetry reasons, r:* as a synonym of r.
+
+- Patch #1043890: Add extractall method to tarfile.
+
+- Patch #1075887: Don't require MSVC in distutils if there is nothing
+  to build.
+
+- Patch #1103407: Properly deal with tarfile iterators when untarring
+  symbolic links on Windows.
+
+- Patch #645894: Use getrusage for computing the time consumption in
+  profile.py if available.
+
+- Patch #1046831: Use get_python_version where appropriate in sysconfig.py.
+
+- Patch #1117454: Remove code to special-case cookies without values
+  in LWPCookieJar.
+
+- Patch #1117339: Add cookielib special name tests.
+
+- Patch #1112812: Make bsddb/__init__.py more friendly for modulefinder.
+
+- Patch #1110248: SYNC_FLUSH the zlib buffer for GZipFile.flush.
+
+- Patch #1107973: Allow to iterate over the lines of a tarfile.ExFileObject.
+
+- Patch #1104111: Alter setup.py --help and --help-commands.
+
+- Patch #1121234: Properly cleanup _exit and tkerror commands.
+
+- Patch #1049151: xdrlib now unpacks booleans as True or False.
+
+- Fixed bug in a NameError bug in cookielib.  Patch #1116583.
+
+- Applied a security fix to SimpleXMLRPCserver (PSF-2005-001).  This
+  disables recursive traversal through instance attributes, which can
+  be exploited in various ways.
+
+- Bug #1110478: Revert os.environ.update to do putenv again.
+
+- Bug #1103844: fix distutils.install.dump_dirs() with negated options.
+
+- os.{SEEK_SET, SEEK_CUR, SEEK_END} have been added for convenience.
+
+- Enhancements to the csv module:
+
+  + Dialects are now validated by the underlying C code, better
+    reflecting its capabilities, and improving its compliance with
+    PEP 305.
+  + Dialect parameter parsing has been re-implemented to improve error
+    reporting.
+  + quotechar=None and quoting=QUOTE_NONE now work the way PEP 305
+    dictates.
+  + the parser now removes the escapechar prefix from escaped characters.
+  + when quoting=QUOTE_NONNUMERIC, the writer now tests for numeric
+    types, rather than any object than can be represented as a numeric.
+  + when quoting=QUOTE_NONNUMERIC, the reader now casts unquoted fields
+    to floats.
+  + reader now allows \r characters to be quoted (previously it only allowed
+    \n to be quoted).
+  + writer doublequote handling improved.
+  + Dialect classes passed to the module are no longer instantiated by
+    the module before being parsed (the former validation scheme required
+    this, but the mechanism was unreliable).
+  + The dialect registry now contains instances of the internal
+    C-coded dialect type, rather than references to python objects.
+  + the internal c-coded dialect type is now immutable.
+  + register_dialect now accepts the same keyword dialect specifications
+    as the reader and writer, allowing the user to register dialects
+    without first creating a dialect class.
+  + a configurable limit to the size of parsed fields has been added -
+    previously, an unmatched quote character could result in the entire
+    file being read into the field buffer before an error was reported.
+  + A new module method csv.field_size_limit() has been added that sets
+    the parser field size limit (returning the former limit). The initial
+    limit is 128kB.
+  + A line_num attribute has been added to the reader object, which tracks
+    the number of lines read from the source iterator. This is not
+    the same as the number of records returned, as records can span
+    multiple lines.
+  + reader and writer objects were not being registered with the cyclic-GC.
+    This has been fixed.
+
+- _DummyThread objects in the threading module now delete self.__block that is
+  inherited from _Thread since it uses up a lock allocated by 'thread'.  The
+  lock primitives tend to be limited in number and thus should not be wasted on
+  a _DummyThread object.  Fixes bug #1089632.
+
+- The imghdr module now detects Exif files.
+
 - StringIO.truncate() now correctly adjusts the size attribute.
   (Bug #951915).
 
 - locale.py now uses an updated locale alias table (built using
   Tools/i18n/makelocalealias.py, a tool to parse the X11 locale
   alias file); the encoding lookup was enhanced to use Python's
-  encoding alias table
+  encoding alias table.
 
 - moved deprecated modules to Lib/lib-old:  whrandom, tzparse, statcache.
 
@@ -70,10 +491,58 @@
 - Bug #1083110: ``zlib.decompress.flush()`` would segfault if called immediately
   after creating the object, without any intervening ``.decompress()`` calls.
 
+- The reconvert.quote function can now emit triple-quoted strings.  The
+  reconvert module now has some simple documentation.
+
+- ``UserString.MutableString`` now supports negative indices in
+  ``__setitem__`` and ``__delitem__``
+
+- Bug #1149508: ``textwrap`` now handles hyphenated numbers (eg. "2004-03-05")
+  correctly.
+
+- Partial fixes for SF bugs #1163244 and #1175396: If a chunk read by
+  ``codecs.StreamReader.readline()`` has a trailing "\r", read one more
+  character even if the user has passed a size parameter to get a proper
+  line ending. Remove the special handling of a "\r\n" that has been split
+  between two lines.
+
+- Bug #1251300: On UCS-4 builds the "unicode-internal" codec will now complain
+  about illegal code points. The codec now supports PEP 293 style error
+  handlers.
+
+- Bug #1235646: ``codecs.StreamRecoder.next()`` now reencodes the data it reads
+  from the input stream, so that the output is a byte string in the correct
+  encoding instead of a unicode string.
+
+- Bug #1202493: Fixing SRE parser to handle '{}' as perl does, rather than
+  considering it exactly like a '*'.
+
+- Bug #1245379: Add "unicode-1-1-utf-7" as an alias for "utf-7" to
+  ``encodings.aliases``.
 
 Build
 -----
 
+- Bug #1189330: configure did not correctly determine the necessary
+  value of LINKCC if python was built with GCC 4.0.
+
+- Upgrade Windows build to zlib 1.2.3 which eliminates a potential security
+  vulnerability in zlib 1.2.1 and 1.2.2.
+
+- EXTRA_CFLAGS has been introduced as an environment variable to hold compiler
+  flags that change binary compatibility.  Changes were also made to
+  distutils.sysconfig to also use the environment variable when used during
+  compilation of the interpreter and of C extensions through distutils.
+
+- SF patch 1171735: Darwin 8's headers are anal about POSIX compliance,
+  and linking has changed (prebinding is now deprecated, and libcc_dynamic
+  no longer exists). This configure patch makes things right.
+
+- Bug #1158607: Build with --disable-unicode again.
+
+- spwdmodule.c is built only if either HAVE_GETSPNAM or HAVE_HAVE_GETSPENT is
+  defined.  Discovered as a result of not being able to build on OS X.
+
 - setup.py now uses the directories specified in LDFLAGS using the -L option
   and in CPPFLAGS using the -I option for adding library and include
   directories, respectively, for compiling extension modules against.  This has
@@ -83,25 +552,80 @@
   ``-L/opt/local/lib`` for DarwinPorts) and CPPFLAGS (``-I/sw/include`` for
   Fink, ``-I/opt/local/include`` for DarwinPorts).
 
+- Test in configure.in that checks for tzset no longer dependent on tm->tm_zone
+  to exist in the struct (not required by either ISO C nor the UNIX 2 spec).
+  Tests for sanity in tzname when HAVE_TZNAME defined were also defined.
+  Closes bug #1096244.  Thanks Gregory Bond.
+
 
 C API
 -----
 
+- Added a C API for set and frozenset objects.
+
 - Removed PyRange_New().
 
+- Patch #1313939: PyUnicode_DecodeCharmap() accepts a unicode string as the
+  mapping argument now. This string is used as a mapping table. Byte values
+  greater than the length of the string and 0xFFFE are treated as undefined
+  mappings.
+
 
 Tests
 -----
 
+- In test_os, st_?time is now truncated before comparing it with ST_?TIME.
+
+
+Documentation
+-------------
+
+- Bug #1274828: Document os.path.splitunc().
+
+- Bug #1190204: Clarify which directories are searched by site.py.
+
+- Bug #1193849: Clarify os.path.expanduser() documentation.
+
+- Bug #1243192: re.UNICODE and re.LOCALE affect \d, \D, \s and \S.
+
+- Bug #755617: Document the effects of os.chown() on Windows.
+
+- Patch #1180012: The documentation for modulefinder is now in the library reference.
+
+- Patch #1213031: Document that os.chown() accepts argument values of -1.
+
+- Bug #1190563: Document os.waitpid() return value with WNOHANG flag.
+
+- Bug #1175022: Correct the example code for property().
+
+- Document the IterableUserDict class in the UserDict module.
+  Closes bug #1166582.
+
+- Remove all latent references for "Macintosh" that referred to semantics for
+  Mac OS 9 and change to reflect the state for OS X.
+  Closes patch #1095802.  Thanks Jack Jansen.
 
 Mac
 ---
 
 
+New platforms
+-------------
+
+- FreeBSD 7 support is added.
+
 
 Tools/Demos
 -----------
 
+- Added two new files to Tools/scripts: pysource.py, which recursively
+  finds Python source files, and findnocoding.py, which finds Python
+  source files that need an encoding declaration.
+  Patch #784089, credits to Oleg Broytmann.
+
+- Bug #1072853: pindent.py used an uninitialized variable.
+
+- Patch #1177597: Correct Complex.__init__.
 
 
 What's New in Python 2.4 final?
@@ -557,7 +1081,7 @@
 - The decimal package's Context.copy() method now returns deep copies.
 
 - Deprecated sys.exitfunc in favor of the atexit module.  The sys.exitfunc
-  attribute will be kept around for backwards compatability and atexit
+  attribute will be kept around for backwards compatibility and atexit
   will just become the one preferred way to do it.
 
 - patch #675551: Add get_history_item and replace_history_item functions
@@ -1024,7 +1548,7 @@
 
 - Optimized list resize operations to make fewer calls to the system
   realloc().  Significantly speeds up list appends, list pops,
-  list comprehensions, and the list contructor (when the input iterable
+  list comprehensions, and the list constructor (when the input iterable
   length is not known).
 
 - Changed the internal list over-allocation scheme.  For larger lists,
@@ -1303,6 +1827,8 @@
 Library
 -------
 
+- Bug #1266283: The new function "lexists" is now in os.path.__all__.
+
 - Bug #981530: Fix UnboundLocalError in shutil.rmtree().  This affects
   the documented behavior: the function passed to the onerror()
   handler can now also be os.listdir.

Index: SpecialBuilds.txt
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/SpecialBuilds.txt,v
retrieving revision 1.15.4.2
retrieving revision 1.15.4.3
diff -u -d -r1.15.4.2 -r1.15.4.3
--- SpecialBuilds.txt	7 Jan 2005 07:02:48 -0000	1.15.4.2
+++ SpecialBuilds.txt	16 Oct 2005 05:24:03 -0000	1.15.4.3
@@ -1,6 +1,9 @@
 This file describes some special Python build types enabled via
 compile-time preprocessor defines.
 
+It is best to define these options in the EXTRA_FLAGS environment variable;
+``EXTRA_CFLAGS="-DPy_REF_DEBUG" ./configure``.
+
 ---------------------------------------------------------------------------
 Py_REF_DEBUG                                              introduced in 1.4
                                                  named REF_DEBUG before 1.4
@@ -207,14 +210,14 @@
 ---------------------------------------------------------------------------
 LLTRACE                                          introduced well before 1.0
 
-Compile in support of Low Level TRACE-ing of the main interpreter loop.
+Compile in support for Low Level TRACE-ing of the main interpreter loop.
 
-When this preprocessor symbol is defined, before eval_frame
-(eval_code2 before 2.2) executes a frame's code it checks the frame's
-global namespace for a variable "__lltrace__".  If such a variable is
-found, mounds of information about what the interpreter is doing are
-sprayed to stdout, such as every opcode and opcode argument and values
-pushed onto and popped off the value stack.
+When this preprocessor symbol is defined, before PyEval_EvalFrame
+(eval_frame in 2.3 and 2.2, eval_code2 before that) executes a frame's code
+it checks the frame's global namespace for a variable "__lltrace__".  If
+such a variable is found, mounds of information about what the interpreter
+is doing are sprayed to stdout, such as every opcode and opcode argument
+and values pushed onto and popped off the value stack.
 
 Not useful very often, but very useful when needed.
 
@@ -245,8 +248,8 @@
 
 On the PowerPC the rate at which the time base register is incremented
 is not defined by the architecture specification, so you'll need to
-find the manual for your specific processor.  For the 750CX, 750CXe,
-750FX (all sold as the G3) we find:
+find the manual for your specific processor.  For the 750CX, 750CXe
+and 750FX (all sold as the G3) we find:
 
     The time base counter is clocked at a frequency that is 
     one-fourth that of the bus clock.

Index: cheatsheet
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/cheatsheet,v
retrieving revision 1.2.18.2
retrieving revision 1.2.18.3
diff -u -d -r1.2.18.2 -r1.2.18.3
--- cheatsheet	7 Jan 2005 07:02:48 -0000	1.2.18.2
+++ cheatsheet	16 Oct 2005 05:24:03 -0000	1.2.18.3
@@ -209,7 +209,7 @@
         +x, -x, ~x                        Unary operators
         x**y                              Power
         x*y  x/y  x%y x//y                mult, division, modulo, floor division
-        x+y  x-y                          addition, substraction
+        x+y  x-y                          addition, subtraction
         x<<y   x>>y                       Bit shifting
         x&y                               Bitwise and
         x^y                               Bitwise exclusive or

Index: gdbinit
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/gdbinit,v
retrieving revision 1.2.24.1
retrieving revision 1.2.24.2
diff -u -d -r1.2.24.1 -r1.2.24.2
--- gdbinit	7 Jan 2005 07:02:48 -0000	1.2.24.1
+++ gdbinit	16 Oct 2005 05:24:03 -0000	1.2.24.2
@@ -43,6 +43,29 @@
     end
 end
 
+# A rewrite of the Python interpreter's line number calculator in GDB's
+# command language
+define lineno
+    set $__continue = 1
+    set $__co = f->f_code
+    set $__lasti = f->f_lasti
+    set $__sz = ((PyStringObject *)$__co->co_lnotab)->ob_size/2
+    set $__p = (unsigned char *)((PyStringObject *)$__co->co_lnotab)->ob_sval
+    set $__li = $__co->co_firstlineno
+    set $__ad = 0
+    while ($__sz-1 >= 0 && $__continue)
+      set $__sz = $__sz - 1
+      set $__ad = $__ad + *$__p
+      set $__p = $__p + 1
+      if ($__ad > $__lasti)
+	set $__continue = 0
+      end
+      set $__li = $__li + *$__p
+      set $__p = $__p + 1
+    end
+    printf "%d", $__li
+end
+
 # print the current frame - verbose
 define pyframev
     pyframe
@@ -52,7 +75,35 @@
 define pyframe
     set $__fn = (char *)((PyStringObject *)co->co_filename)->ob_sval
     set $__n = (char *)((PyStringObject *)co->co_name)->ob_sval
-    printf "%s (%d): %s\n",  $__fn, f->f_lineno, $__n
+    printf "%s (", $__fn
+    lineno
+    printf "): %s\n", $__n
+### Uncomment these lines when using from within Emacs/XEmacs so it will
+### automatically track/display the current Python source line
+#    printf "%c%c%s:", 032, 032, $__fn
+#    lineno
+#    printf ":1\n"
+end
+
+### Use these at your own risk.  It appears that a bug in gdb causes it
+### to crash in certain circumstances.
+
+#define up
+#    up-silently 1
+#    printframe
+#end
+
+#define down
+#    down-silently 1
+#    printframe
+#end
+
+define printframe
+    if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
+	pyframe
+    else
+        frame
+    end
 end
 
 # Here's a somewhat fragile way to print the entire Python stack from gdb.
@@ -64,7 +115,7 @@
 # interpreter, but the test can be extended by an interested party).  If
 # Py_Main <= $pc <= Py_GetArgcArv is true, $pc is in Py_Main(), so the while
 # tests succeeds as long as it's not true.  In a similar fashion the if
-# statement tests to see if we are in eval_frame().
+# statement tests to see if we are in PyEval_EvalFrame().
 
 # print the entire Python call stack
 define pystack

Index: python.man
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/python.man,v
retrieving revision 1.24.2.2
retrieving revision 1.24.2.3
diff -u -d -r1.24.2.2 -r1.24.2.3
--- python.man	7 Jan 2005 07:02:50 -0000	1.24.2.2
+++ python.man	16 Oct 2005 05:24:03 -0000	1.24.2.3
@@ -253,7 +253,7 @@
 .I command
 may contain multiple statements separated by newlines.
 Leading whitespace is significant in Python statements!
-In non-interactive mode, the entire input is parsed befored it is
+In non-interactive mode, the entire input is parsed before it is
 executed.
 .PP
 If available, the script name and additional arguments thereafter are
@@ -330,7 +330,7 @@
 Augments the default search path for module files.
 The format is the same as the shell's $PATH: one or more directory
 pathnames separated by colons.
-Non-existant directories are silently ignored.
+Non-existent directories are silently ignored.
 The default search path is installation dependent, but generally
 begins with ${prefix}/lib/python<version> (see PYTHONHOME above).
 The default search path is always appended to $PYTHONPATH.

Index: valgrind-python.supp
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/valgrind-python.supp,v
retrieving revision 1.1.6.1
retrieving revision 1.1.6.2
diff -u -d -r1.1.6.1 -r1.1.6.2
--- valgrind-python.supp	7 Jan 2005 07:02:50 -0000	1.1.6.1
+++ valgrind-python.supp	16 Oct 2005 05:24:03 -0000	1.1.6.2
@@ -29,6 +29,12 @@
 }
 
 {
+   ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64)
+   Memcheck:Value8
+   fun:Py_ADDRESS_IN_RANGE
+}
+
+{
    ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
    Memcheck:Cond
    fun:Py_ADDRESS_IN_RANGE
@@ -84,6 +90,118 @@
 
 }
 
+{
+   Avoid problem in libc on gentoo
+   Memcheck:Cond
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+}
+
+{
+   Avoid problem in glibc on gentoo
+   Memcheck:Addr8
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libc-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   fun:_dl_open
+   obj:/lib/libdl-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libdl-2.3.4.so
+   fun:dlopen
+}
+
+{
+   Avoid problem in glibc on gentoo
+   Memcheck:Addr8
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libc-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   fun:_dl_open
+   obj:/lib/libdl-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libdl-2.3.4.so
+   fun:dlopen
+}
+
+{
+   Avoid problem in glibc on gentoo
+   Memcheck:Cond
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libc-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   fun:_dl_open
+   obj:/lib/libdl-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libdl-2.3.4.so
+   fun:dlopen
+}
+
+{
+   Avoid problem in glibc on gentoo
+   Memcheck:Cond
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libc-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   fun:_dl_open
+   obj:/lib/libdl-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/libdl-2.3.4.so
+   fun:dlopen
+}
+
+{
+   Avoid problems w/readline doing a putenv and leaking on exit
+   Memcheck:Leak
+   fun:malloc
+   fun:xmalloc
+   fun:sh_set_lines_and_columns
+   fun:_rl_get_screen_size
+   fun:_rl_init_terminal_io
+   obj:/lib/libreadline.so.4.3
+   fun:rl_initialize
+   fun:setup_readline
+   fun:initreadline
+   fun:_PyImport_LoadDynamicModule
+   fun:load_module
+   fun:import_submodule
+   fun:load_next
+   fun:import_module_ex
+   fun:PyImport_ImportModuleEx
+}
+
+{
+   Mysterious leak that seems to deal w/pthreads
+   Memcheck:Leak
+   fun:calloc
+   obj:/lib/ld-2.3.4.so
+   obj:/lib/ld-2.3.4.so
+   fun:_dl_allocate_tls
+   fun:__pthread_initialize_minimal
+}
+
+{
+   Mysterious leak that seems to deal w/pthreads
+   Memcheck:Leak
+   fun:memalign
+   obj:/lib/ld-2.3.4.so
+   fun:_dl_allocate_tls
+   fun:__pthread_initialize_minimal
+}
+
 ###
 ### These occur from somewhere within the SSL, when running
 ###  test_socket_sll.  They are too general to leave on by default.

Index: vimrc
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/vimrc,v
retrieving revision 1.4.4.1
retrieving revision 1.4.4.2
diff -u -d -r1.4.4.1 -r1.4.4.2
--- vimrc	7 Jan 2005 07:02:50 -0000	1.4.4.1
+++ vimrc	16 Oct 2005 05:24:03 -0000	1.4.4.2
@@ -9,12 +9,11 @@
 "
 " All setting are protected by 'au' ('autocmd') statements.  Only files ending
 " in .py or .pyw will trigger the Python settings while files ending in *.c or
-" *.h will trigger the C settings.  This make the file "safe" in terms of only
+" *.h will trigger the C settings.  This makes the file "safe" in terms of only
 " adjusting settings for Python and C files.
 "
 " Only basic settings needed to enforce the style guidelines are set.
 " Some suggested options are listed but commented out at the end of this file.
-"
 
 
 " Number of spaces to use for an indent.
@@ -39,6 +38,12 @@
 au BufRead,BufNewFile *.c,*.h set noexpandtab
 au BufRead,BufNewFile Makefile* set noexpandtab
 
+" Use the below highlight group when displaying bad whitespace is desired
+highlight BadWhitespace ctermbg=red guibg=red
+
+" Display tabs at the beginning of a line in Python mode as bad
+au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
+
 " Wrap text after a certain number of characters
 " Python: 79 
 " C: 79
@@ -67,7 +72,7 @@
 
 " Set the default file encoding to UTF-8: ``set encoding=utf-8``
 
-" Put a marker at the beginning of the file to differentiate between UTF and
+" Puts a marker at the beginning of the file to differentiate between UTF and
 " UCS encoding (WARNING: can trick shells into thinking a text file is actually
 " a binary file when executing the text file): ``set bomb``
 
@@ -75,13 +80,16 @@
 "``let python_highlight_all=1``
 "``syntax on``
 
-" Automatically indent: ``filetype indent on``
+" Automatically indent based on file type: ``filetype indent on``
+" Keep indentation level from previous line: ``set autoindent``
 
 " Folding based on indentation: ``set foldmethod=indent``
 
-" Make trailing whitespace explicit:
-"highlight WhitespaceEOL ctermbg=red guibg=red 
-"match WhitespaceEOL /\s\+$/
-" or
-"set list listchars=trail:-
+" Make trailing whitespace explicit (left off since this will automatically
+" insert the highlight or characters *as you type*, which can get annoying):
+"``match BadWhitespace /\s\+$/``
+"
+" or, for a non-colored, character-based solution:
+"
+"``set list listchars=trail:-``
 



More information about the Python-checkins mailing list