Commits

Anonymous committed 85a34a3

Merged revisions 87938-87943,87946-87949,87952-87954,87957-87958,87960,87966,87968-87969,87971-87975,87978,87980-87984,87986,87988-87991,87993,87996-88001,88003-88009,88011-88018,88021-88022,88026,88028,88032-88033,88035-88036,88040-88044,88047-88058,88063,88066,88069,88072-88080,88083-88085,88092-88094,88097,88100-88109,88111,88114-88115,88117-88122,88125-88131,88134-88137,88139-88147,88149-88166,88170-88172,88174,88176,88178-88188,88191,88196-88201,88203-88204,88207,88209-88215,88220-88223,88226,88228,88230-88232,88234-88236,88239-88240,88244-88247,88251-88252,88256,88258-88259,88261,88263-88266,88271-88276,88280-88281,88284,88299,88301-88302,88322,88329-88334,88337,88340-88352,88355-88371,88374-88375,88377,88381-88389,88394-88396,88399-88403,88407,88411-88413,88420-88421,88423-88424,88426,88430-88432,88434-88435,88438-88445,88447-88449,88451,88456,88459-88460,88463-88467,88470,88474-88476,88478,88480-88481,88484,88486,88490-88494,88496,88498,88500-88501,88503,88505-88507,88511-88513,88515-88517,88519-88521,88523-88525,88527-88528,88530,88533-88534,88538-88541,88545-88546,88550,88552-88554,88558,88567,88574-88581,88584-88589,88602-88604,88607-88610,88613,88616,88618-88622,88624-88633,88636,88639-88640,88643-88647,88650,88652-88654,88656,88658,88660,88663-88664,88668,88671,88679-88680,88682-88686,88691,88696-88697,88699-88700,88702-88712,88717,88719-88722,88724,88726,88729-88730,88733-88735,88740,88742,88744-88747 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
r87938 | raymond.hettinger | 2011-01-11 20:59:46 +0100 (Tue, 11 Jan 2011) | 1 line

Add entry for Barrier objects.
................
r87939 | raymond.hettinger | 2011-01-11 21:51:45 +0100 (Tue, 11 Jan 2011) | 2 lines

Clean-up threading.Barrier example.
................
r87940 | raymond.hettinger | 2011-01-11 22:13:26 +0100 (Tue, 11 Jan 2011) | 2 lines

Update the datetime and time section.
................
r87941 | raymond.hettinger | 2011-01-11 22:20:20 +0100 (Tue, 11 Jan 2011) | 1 line

Update the email section
................
r87942 | alexander.belopolsky | 2011-01-11 22:44:00 +0100 (Tue, 11 Jan 2011) | 3 lines

Issue #5109: array.array constructor will now use fast code when
initial data is provided in an array object with correct type.
................
r87943 | raymond.hettinger | 2011-01-11 23:08:55 +0100 (Tue, 11 Jan 2011) | 2 lines

Add comment.
................
r87946 | terry.reedy | 2011-01-12 00:05:50 +0100 (Wed, 12 Jan 2011) | 3 lines

Issue #10225: Correct interactive Doc/howto/sorting.rst examples so doctest runs.
Based on part of A. Belopolsky's patch.
................
r87947 | raymond.hettinger | 2011-01-12 02:16:57 +0100 (Wed, 12 Jan 2011) | 5 lines

Revert r87946. The virtues of readability and of examples that
can be cut and pasted are more important than having a doctests
on examples that already work.
................
r87948 | nick.coghlan | 2011-01-12 04:15:52 +0100 (Wed, 12 Jan 2011) | 1 line

Issue 10889: Support slicing and indexing of large ranges (no docs changes, since, as far as I know, we never said anywhere that this *didn't* work)
................
r87949 | benjamin.peterson | 2011-01-12 05:44:41 +0100 (Wed, 12 Jan 2011) | 1 line

fix weirdly ambigious sentence
................
r87952 | benjamin.peterson | 2011-01-12 16:24:27 +0100 (Wed, 12 Jan 2011) | 1 line

move this test to test_descr; it's not abc specific
................
r87953 | benjamin.peterson | 2011-01-12 16:25:02 +0100 (Wed, 12 Jan 2011) | 1 line

oops, wrong class
................
r87954 | benjamin.peterson | 2011-01-12 16:34:01 +0100 (Wed, 12 Jan 2011) | 1 line

don't segfault on deleting __abstractmethods__ #10892
................
r87957 | alexander.belopolsky | 2011-01-12 17:37:14 +0100 (Wed, 12 Jan 2011) | 1 line

Issue #10225: Fixed the simple mistakes in doctests.
................
r87958 | antoine.pitrou | 2011-01-12 19:45:27 +0100 (Wed, 12 Jan 2011) | 4 lines

Issue #10822: Fix test_posix:test_getgroups failure under Solaris. Patch
by Ross Lagerwall.
................
r87960 | benjamin.peterson | 2011-01-12 19:56:07 +0100 (Wed, 12 Jan 2011) | 1 line

use PyErr_SetString instead of PyErr_Format
................
r87966 | raymond.hettinger | 2011-01-12 21:37:47 +0100 (Wed, 12 Jan 2011) | 3 lines

Remove function annotations that slipped into _abcoll.
These are reserved for third-party use.
................
r87968 | antoine.pitrou | 2011-01-12 21:46:37 +0100 (Wed, 12 Jan 2011) | 4 lines

Fix the expected memory use of utf-8 encoding. Also, release the
one reference to a huge object even when an exception is raised.
................
r87969 | raymond.hettinger | 2011-01-12 21:52:39 +0100 (Wed, 12 Jan 2011) | 1 line

Remove the funky function annotation from numbers.py.
................
r87971 | antoine.pitrou | 2011-01-12 22:19:59 +0100 (Wed, 12 Jan 2011) | 3 lines

Make test skipping message nicer, and remove the rather useless "overhead" parameter.
................
r87972 | antoine.pitrou | 2011-01-12 22:40:20 +0100 (Wed, 12 Jan 2011) | 3 lines

Fix @bigmemtest when no limit is given by the user (oops)
................
r87973 | antoine.pitrou | 2011-01-12 22:50:44 +0100 (Wed, 12 Jan 2011) | 3 lines

More informative skip message in @bigaddrspace
................
r87974 | antoine.pitrou | 2011-01-12 22:58:39 +0100 (Wed, 12 Jan 2011) | 3 lines

A better message again
................
r87975 | antoine.pitrou | 2011-01-12 23:02:45 +0100 (Wed, 12 Jan 2011) | 3 lines

Fix test_bigaddrspace (some tests didn't trigger the expected MemoryError)
................
r87978 | raymond.hettinger | 2011-01-13 00:39:31 +0100 (Thu, 13 Jan 2011) | 4 lines

Issue #10899: No function type annotations in the standard library.
Removed function type annotations from _pyio.py.
................
r87980 | raymond.hettinger | 2011-01-13 03:31:25 +0100 (Thu, 13 Jan 2011) | 1 line

Issue 10899: Remove function type annotations from the stdlib
................
r87981 | raymond.hettinger | 2011-01-13 03:52:26 +0100 (Thu, 13 Jan 2011) | 1 line

Issue 10899: Remove function type annotations from the stdlib
................
r87982 | benjamin.peterson | 2011-01-13 05:22:54 +0100 (Thu, 13 Jan 2011) | 1 line

plug reference leak
................
r87983 | georg.brandl | 2011-01-13 08:13:06 +0100 (Thu, 13 Jan 2011) | 1 line

More PEP 8: no space around "=" in argument lists.
................
r87984 | georg.brandl | 2011-01-13 08:24:40 +0100 (Thu, 13 Jan 2011) | 1 line

Add semicolon for consistency.
................
r87986 | georg.brandl | 2011-01-13 08:31:18 +0100 (Thu, 13 Jan 2011) | 1 line

Fix the example output of count().
................
r87988 | raymond.hettinger | 2011-01-13 19:15:51 +0100 (Thu, 13 Jan 2011) | 5 lines

Issue #10899: Move function type annotations into docstrings.

Note, the docstrings (for the most part) were already very thorough
and included type information.
................
r87989 | raymond.hettinger | 2011-01-13 20:08:04 +0100 (Thu, 13 Jan 2011) | 1 line

Issue 10899: Remove function type annotations from the stdlib
................
r87990 | alexander.belopolsky | 2011-01-13 22:58:44 +0100 (Thu, 13 Jan 2011) | 5 lines

Issue #9268: Documented -m pickletools usage.

Also added a source code link.
................
r87991 | eli.bendersky | 2011-01-14 08:31:14 +0100 (Fri, 14 Jan 2011) | 2 lines

Remove call to nonexisting function (relic from Python 2.x) under #ifdef __INSURE__. Issue 9844
................
r87993 | eli.bendersky | 2011-01-14 09:25:03 +0100 (Fri, 14 Jan 2011) | 2 lines

Issue #10902: Fix reference to run* methods
................
r87996 | victor.stinner | 2011-01-14 13:52:12 +0100 (Fri, 14 Jan 2011) | 1 line

Add encoding and errors arguments to urllib.parse_qs() and urllib.parse_qsl()
................
r87997 | victor.stinner | 2011-01-14 14:05:19 +0100 (Fri, 14 Jan 2011) | 1 line

test_urlparse: add tests for encoding and errors arguments
................
r87998 | victor.stinner | 2011-01-14 14:05:21 +0100 (Fri, 14 Jan 2011) | 3 lines

Issue #4953: cgi.FieldStorage and cgi.parse() parse the request as bytes, not
as unicode, and accept binary files. Add encoding and errors attributes to
cgi.FieldStorage.
................
r87999 | victor.stinner | 2011-01-14 14:08:27 +0100 (Fri, 14 Jan 2011) | 1 line

cgi: use isinstance(x, list) instead of type(x) == type([])
................
r88000 | victor.stinner | 2011-01-14 14:31:45 +0100 (Fri, 14 Jan 2011) | 1 line

urllib doc: add versionchanged sections for parse_qs() and parse_qsl()
................
r88001 | victor.stinner | 2011-01-14 15:11:45 +0100 (Fri, 14 Jan 2011) | 1 line

Issue #4953: add the author of the patch
................
r88003 | ned.deily | 2011-01-15 05:37:12 +0100 (Sat, 15 Jan 2011) | 5 lines

#10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5,
rather than the currently problematic Apple-supplied one,
when running with the 64-/32-bit installer variant.
................
r88004 | ned.deily | 2011-01-15 05:44:12 +0100 (Sat, 15 Jan 2011) | 4 lines

#10907: Update OS X installer build README to better reflect
current build practices.
................
r88005 | ned.deily | 2011-01-15 06:05:53 +0100 (Sat, 15 Jan 2011) | 5 lines

#10843: Install the Tools directory on OS X in the applications
Extras (/Applications/Python 3.n/Extras/) where the Demo
directory had previous been installed.
................
r88006 | ned.deily | 2011-01-15 06:29:12 +0100 (Sat, 15 Jan 2011) | 6 lines

#10843: Update third-party library versions used in OS X 32-bit
installer builds: bzip2 1.0.6, readline 6.1.2, SQLite 3.7.4
(with FTS3/FTS4 and RTREE enabled), and ncursesw 5.5 (wide-char
support enabled).
................
r88007 | ned.deily | 2011-01-15 06:44:21 +0100 (Sat, 15 Jan 2011) | 5 lines

Remove spurious copy of Mac/IDLE/idlemain.py left over from
conversion from Python 2 build process. The correct version
is in Mac/IDLE/IDLE.app/Contents/Resources/
................
r88008 | ned.deily | 2011-01-15 06:53:33 +0100 (Sat, 15 Jan 2011) | 2 lines

Add self to mac platform area in maintainers.rst.
................
r88009 | eli.bendersky | 2011-01-15 11:23:34 +0100 (Sat, 15 Jan 2011) | 2 lines

Issue #10912: Clarify the documentation of PyObject_RichCompareBool. Thanks to Devin Jeanpierre for spotting the problem.
................
r88011 | antoine.pitrou | 2011-01-15 12:37:11 +0100 (Sat, 15 Jan 2011) | 4 lines

Fix the GIL with subinterpreters. Hopefully this will allow mod_wsgi to work with 3.2.
(we need some tests for this)
................
r88012 | antoine.pitrou | 2011-01-15 12:39:23 +0100 (Sat, 15 Jan 2011) | 3 lines

Avoid ResourceWarnings in ccbench
................
r88013 | antoine.pitrou | 2011-01-15 12:44:17 +0100 (Sat, 15 Jan 2011) | 3 lines

Standard streams use file descriptors, not FILE pointers.
................
r88014 | antoine.pitrou | 2011-01-15 12:57:42 +0100 (Sat, 15 Jan 2011) | 3 lines

Restructure a bit
................
r88015 | antoine.pitrou | 2011-01-15 13:10:48 +0100 (Sat, 15 Jan 2011) | 3 lines

Improve description of issues
................
r88016 | antoine.pitrou | 2011-01-15 13:21:53 +0100 (Sat, 15 Jan 2011) | 3 lines

Add mention of how to switch interpreters
................
r88017 | antoine.pitrou | 2011-01-15 13:54:19 +0100 (Sat, 15 Jan 2011) | 3 lines

Reword and restructure the GIL API doc
................
r88018 | antoine.pitrou | 2011-01-15 14:11:48 +0100 (Sat, 15 Jan 2011) | 4 lines

Issue #10913: Deprecate misleading functions PyEval_AcquireLock() and
PyEval_ReleaseLock(). The thread-state aware APIs should be used instead.
................
r88021 | antoine.pitrou | 2011-01-15 15:31:49 +0100 (Sat, 15 Jan 2011) | 3 lines

Nits
................
r88022 | antoine.pitrou | 2011-01-15 17:17:07 +0100 (Sat, 15 Jan 2011) | 7 lines

Issue #10916: mmap should not segfault when a file is mapped using 0 as
length and a non-zero offset, and an attempt to read past the end of file
is made (IndexError is raised instead). Patch by Ross Lagerwall.

Requested by Georg.
................
r88026 | georg.brandl | 2011-01-15 17:44:11 +0100 (Sat, 15 Jan 2011) | 1 line

Update pydoc topics.
................
r88028 | georg.brandl | 2011-01-15 17:45:03 +0100 (Sat, 15 Jan 2011) | 1 line

Update to 1.0.7.
................
r88032 | georg.brandl | 2011-01-15 18:03:02 +0100 (Sat, 15 Jan 2011) | 1 line

Fix a few doc errors, mostly undefined keywords.
................
r88033 | georg.brandl | 2011-01-15 18:05:20 +0100 (Sat, 15 Jan 2011) | 1 line

Fix "make suspicious" errors and update ignore file.
................
r88035 | georg.brandl | 2011-01-15 18:08:53 +0100 (Sat, 15 Jan 2011) | 1 line

Bump to 3.2rc1.
................
r88036 | antoine.pitrou | 2011-01-15 18:25:58 +0100 (Sat, 15 Jan 2011) | 3 lines

Fix mmap and test_mmap under Windows too (followup to r88022)
................
r88040 | martin.v.loewis | 2011-01-15 20:43:18 +0100 (Sat, 15 Jan 2011) | 2 lines

Package zip_cp437_header.zip.
Don't try to package subprocessdata/*.py twice.
................
r88041 | georg.brandl | 2011-01-16 09:44:50 +0100 (Sun, 16 Jan 2011) | 1 line

Post-release updates.
................
r88042 | georg.brandl | 2011-01-16 10:11:45 +0100 (Sun, 16 Jan 2011) | 1 line

Fix two small issues.
................
r88043 | raymond.hettinger | 2011-01-16 10:16:27 +0100 (Sun, 16 Jan 2011) | 1 line

Remove out-of-date comment
................
r88044 | raymond.hettinger | 2011-01-16 10:18:59 +0100 (Sun, 16 Jan 2011) | 2 lines

Clean-up comment.
................
r88047 | nick.coghlan | 2011-01-16 14:08:48 +0100 (Sun, 16 Jan 2011) | 1 line

Add missing NEWS entry for r87948
................
r88048 | georg.brandl | 2011-01-16 15:17:26 +0100 (Sun, 16 Jan 2011) | 1 line

Rewrap and punctuation consistency.
................
r88049 | antoine.pitrou | 2011-01-16 19:16:09 +0100 (Sun, 16 Jan 2011) | 3 lines

Better description of SSL-related changes
................
r88050 | antoine.pitrou | 2011-01-16 19:16:52 +0100 (Sun, 16 Jan 2011) | 3 lines

Fix misindent
................
r88051 | antoine.pitrou | 2011-01-16 19:21:12 +0100 (Sun, 16 Jan 2011) | 3 lines

Get proper credit
................
r88052 | raymond.hettinger | 2011-01-16 19:22:06 +0100 (Sun, 16 Jan 2011) | 3 lines

Issue 10889: Added entry for handling of indexing and slicing with ranges bigger than sys.maxsize.
................
r88053 | antoine.pitrou | 2011-01-16 19:29:34 +0100 (Sun, 16 Jan 2011) | 4 lines

Mention the new context parameter to FTP_TLS, and the small API change
in subprocess.Popen.
................
r88054 | antoine.pitrou | 2011-01-16 19:34:09 +0100 (Sun, 16 Jan 2011) | 3 lines

Mention HTTP 0.9's partial demise.
................
r88055 | antoine.pitrou | 2011-01-16 19:41:36 +0100 (Sun, 16 Jan 2011) | 3 lines

More SSL-related stuff
................
r88056 | antoine.pitrou | 2011-01-16 19:45:17 +0100 (Sun, 16 Jan 2011) | 3 lines

Mention deprecation of PyEval_{Acquire,Release}Lock().
................
r88057 | matthias.klose | 2011-01-16 21:57:01 +0100 (Sun, 16 Jan 2011) | 2 lines

rangeobject.c (compute_slice_indices): Make function static.
................
r88058 | brett.cannon | 2011-01-16 22:02:09 +0100 (Sun, 16 Jan 2011) | 1 line

Placeholder sentence pointing out that imoprtlib has updated (as well as deprecated) ABCs thanks to the new .pyc situation.
................
r88063 | benjamin.peterson | 2011-01-17 20:24:34 +0100 (Mon, 17 Jan 2011) | 4 lines

turn some checks into assertions, since they are implied by the caller

Reviewed by Georg.
................
r88066 | benjamin.peterson | 2011-01-17 20:44:46 +0100 (Mon, 17 Jan 2011) | 1 line

correct assertion
................
r88069 | benjamin.peterson | 2011-01-17 20:54:55 +0100 (Mon, 17 Jan 2011) | 1 line

remove unneeded assertion
................
r88072 | raymond.hettinger | 2011-01-17 22:05:07 +0100 (Mon, 17 Jan 2011) | 2 lines

Note that two-phase cyclic barriers are suitable for use in loops.
................
r88073 | brett.cannon | 2011-01-17 22:12:54 +0100 (Mon, 17 Jan 2011) | 1 line

Short README on gdb support.
................
r88074 | raymond.hettinger | 2011-01-17 22:29:58 +0100 (Mon, 17 Jan 2011) | 2 lines

Tidy-up the ssl section.
................
r88075 | raymond.hettinger | 2011-01-17 22:55:40 +0100 (Mon, 17 Jan 2011) | 2 lines

Fix-up the XXX for importlib.abc.
................
r88076 | raymond.hettinger | 2011-01-17 23:33:11 +0100 (Mon, 17 Jan 2011) | 2 lines

Wording nits.
................
r88077 | raymond.hettinger | 2011-01-18 00:10:55 +0100 (Tue, 18 Jan 2011) | 2 lines

Beautify code examples.
................
r88078 | raymond.hettinger | 2011-01-18 00:39:39 +0100 (Tue, 18 Jan 2011) | 2 lines

The example for configparser was weird.
................
r88079 | raymond.hettinger | 2011-01-18 00:42:17 +0100 (Tue, 18 Jan 2011) | 2 lines

Add an import to the logging example
................
r88080 | benjamin.peterson | 2011-01-18 00:49:51 +0100 (Tue, 18 Jan 2011) | 1 line

very out of date file
................
r88083 | raymond.hettinger | 2011-01-18 01:02:40 +0100 (Tue, 18 Jan 2011) | 2 lines

Nits.
................
r88084 | raymond.hettinger | 2011-01-18 01:19:30 +0100 (Tue, 18 Jan 2011) | 2 lines

Add example for the abc module.
................
r88085 | raymond.hettinger | 2011-01-18 01:30:24 +0100 (Tue, 18 Jan 2011) | 2 lines

More nits.
................
r88092 | raymond.hettinger | 2011-01-18 08:15:39 +0100 (Tue, 18 Jan 2011) | 2 lines

Nits.
................
r88093 | raymond.hettinger | 2011-01-18 09:28:01 +0100 (Tue, 18 Jan 2011) | 2 lines

More nits.
................
r88094 | raymond.hettinger | 2011-01-18 10:01:34 +0100 (Tue, 18 Jan 2011) | 2 lines

Typos.
................
r88097 | antoine.pitrou | 2011-01-18 19:57:52 +0100 (Tue, 18 Jan 2011) | 4 lines

Issue #10451: memoryview objects could allow to mutate a readable buffer.
Initial patch by Ross Lagerwall.
................
r88100 | raymond.hettinger | 2011-01-18 21:25:04 +0100 (Tue, 18 Jan 2011) | 3 lines

Reword the OrderedDict entry to emphasize the default behavior,
to show equivalent code, and to provide a use case.
................
r88101 | raymond.hettinger | 2011-01-18 22:14:27 +0100 (Tue, 18 Jan 2011) | 2 lines

Missing word.
................
r88102 | raymond.hettinger | 2011-01-18 23:58:33 +0100 (Tue, 18 Jan 2011) | 2 lines

Expand barrier example to show time-outs.
................
r88103 | david.malcolm | 2011-01-19 00:45:53 +0100 (Wed, 19 Jan 2011) | 2 lines

Fix typo in example of barrier timeouts from r88102
................
r88104 | brett.cannon | 2011-01-19 01:49:06 +0100 (Wed, 19 Jan 2011) | 2 lines

Klocwork scan site no longer available.
................
r88105 | raymond.hettinger | 2011-01-19 05:14:34 +0100 (Wed, 19 Jan 2011) | 2 lines

Add examples for inspect.
................
r88106 | raymond.hettinger | 2011-01-19 05:24:57 +0100 (Wed, 19 Jan 2011) | 2 lines

Improve looks by replacing a bullet list with a table.
................
r88107 | raymond.hettinger | 2011-01-19 05:43:45 +0100 (Wed, 19 Jan 2011) | 2 lines

Expand entry for pydoc.
................
r88108 | georg.brandl | 2011-01-19 09:42:03 +0100 (Wed, 19 Jan 2011) | 1 line

Suppress trailing spaces in table paragraphs.
................
r88109 | raymond.hettinger | 2011-01-19 09:44:33 +0100 (Wed, 19 Jan 2011) | 2 lines

Fix markup.
................
r88111 | antoine.pitrou | 2011-01-19 16:21:35 +0100 (Wed, 19 Jan 2011) | 4 lines

Issue #10898: Allow compiling the posix module when the C library defines
a symbol named FSTAT.
................
r88114 | alexander.belopolsky | 2011-01-19 20:53:30 +0100 (Wed, 19 Jan 2011) | 5 lines

Issue #10934: Fixed and expanded Internaldate2tuple() and
Time2Internaldate() documentation. Thanks Joe Peterson for the report
and the original patch.
................
r88115 | georg.brandl | 2011-01-19 21:05:49 +0100 (Wed, 19 Jan 2011) | 1 line

#10944: add c_bool to types table.
................
r88117 | brett.cannon | 2011-01-20 00:08:44 +0100 (Thu, 20 Jan 2011) | 1 line

Rename AIX-NOTES to something that follows the convention in Misc.
................
r88118 | brett.cannon | 2011-01-20 04:56:50 +0100 (Thu, 20 Jan 2011) | 2 lines

Move maintainers.rst into the devguide and rename it the Experts Index.
................
r88119 | raymond.hettinger | 2011-01-20 05:03:19 +0100 (Thu, 20 Jan 2011) | 1 line

Add more examples
................
r88120 | raymond.hettinger | 2011-01-20 05:12:37 +0100 (Thu, 20 Jan 2011) | 2 lines

Add hasattr() example.
................
r88121 | raymond.hettinger | 2011-01-20 10:04:39 +0100 (Thu, 20 Jan 2011) | 4 lines

Make an entry for the os module's bytes accessors.
Split codecs into a separate section. Rewrite
the Unicode section.
................
r88122 | raymond.hettinger | 2011-01-20 10:47:04 +0100 (Thu, 20 Jan 2011) | 2 lines

Add an entry for the code repository.
................
r88125 | brett.cannon | 2011-01-20 20:30:51 +0100 (Thu, 20 Jan 2011) | 1 line

Move README.Emacs to the devguide.
................
r88126 | brett.cannon | 2011-01-20 20:33:06 +0100 (Thu, 20 Jan 2011) | 1 line

Move README.gdb to the devguide.
................
r88127 | brett.cannon | 2011-01-20 20:34:35 +0100 (Thu, 20 Jan 2011) | 1 line

Remove some outdated files from Misc.
................
r88128 | brett.cannon | 2011-01-20 20:36:12 +0100 (Thu, 20 Jan 2011) | 1 line

Update Misc/README.
................
r88129 | brett.cannon | 2011-01-20 20:42:08 +0100 (Thu, 20 Jan 2011) | 1 line

Move developers.txt to the devguide.
................
r88130 | alexander.belopolsky | 2011-01-20 20:51:31 +0100 (Thu, 20 Jan 2011) | 1 line

Corrected the entry about new year range in the time module.
................
r88131 | antoine.pitrou | 2011-01-20 22:07:24 +0100 (Thu, 20 Jan 2011) | 6 lines

Issue #10955: Fix a potential crash when trying to mmap() a file past its
length. Initial patch by Ross Lagerwall.

This fixes a regression introduced by r88022.
................
r88134 | raymond.hettinger | 2011-01-21 04:00:00 +0100 (Fri, 21 Jan 2011) | 2 lines

Clarify what changed with respect to date ranges and two-digit years.
................
r88135 | raymond.hettinger | 2011-01-21 05:59:00 +0100 (Fri, 21 Jan 2011) | 2 lines

Add example for __wrapped__.
................
r88136 | raymond.hettinger | 2011-01-21 10:18:19 +0100 (Fri, 21 Jan 2011) | 2 lines

Use a Latin-1 example that won't break the LaTeX PDF build.
................
r88137 | antoine.pitrou | 2011-01-21 22:37:32 +0100 (Fri, 21 Jan 2011) | 3 lines

Fix JSON docs about loads() accepting only str objects, not bytes.
................
r88139 | vinay.sajip | 2011-01-22 00:35:57 +0100 (Sat, 22 Jan 2011) | 1 line

Issue #10949: Improved robustness of rotating file handlers.
................
r88140 | victor.stinner | 2011-01-22 11:30:29 +0100 (Sat, 22 Jan 2011) | 6 lines

Issue #10955: zipimport uses ASCII at bootstrap

zipimport uses ASCII encoding instead of cp497 to decode filenames, at
bootstrap, if the codec registry is not ready yet. It is still possible to have
non-ASCII filenames using the Unicode flag (UTF-8 encoding) for file entries in
the ZIP file.
................
r88141 | victor.stinner | 2011-01-22 11:33:01 +0100 (Sat, 22 Jan 2011) | 1 line

Issue #10955: fix NEWS entry
................
r88142 | armin.ronacher | 2011-01-22 14:13:05 +0100 (Sat, 22 Jan 2011) | 5 lines

Issue #10980: encode headers with latin1 instead of ASCII in the HTTP server.
This makes the implementation of PEP 3333 compliant servers on top of
BaseHTTPServer possible.
................
r88143 | armin.ronacher | 2011-01-22 14:44:22 +0100 (Sat, 22 Jan 2011) | 7 lines

To match the behaviour of HTTP server, the HTTP client library now also encodes
headers with iso-8859-1 (latin1) encoding. It was already doing that for
incoming headers which makes this behaviour now consistent in both incoming and
outgoing direction.
................
r88144 | georg.brandl | 2011-01-22 23:06:24 +0100 (Sat, 22 Jan 2011) | 1 line

#10983: fix several bugs in the _tunnel implementation that seem to have missed while porting between branches. A unittest is needed!
................
r88145 | victor.stinner | 2011-01-23 01:11:58 +0100 (Sun, 23 Jan 2011) | 1 line

Issue #10955: Fix typo in NEWS, cp497 => cp437
................
r88146 | raymond.hettinger | 2011-01-23 12:29:08 +0100 (Sun, 23 Jan 2011) | 1 line

Add entry for shutil's archiving operations.
................
r88147 | antoine.pitrou | 2011-01-23 18:12:25 +0100 (Sun, 23 Jan 2011) | 3 lines

Issue #10987: Fix the recursion limit handling in the _pickle module.
................
r88149 | raymond.hettinger | 2011-01-23 22:05:46 +0100 (Sun, 23 Jan 2011) | 1 line

Add entry for reprlib.
................
r88150 | raymond.hettinger | 2011-01-23 22:13:27 +0100 (Sun, 23 Jan 2011) | 2 lines

Add tracker references.
................
r88151 | raymond.hettinger | 2011-01-23 22:32:18 +0100 (Sun, 23 Jan 2011) | 2 lines

minor clean-up.
................
r88152 | raymond.hettinger | 2011-01-23 22:33:36 +0100 (Sun, 23 Jan 2011) | 1 line

Fix typo.
................
r88153 | brett.cannon | 2011-01-24 00:06:05 +0100 (Mon, 24 Jan 2011) | 6 lines

Skip a recursion depth check test when running under CPython and have a trace
function set. Otherwise a Python fatal error about hitting an unrecoverable
recursion depth gets triggered.

Closes issue #10985. Code review by Georg Brandl.
................
r88154 | raymond.hettinger | 2011-01-24 02:18:30 +0100 (Mon, 24 Jan 2011) | 2 lines

Add entries for array, asyncore, csv, compileall, and ast.
................
r88155 | raymond.hettinger | 2011-01-24 02:51:49 +0100 (Mon, 24 Jan 2011) | 2 lines

Add entries for dis, dbm, and ctypes.
................
r88156 | raymond.hettinger | 2011-01-24 05:52:27 +0100 (Mon, 24 Jan 2011) | 1 line

Make the type consistent for hashlib algorithm constants. (Reviewed by Benjamin).
................
r88157 | raymond.hettinger | 2011-01-24 06:07:13 +0100 (Mon, 24 Jan 2011) | 2 lines

Add entry for hashlib and expand the GC entry.
................
r88158 | raymond.hettinger | 2011-01-24 06:26:00 +0100 (Mon, 24 Jan 2011) | 2 lines

Add entry for the html module.
................
r88159 | raymond.hettinger | 2011-01-24 10:01:27 +0100 (Mon, 24 Jan 2011) | 1 line

Add section for urllib.parse.
................
r88160 | raymond.hettinger | 2011-01-24 10:17:24 +0100 (Mon, 24 Jan 2011) | 2 lines

Add entry for hash_info().
................
r88161 | raymond.hettinger | 2011-01-24 11:11:12 +0100 (Mon, 24 Jan 2011) | 2 lines

Fix markup and add todo.
................
r88162 | raymond.hettinger | 2011-01-24 17:28:06 +0100 (Mon, 24 Jan 2011) | 1 line

Missing source links.
................
r88163 | raymond.hettinger | 2011-01-24 19:19:01 +0100 (Mon, 24 Jan 2011) | 2 lines

Typos.
................
r88164 | r.david.murray | 2011-01-24 20:34:58 +0100 (Mon, 24 Jan 2011) | 12 lines

#10960: fix 'stat' links, link to lstat from stat, general tidy of stat doc.

Original patch by Michal Nowikowski, with some additions and wording
fixes by me.

I changed the wording from 'Performs a stat system call' to 'Performs
the equivalent of a stat system call', since on Windows there are no
stat/lstat system calls involved. I also extended Michal's breakout
of the attributes into a list to the other paragraphs, and rearranged
the order of the paragraphs in the 'stat' docs to make it flow
better and put it in what I think is a more logical/useful order.
................
r88165 | georg.brandl | 2011-01-24 20:53:18 +0100 (Mon, 24 Jan 2011) | 1 line

Typo fix.
................
r88166 | georg.brandl | 2011-01-24 20:59:08 +0100 (Mon, 24 Jan 2011) | 1 line

Fix label syntax.
................
r88170 | terry.reedy | 2011-01-24 21:48:40 +0100 (Mon, 24 Jan 2011) | 2 lines

Update last tix code example for 3.x, as already done for previous examples.
................
r88171 | steven.bethard | 2011-01-24 22:02:50 +0100 (Mon, 24 Jan 2011) | 1 line

Issue #9509: make argarse properly handle IOErrors raised by argparse.FileType. Approved by Georg in the tracker.
................
r88172 | terry.reedy | 2011-01-24 22:36:03 +0100 (Mon, 24 Jan 2011) | 2 lines

Issue #11000 ast.parse parses source, not just expressions.
................
r88174 | ned.deily | 2011-01-24 22:46:44 +0100 (Mon, 24 Jan 2011) | 6 lines

#10974: IDLE no longer crashes if its recent files list includes files
with non-ASCII characters in their path names.

(with approval of release manager for 3.2rc2)
................
r88176 | raymond.hettinger | 2011-01-24 23:14:42 +0100 (Mon, 24 Jan 2011) | 2 lines

Add entry for io.BytesIO.getbuffer().
................
r88178 | benjamin.peterson | 2011-01-25 01:00:28 +0100 (Tue, 25 Jan 2011) | 1 line

another pretty crasher served up by pypy
................
r88179 | brett.cannon | 2011-01-25 01:56:18 +0100 (Tue, 25 Jan 2011) | 1 line

Ignore the gdb.py file under OS X.
................
r88180 | raymond.hettinger | 2011-01-25 03:35:58 +0100 (Tue, 25 Jan 2011) | 2 lines

Add entry for the math module.
................
r88181 | raymond.hettinger | 2011-01-25 03:38:59 +0100 (Tue, 25 Jan 2011) | 2 lines

Nits.
................
r88182 | raymond.hettinger | 2011-01-25 06:53:27 +0100 (Tue, 25 Jan 2011) | 2 lines

Typo.
................
r88183 | raymond.hettinger | 2011-01-25 07:58:01 +0100 (Tue, 25 Jan 2011) | 1 line

Add math.erfc and turtledemo.
................
r88184 | raymond.hettinger | 2011-01-25 08:46:07 +0100 (Tue, 25 Jan 2011) | 2 lines

Add entries for select and site.
................
r88185 | raymond.hettinger | 2011-01-25 09:01:01 +0100 (Tue, 25 Jan 2011) | 2 lines

Typo.
................
r88186 | antoine.pitrou | 2011-01-25 17:28:44 +0100 (Tue, 25 Jan 2011) | 3 lines

Fix the doc for PIPE_BUF
................
r88187 | antoine.pitrou | 2011-01-25 18:24:57 +0100 (Tue, 25 Jan 2011) | 3 lines

Fix the description of PIPE_BUF
................
r88188 | brett.cannon | 2011-01-25 19:26:35 +0100 (Tue, 25 Jan 2011) | 3 lines

Tighten the restrictions on the test_sys test which triggers a fatal error when
run with tracing turned on.
................
r88191 | raymond.hettinger | 2011-01-25 22:32:39 +0100 (Tue, 25 Jan 2011) | 9 lines

Issue #11004: Repair edge case in deque.count().
(Reviewed by Georg Brandl.)

Also made similar changes to deque.reverse() though this wasn't
strictly necessary (the edge case cannot occur with two pointers
moving to meet in the middle). Making the change in reverse()
was more a matter of future-proofing.
................
r88196 | victor.stinner | 2011-01-26 00:15:47 +0100 (Wed, 26 Jan 2011) | 3 lines

fix import in email.message_from_binary_file()

Parser => BytesParser
................
r88197 | victor.stinner | 2011-01-26 01:39:19 +0100 (Wed, 26 Jan 2011) | 1 line

Fix BytesGenerator._handle_text() if the message has no payload (None)
................
r88198 | raymond.hettinger | 2011-01-26 02:13:26 +0100 (Wed, 26 Jan 2011) | 2 lines

Add a few imports to examples.
................
r88199 | r.david.murray | 2011-01-26 03:31:37 +0100 (Wed, 26 Jan 2011) | 2 lines

Revert r88197. I'll refix correctly once there is a test.
................
r88200 | raymond.hettinger | 2011-01-26 20:36:13 +0100 (Wed, 26 Jan 2011) | 2 lines

Markup nits.
................
r88201 | raymond.hettinger | 2011-01-26 21:34:14 +0100 (Wed, 26 Jan 2011) | 7 lines

Issue #11014: Make 'filter' argument in tarfile.Tarfile.add() into a
keyword-only argument. The preceding positional argument was deprecated,
so it made no sense to add filter as a positional argument.

(Patch reviewed by Brian Curtin and Anthony Long.)
................
r88203 | r.david.murray | 2011-01-26 22:21:32 +0100 (Wed, 26 Jan 2011) | 4 lines

#11019: Make BytesGenerator handle Message with None body.

Bug discovery and initial patch by Victor Stinner.
................
r88204 | antoine.pitrou | 2011-01-27 00:29:28 +0100 (Thu, 27 Jan 2011) | 4 lines

Issue #11018: fix a test to not be a no-op in test_bz2.
Found by Nadeem Vawda, reviewed by Brett.
................
r88207 | raymond.hettinger | 2011-01-27 01:06:54 +0100 (Thu, 27 Jan 2011) | 6 lines

Issue #11020: Command-line pyclbr was broken because of missing 2-to-3
conversion.

(Patch reviewed by David Murray.)
................
r88209 | raymond.hettinger | 2011-01-27 02:20:32 +0100 (Thu, 27 Jan 2011) | 1 line

More source links.
................
r88210 | raymond.hettinger | 2011-01-27 06:48:56 +0100 (Thu, 27 Jan 2011) | 2 lines

Add an entry for tarfile.
................
r88211 | raymond.hettinger | 2011-01-27 07:10:18 +0100 (Thu, 27 Jan 2011) | 2 lines

Update todo list.
................
r88212 | raymond.hettinger | 2011-01-27 07:46:54 +0100 (Thu, 27 Jan 2011) | 2 lines

Add missing attributions.
................
r88213 | raymond.hettinger | 2011-01-27 08:34:45 +0100 (Thu, 27 Jan 2011) | 2 lines

More typical sample invocation of tarfile.
................
r88214 | vinay.sajip | 2011-01-27 20:14:16 +0100 (Thu, 27 Jan 2011) | 1 line

Issue 11008: docs updated to show versionadded for dictConfig.
................
r88215 | raymond.hettinger | 2011-01-27 21:38:46 +0100 (Thu, 27 Jan 2011) | 1 line

More source links
................
r88220 | lukasz.langa | 2011-01-28 12:57:30 +0100 (Fri, 28 Jan 2011) | 3 lines

#11027: documented how to override SECTCRE
................
r88221 | michael.foord | 2011-01-28 20:51:48 +0100 (Fri, 28 Jan 2011) | 3 lines

Issue 10573: revert unittest docs to first / second
Minor internal change to unittest.TestCase.assertCountEqual
Reviewed by R. David Murray
................
r88222 | eric.smith | 2011-01-28 21:23:25 +0100 (Fri, 28 Jan 2011) | 1 line

Added a placeholder for str.format_map, as discussed with Raymond. My prose is horrible, some cleanup is required.
................
r88223 | raymond.hettinger | 2011-01-29 09:51:57 +0100 (Sat, 29 Jan 2011) | 3 lines

Add entry for str.format_map().
Add bullet list and reference to documentation section.
................
r88226 | eric.smith | 2011-01-29 12:15:35 +0100 (Sat, 29 Jan 2011) | 3 lines

Issue #11302: missing type check on _string.formatter_field_name_split and _string.formatter_parser caused crash.

Originial patch by haypo, reviewed by me, okayed by Georg.
................
r88228 | victor.stinner | 2011-01-29 12:31:20 +0100 (Sat, 29 Jan 2011) | 3 lines

Issue #10989: Fix a crash on SSLContext.load_verify_locations(None, True).

Patch reviewed by Antoine Pitrou, okayed by Georg Brandl.
................
r88230 | giampaolo.rodola | 2011-01-29 14:24:33 +0100 (Sat, 29 Jan 2011) | 1 line

fix reference to issue where the addition of select.PIPE_BUF was discussed
................
r88231 | alexander.belopolsky | 2011-01-29 18:19:08 +0100 (Sat, 29 Jan 2011) | 4 lines

Issue #10939: Fixed imaplib.Internaldate2tuple(). Thanks Joe Peterson
for the report and the patch. Reviewed by Georg Brandl.
................
r88232 | ned.deily | 2011-01-29 19:29:01 +0100 (Sat, 29 Jan 2011) | 5 lines

Issue #10940: Workaround an IDLE hang on Mac OS X 10.6 when using the
menu accelerators for Open Module, Go to Line, and New Indent Width.
The accelerators still work but no longer appear in the menu items.
................
r88234 | ned.deily | 2011-01-29 19:43:56 +0100 (Sat, 29 Jan 2011) | 5 lines

Issue #11053: Fix IDLE "Syntax Error" windows to behave as in 2.x,
preventing a confusing hung appearance on OS X with the windows
obscured. (with release manager approval for 3.2rc2)
................
r88235 | ned.deily | 2011-01-29 19:56:28 +0100 (Sat, 29 Jan 2011) | 5 lines

Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with
the system-provided Python. Also, properly guard a new Python 3 only
installer build step so that build-installer.py can stay compatible
with the 2.7 version. (with release manager approval for 3.2rc2)
................
r88236 | ned.deily | 2011-01-29 20:10:26 +0100 (Sat, 29 Jan 2011) | 3 lines

Issue 11052: Correct IDLE menu accelerators on Mac OS X for Save
commands. (with release manager approval for 3.2rc2)
................
r88239 | alexander.belopolsky | 2011-01-29 20:49:40 +0100 (Sat, 29 Jan 2011) | 1 line

Issue #10939: Make Internaldate2tuple test more robust.
................
r88240 | eric.araujo | 2011-01-29 21:32:11 +0100 (Sat, 29 Jan 2011) | 6 lines

Protect logging call against None argument (fixes #11045).

Initial patch by Kelsey Hightower. Approved by Raymond. A test was
non-trivial to write without calling the private function directly, so
we moved that for later.
................
r88244 | raymond.hettinger | 2011-01-30 01:39:00 +0100 (Sun, 30 Jan 2011) | 2 lines

Typos.
................
r88245 | raymond.hettinger | 2011-01-30 01:55:47 +0100 (Sun, 30 Jan 2011) | 4 lines

Add section for http.client.
Link to OS X build instructions.
Add back issue references for datetime.
................
r88246 | raymond.hettinger | 2011-01-30 02:10:07 +0100 (Sun, 30 Jan 2011) | 2 lines

Markup nits.
................
r88247 | nick.coghlan | 2011-01-30 02:24:08 +0100 (Sun, 30 Jan 2011) | 1 line

Issue #10845: Improve compatibility between multiprocessing on Windows and package, zipfile and directory execution (Reviewed by Antoine Pitrou and approved by Georg Brandl)
................
r88251 | raymond.hettinger | 2011-01-30 06:37:16 +0100 (Sun, 30 Jan 2011) | 2 lines

List known build/install problems for OS X.
................
r88252 | r.david.murray | 2011-01-30 07:21:28 +0100 (Sun, 30 Jan 2011) | 16 lines

#9124: mailbox now accepts binary input and uses binary internally

Although this patch contains API changes and is rather weighty for an
RC phase, the mailbox module was essentially unusable without the patch
since it would produce UnicodeErrors when handling non-ascii input
at arbitrary and somewhat mysterious places, and any non-trivial amount
of email processing will encounter messages with non-ascii bytes.
The release manager approved the patch application.

The changes allow binary input, and reject non-ASCII string input early
with a useful message instead of failing mysteriously later. Binary
is used internally for reading and writing the mailbox files. StringIO
and Text file input are deprecated.

Initial patch by Victor Stinner, validated and expanded by R. David Murray.
................
r88256 | raymond.hettinger | 2011-01-30 08:56:03 +0100 (Sun, 30 Jan 2011) | 2 lines

Add entry for the mailbox fixups.
................
r88258 | georg.brandl | 2011-01-30 09:16:07 +0100 (Sun, 30 Jan 2011) | 3 lines

#11069: fix the IDLE Stack Viewer, by not using "list" as a variable name.
Original patch by Brian Curtin, reviewed by me.
................
r88259 | raymond.hettinger | 2011-01-30 09:20:37 +0100 (Sun, 30 Jan 2011) | 2 lines

Clarify the status of get_string() and recommend using the binary API.
................
r88261 | georg.brandl | 2011-01-30 09:37:19 +0100 (Sun, 30 Jan 2011) | 4 lines

#10961: fix exception handling in new pydoc server code.
Patch by Ron Adam, reviewed by Eric Araujo.
................
r88263 | georg.brandl | 2011-01-30 13:19:35 +0100 (Sun, 30 Jan 2011) | 1 line

#10680: fix mutually exclusive arguments in argument groups.
................
r88264 | georg.brandl | 2011-01-30 15:00:32 +0100 (Sun, 30 Jan 2011) | 1 line

Update pydoc topics.
................
r88265 | georg.brandl | 2011-01-30 15:02:36 +0100 (Sun, 30 Jan 2011) | 1 line

Update suspicious ignore file.
................
r88266 | georg.brandl | 2011-01-30 15:03:33 +0100 (Sun, 30 Jan 2011) | 1 line

Bump version.
................
r88271 | eli.bendersky | 2011-01-31 05:05:52 +0100 (Mon, 31 Jan 2011) | 3 lines

Fix some grammar and typos
................
r88272 | eli.bendersky | 2011-01-31 05:10:23 +0100 (Mon, 31 Jan 2011) | 3 lines

Fix PEP-8 violation in argparse usage example (similar examples in argparse.rst do follow PEP-8)
................
r88273 | eli.bendersky | 2011-01-31 05:21:40 +0100 (Mon, 31 Jan 2011) | 3 lines

Mention new parameter and attributes of the difflib.SequenceMatcher class added in 3.2 (issue 2986)
................
r88274 | raymond.hettinger | 2011-01-31 07:14:48 +0100 (Mon, 31 Jan 2011) | 4 lines

Fix minor grammar nits.
Revert r88272 -- the examples are more readable with spacing.
Add todos for difflib and logging.
................
r88275 | raymond.hettinger | 2011-01-31 07:34:47 +0100 (Mon, 31 Jan 2011) | 2 lines

Recommend use of the tracker during the RC phase or just before a beta.
................
r88276 | georg.brandl | 2011-01-31 11:39:57 +0100 (Mon, 31 Jan 2011) | 1 line

Post-release updates.
................
r88280 | alexander.belopolsky | 2011-01-31 20:27:55 +0100 (Mon, 31 Jan 2011) | 3 lines

Issue #11081: Fixed struct.__all__. Reviewed by Georg Brandl.
................
r88281 | brian.curtin | 2011-01-31 20:35:02 +0100 (Mon, 31 Jan 2011) | 2 lines

#11083 typo: RuntimeException -> RuntimeError
................
r88284 | antoine.pitrou | 2011-01-31 22:08:57 +0100 (Mon, 31 Jan 2011) | 4 lines

Issue #8275: Fix passing of callback arguments with ctypes under Win64.
Patch by Stan Mihai. Ok'ed by Georg.
................
r88299 | eric.smith | 2011-02-01 22:31:22 +0100 (Tue, 01 Feb 2011) | 1 line

Wording fix.
................
r88301 | antoine.pitrou | 2011-02-02 00:43:46 +0100 (Wed, 02 Feb 2011) | 3 lines

Add a svn:ignore for PC/python3dll.obj
................
r88302 | raymond.hettinger | 2011-02-02 00:54:43 +0100 (Wed, 02 Feb 2011) | 8 lines

Get command-line doctest of Lib/decimal.py to work again.

If tested as '__main__' instead 'decimal', the tracebacks would
abbreviate 'decimal.Inexact' as 'Inexact', breaking the doctests.

(Reviewed by Antoine.)
................
r88322 | raymond.hettinger | 2011-02-02 22:12:39 +0100 (Wed, 02 Feb 2011) | 1 line

Punctuation typo.
................
r88329 | georg.brandl | 2011-02-03 08:08:25 +0100 (Thu, 03 Feb 2011) | 1 line

Punctuation typos.
................
r88330 | georg.brandl | 2011-02-03 08:46:41 +0100 (Thu, 03 Feb 2011) | 1 line

Remove lots of spaces within exception message.
................
r88331 | brett.cannon | 2011-02-03 23:01:54 +0100 (Thu, 03 Feb 2011) | 1 line

Add a HOWTO on how to port from Python 2 to Python 3.
................
r88332 | brett.cannon | 2011-02-03 23:14:58 +0100 (Thu, 03 Feb 2011) | 1 line

use 3-space indents.
................
r88333 | martin.v.loewis | 2011-02-04 20:09:02 +0100 (Fri, 04 Feb 2011) | 1 line

Issue #11118: Fix bogus export of None in python3.dll.
................
r88334 | antoine.pitrou | 2011-02-04 21:11:11 +0100 (Fri, 04 Feb 2011) | 3 lines

Mention that seek and tell over a TextIOWrapper can be very slow.
................
r88337 | brett.cannon | 2011-02-04 21:24:02 +0100 (Fri, 04 Feb 2011) | 5 lines

There was a possibility that the initialization of _sqlite, when it failed,
would lead to a decref of a NULL.

Fixes issue #11110.
................
r88340 | antoine.pitrou | 2011-02-05 11:43:57 +0100 (Sat, 05 Feb 2011) | 3 lines

Update info in the GUI FAQ
................
r88341 | antoine.pitrou | 2011-02-05 11:57:17 +0100 (Sat, 05 Feb 2011) | 3 lines

Mention Cython and remove obsolete alternatives
................
r88342 | antoine.pitrou | 2011-02-05 12:04:01 +0100 (Sat, 05 Feb 2011) | 3 lines

Update test of "why is Python installed" FAQ.
................
r88343 | antoine.pitrou | 2011-02-05 12:18:34 +0100 (Sat, 05 Feb 2011) | 3 lines

Mention concurrent.futures and update answers about the GIL.
................
r88344 | antoine.pitrou | 2011-02-05 12:24:15 +0100 (Sat, 05 Feb 2011) | 3 lines

Mention asyncore and Twisted in the library FAQ.
................
r88345 | antoine.pitrou | 2011-02-05 12:40:05 +0100 (Sat, 05 Feb 2011) | 3 lines

Mention -b and -bb
................
r88346 | antoine.pitrou | 2011-02-05 12:53:39 +0100 (Sat, 05 Feb 2011) | 3 lines

Fix entries pertaining to file I/O
................
r88347 | antoine.pitrou | 2011-02-05 13:01:07 +0100 (Sat, 05 Feb 2011) | 4 lines

Soften the wording about tracebacks. Reference cycles *don't*
prevent garbage collection! (fortunately)
................
r88348 | antoine.pitrou | 2011-02-05 13:13:38 +0100 (Sat, 05 Feb 2011) | 3 lines

Everybody hates this one :) (bytes indexing)
................
r88349 | eric.araujo | 2011-02-05 17:03:12 +0100 (Sat, 05 Feb 2011) | 2 lines

Use an internal reference instead of hard-coded URI.
................
r88350 | martin.v.loewis | 2011-02-05 21:26:52 +0100 (Sat, 05 Feb 2011) | 2 lines

Issue #11121: Fix building with --enable-shared.
................
r88351 | martin.v.loewis | 2011-02-05 21:35:29 +0100 (Sat, 05 Feb 2011) | 3 lines

Issue #11067: Add PyType_GetFlags, to support PyUnicode_Check
in the limited ABI
................
r88352 | gregory.p.smith | 2011-02-05 22:47:25 +0100 (Sat, 05 Feb 2011) | 3 lines

issue7678 - Properly document how to replace a shell pipeline so that SIGPIPE
happens when the end exits before the beginning.
................
r88355 | brett.cannon | 2011-02-05 23:05:05 +0100 (Sat, 05 Feb 2011) | 7 lines

Re-arrange and clarify some __future__ import statements.

The absolute_import statement got moved to a new Python 2.5 and Newer section
as it was available since then. The division statement got moved to Common
Gotchas since it has been around for so long that any modern Python program can
use it.
................
r88356 | brett.cannon | 2011-02-05 23:16:40 +0100 (Sat, 05 Feb 2011) | 1 line

Soften wording on doctest.
................
r88357 | brett.cannon | 2011-02-05 23:22:47 +0100 (Sat, 05 Feb 2011) | 1 line

Mention that people going the source compatibility route should run 2to3 to find pain points.
................
r88358 | raymond.hettinger | 2011-02-06 07:11:29 +0100 (Sun, 06 Feb 2011) | 2 lines

Small markup and wording tweaks for the sorting-howto.
................
r88359 | raymond.hettinger | 2011-02-06 21:08:57 +0100 (Sun, 06 Feb 2011) | 2 lines

Issue #11071: Various improvements to whatsnew.
................
r88360 | raymond.hettinger | 2011-02-06 22:00:38 +0100 (Sun, 06 Feb 2011) | 2 lines

Fix awkwardly rendered sentence.
................
r88361 | raymond.hettinger | 2011-02-07 05:00:24 +0100 (Mon, 07 Feb 2011) | 2 lines

Typo. Doh!
................
r88362 | eli.bendersky | 2011-02-07 05:19:57 +0100 (Mon, 07 Feb 2011) | 6 lines

Fix some typos and grammar

[commit during RC with Brett's approval]
................
r88363 | eli.bendersky | 2011-02-07 05:44:19 +0100 (Mon, 07 Feb 2011) | 3 lines

Fix some typos and grammar
................
r88364 | georg.brandl | 2011-02-07 13:10:46 +0100 (Mon, 07 Feb 2011) | 1 line

#11138: fix order of fill and align specifiers.
................
r88365 | georg.brandl | 2011-02-07 13:13:58 +0100 (Mon, 07 Feb 2011) | 1 line

#8691: document that right alignment is default for numbers.
................
r88366 | georg.brandl | 2011-02-07 13:36:54 +0100 (Mon, 07 Feb 2011) | 2 lines

#11132: pass optimize parameter to recursive call in compileall.compile_dir(). Reviewed by Eric A.
................
r88367 | raymond.hettinger | 2011-02-07 13:51:05 +0100 (Mon, 07 Feb 2011) | 2 lines

Add link to table for Tcl/Tk issues on the Mac.
................
r88368 | nick.coghlan | 2011-02-07 14:43:07 +0100 (Mon, 07 Feb 2011) | 2 lines

Issue 10971: Make test_zipimport_support once again compatible with refleak hunting (reviewed by Georg Brandl)
................
r88369 | georg.brandl | 2011-02-07 16:30:45 +0100 (Mon, 07 Feb 2011) | 1 line

Consistent heading spacing, and fix two typos.
................
r88370 | georg.brandl | 2011-02-07 16:44:27 +0100 (Mon, 07 Feb 2011) | 1 line

Spelling fixes.
................
r88371 | antoine.pitrou | 2011-02-07 16:58:11 +0100 (Mon, 07 Feb 2011) | 3 lines

Clarify that IMAP4() implicitly calls open(), and that logout() implicitly calls shutdown().
................
r88374 | ned.deily | 2011-02-07 17:44:19 +0100 (Mon, 07 Feb 2011) | 5 lines

Issue #11079: The /Applications/Python x.x folder created by the Mac
OS X installers no longer includes an Extras directory. The Tools
directory is now installed in the framework under share/doc.
................
r88375 | ned.deily | 2011-02-07 17:48:28 +0100 (Mon, 07 Feb 2011) | 5 lines

- Issue #11079: The /Applications/Python x.x folder created by the Mac
OS X installers now includes a link to the installed documentation
plus another in the framework share/doc directory.
................
r88377 | antoine.pitrou | 2011-02-08 00:10:33 +0100 (Tue, 08 Feb 2011) | 4 lines

Issue #11141: Fix the shelve documentation to use a list, not a range object.
Patch by SilentGhost.
................
r88381 | raymond.hettinger | 2011-02-09 19:16:32 +0100 (Wed, 09 Feb 2011) | 2 lines

Typo.
................
r88382 | terry.reedy | 2011-02-09 20:21:00 +0100 (Wed, 09 Feb 2011) | 2 lines

Add 'pysqlite' before version 2.6.0
................
r88383 | brett.cannon | 2011-02-09 23:55:13 +0100 (Wed, 09 Feb 2011) | 1 line

Tweak wording about equality comparison.
................
r88384 | raymond.hettinger | 2011-02-10 09:09:36 +0100 (Thu, 10 Feb 2011) | 1 line

Add missing source links.
................
r88385 | raymond.hettinger | 2011-02-10 10:20:26 +0100 (Thu, 10 Feb 2011) | 2 lines

Add an entry for logging.
................
r88386 | raymond.hettinger | 2011-02-10 10:43:04 +0100 (Thu, 10 Feb 2011) | 2 lines

Fix nits.
................
r88387 | giampaolo.rodola | 2011-02-10 19:42:36 +0100 (Thu, 10 Feb 2011) | 1 line

get rid of asyncore.dispatcher's debug attribute, which is no longer used (assuming it ever was).
................
r88388 | raymond.hettinger | 2011-02-11 01:03:03 +0100 (Fri, 11 Feb 2011) | 2 lines

Insert missing section heading (noticed by Victor Stinner).
................
r88389 | raymond.hettinger | 2011-02-11 01:08:38 +0100 (Fri, 11 Feb 2011) | 2 lines

Missing paren.
................
r88394 | senthil.kumaran | 2011-02-11 12:25:47 +0100 (Fri, 11 Feb 2011) | 3 lines

Fixed issue11082 - Reject str for POST data with a TypeError. Document the need to explicitly encode to bytes when using urlencode.
................
r88395 | giampaolo.rodola | 2011-02-11 14:04:18 +0100 (Fri, 11 Feb 2011) | 4 lines

asyncore: introduce a new 'closed' attribute to make sure that dispatcher gets closed only once.
In different occasions close() might be called more than once, causing problems with already disconnected sockets/dispatchers.
................
r88396 | giampaolo.rodola | 2011-02-11 15:01:46 +0100 (Fri, 11 Feb 2011) | 1 line

reverting r88395 and r88387 as per http://mail.python.org/pipermail/python-dev/2011-February/108005.html
................
r88399 | martin.v.loewis | 2011-02-11 21:44:40 +0100 (Fri, 11 Feb 2011) | 2 lines

Add uuid for 3.2rc3.
................
r88400 | martin.v.loewis | 2011-02-11 21:47:49 +0100 (Fri, 11 Feb 2011) | 3 lines

Issue #11135: Remove redundant doc field from PyType_Spec.
Reviewed by Georg Brandl.
................
r88401 | martin.v.loewis | 2011-02-11 21:50:24 +0100 (Fri, 11 Feb 2011) | 3 lines

Issue #11134: Add missing fields to typeslots.h.
Reviewed by Georg Brandl.
................
r88402 | r.david.murray | 2011-02-11 23:37:16 +0100 (Fri, 11 Feb 2011) | 2 lines

Fix argument name typo in compileall docs.
................
r88403 | r.david.murray | 2011-02-11 23:47:17 +0100 (Fri, 11 Feb 2011) | 3 lines

#11116: roll back on error during add so mailbox isn't left corrupted.
................
r88407 | r.david.murray | 2011-02-12 01:03:31 +0100 (Sat, 12 Feb 2011) | 2 lines

Fix #11116 fix on Windows (close file before removing in MH code)
................
r88411 | georg.brandl | 2011-02-13 10:54:12 +0100 (Sun, 13 Feb 2011) | 1 line

Update pydoc topics.
................
r88412 | georg.brandl | 2011-02-13 10:59:39 +0100 (Sun, 13 Feb 2011) | 1 line

Fix markup error and update suspicious ignores.
................
r88413 | georg.brandl | 2011-02-13 11:00:57 +0100 (Sun, 13 Feb 2011) | 1 line

Bump for 3.2rc3.
................
r88420 | georg.brandl | 2011-02-14 07:35:00 +0100 (Mon, 14 Feb 2011) | 1 line

Post-release updates.
................
r88421 | raymond.hettinger | 2011-02-14 19:18:49 +0100 (Mon, 14 Feb 2011) | 1 line

Fix accumulate() example. (Reported by David Murray.)
................
r88423 | georg.brandl | 2011-02-15 13:41:17 +0100 (Tue, 15 Feb 2011) | 1 line

Apply logging SocketHandler doc update by Vinay.
................
r88424 | georg.brandl | 2011-02-15 13:44:43 +0100 (Tue, 15 Feb 2011) | 1 line

Remove editing slip.
................
r88426 | georg.brandl | 2011-02-15 16:44:51 +0100 (Tue, 15 Feb 2011) | 1 line

#941346: Fix broken shared library build on AIX. Patch by Sebastien Sable, review by Antoine Pitrou.
................
r88430 | georg.brandl | 2011-02-15 20:48:59 +0100 (Tue, 15 Feb 2011) | 1 line

#730467: Another small AIX fix.
................
r88431 | raymond.hettinger | 2011-02-17 20:05:53 +0100 (Thu, 17 Feb 2011) | 2 lines

Fix an import and add a citation.
................
r88432 | raymond.hettinger | 2011-02-17 20:19:44 +0100 (Thu, 17 Feb 2011) | 2 lines

Fix-up logging.dictConfig() example.
................
r88434 | raymond.hettinger | 2011-02-18 01:53:55 +0100 (Fri, 18 Feb 2011) | 1 line

Doc fixups.
................
r88435 | brett.cannon | 2011-02-18 02:34:28 +0100 (Fri, 18 Feb 2011) | 5 lines

Update the porting HOWTO to be a little less harsh on using 2to3.

Patch reviewed by Raymond Hettinger, permission from Georg Brandl to commit
during an RC.
................
r88438 | georg.brandl | 2011-02-19 09:44:47 +0100 (Sat, 19 Feb 2011) | 1 line

#10709: add back an updated AIX-NOTES (as README.AIX).
................
r88439 | georg.brandl | 2011-02-19 09:47:14 +0100 (Sat, 19 Feb 2011) | 1 line

#11222: fix non-framework shared library build on Mac, patch by Ned Deily.
................
r88440 | georg.brandl | 2011-02-19 09:58:23 +0100 (Sat, 19 Feb 2011) | 1 line

#11184: Fix large file support on AIX.
................
r88441 | eric.araujo | 2011-02-19 19:06:50 +0100 (Sat, 19 Feb 2011) | 2 lines

Some more grammar fixes/typos for what’s new (approved by Raymond; #11071)
................
r88442 | eric.araujo | 2011-02-19 19:46:02 +0100 (Sat, 19 Feb 2011) | 2 lines

Fix two typos in what’s new (#11234).
................
r88443 | georg.brandl | 2011-02-19 22:47:02 +0100 (Sat, 19 Feb 2011) | 1 line

#11249: in PyType_FromSpec, copy tp_doc slot since it usually will point to a static string literal which should not be deallocated together with the type.
................
r88444 | georg.brandl | 2011-02-20 11:22:41 +0100 (Sun, 20 Feb 2011) | 1 line

Topic and suspicious update.
................
r88445 | georg.brandl | 2011-02-20 11:29:04 +0100 (Sun, 20 Feb 2011) | 1 line

Version bump to 3.2 final.
................
r88447 | georg.brandl | 2011-02-20 11:33:21 +0100 (Sun, 20 Feb 2011) | 2 lines

Bump to 3.3a0.
................
r88448 | georg.brandl | 2011-02-20 11:37:07 +0100 (Sun, 20 Feb 2011) | 1 line

Bump trunk to 3.3 alpha 0.
................
r88449 | georg.brandl | 2011-02-20 11:41:31 +0100 (Sun, 20 Feb 2011) | 1 line

More automated version replacement.
................
r88451 | georg.brandl | 2011-02-20 12:18:09 +0100 (Sun, 20 Feb 2011) | 1 line

Remove unittest methods scheduled for removal in 3.3 -- makes the unittest test suite pass again.
................
r88456 | martin.v.loewis | 2011-02-21 17:24:00 +0100 (Mon, 21 Feb 2011) | 2 lines

- Check for NULL result in PyType_FromSpec.
................
r88459 | raymond.hettinger | 2011-02-21 18:54:36 +0100 (Mon, 21 Feb 2011) | 1 line

Issue 10160: Both single-arg and multi-arg calls have been sped-up.
................
r88460 | antoine.pitrou | 2011-02-21 19:03:13 +0100 (Mon, 21 Feb 2011) | 4 lines

Issue #10276: Fix the results of zlib.crc32() and zlib.adler32() on buffers
larger than 4GB. Patch by Nadeem Vawda.
................
r88463 | georg.brandl | 2011-02-21 19:37:01 +0100 (Mon, 21 Feb 2011) | 1 line

3.2 is stable now.
................
r88464 | antoine.pitrou | 2011-02-21 20:05:08 +0100 (Mon, 21 Feb 2011) | 3 lines

Fix issues on 32-bit systems introduced by r88460
................
r88465 | brett.cannon | 2011-02-21 20:24:10 +0100 (Mon, 21 Feb 2011) | 2 lines

Ignore Vim .swp files.
................
r88466 | antoine.pitrou | 2011-02-21 20:28:40 +0100 (Mon, 21 Feb 2011) | 3 lines

Fix compile error under MSVC introduced by r88460.
................
r88467 | brett.cannon | 2011-02-21 20:29:56 +0100 (Mon, 21 Feb 2011) | 11 lines

Issue #10990: Prevent tests from clobbering a set trace function.

Many tests simply didn't care if they unset a pre-existing trace function. This
made test coverage impossible. This patch fixes various tests to put back any
pre-existing trace function. It also introduces test.support.no_tracing as a
decorator which will temporarily unset the trace function for tests which
simply fail otherwise.

Thanks to Kristian Vlaardingerbroek for helping to find the cause of various
trace function unsets.
................
r88470 | raymond.hettinger | 2011-02-21 20:42:11 +0100 (Mon, 21 Feb 2011) | 4 lines

Issue #11089: Fix performance issue limiting the use of ConfigParser()
with large config files.
................
r88474 | raymond.hettinger | 2011-02-21 20:58:37 +0100 (Mon, 21 Feb 2011) | 1 line

Issue 11263: Fix link to source code.
................
r88475 | ned.deily | 2011-02-21 21:44:27 +0100 (Mon, 21 Feb 2011) | 3 lines

Issue #11268: Prevent Mac OS X Installer failure if Documentation
package had previously been installed.
................
r88476 | victor.stinner | 2011-02-21 21:51:28 +0100 (Mon, 21 Feb 2011) | 7 lines

Remove bootstrap code of PyUnicode_AsEncodedString()

Issue #11187: Remove bootstrap code (use ASCII) of
PyUnicode_AsEncodedString(), it was replaced by a better fallback (use
the locale encoding) in PyUnicode_EncodeFSDefault().

Prepare also empty sections in NEWS.
................
r88478 | victor.stinner | 2011-02-21 21:58:02 +0100 (Mon, 21 Feb 2011) | 4 lines

compileall uses repr() to format filenames/paths

Issue #11169: compileall module uses repr() to format filenames and paths to
escape surrogate characters and show spaces.
................
r88480 | victor.stinner | 2011-02-21 22:05:50 +0100 (Mon, 21 Feb 2011) | 6 lines

Remove filename variable from ceval.c

Issue #11168: Remove filename debug variable from PyEval_EvalFrameEx().
It encoded the Unicode filename to UTF-8, but the encoding fails on
undecodable filename (on surrogate characters) which raises an unexpected
UnicodeEncodeError on recursion limit.
................
r88481 | victor.stinner | 2011-02-21 22:13:44 +0100 (Mon, 21 Feb 2011) | 4 lines

Fix PyUnicode_FromFormatV("%c") for non-BMP char

Issue #10830: Fix PyUnicode_FromFormatV("%c") for non-BMP characters on
narrow build.
................
r88484 | antoine.pitrou | 2011-02-21 22:55:48 +0100 (Mon, 21 Feb 2011) | 4 lines

Issue #10826: Prevent sporadic failure in test_subprocess on Solaris due
to open door files.
................
r88486 | antoine.pitrou | 2011-02-22 00:41:12 +0100 (Tue, 22 Feb 2011) | 5 lines

Issue #4681: Allow mmap() to work on file sizes and offsets larger than
4GB, even on 32-bit builds. Initial patch by Ross Lagerwall, adapted for
32-bit Windows.
................
r88490 | raymond.hettinger | 2011-02-22 01:41:50 +0100 (Tue, 22 Feb 2011) | 6 lines

Issue #11085: Moved collections abstract base classes into a separate module
called collections.abc, following the pattern used by importlib.abc. For
backwards compatibility, the names continue to also be imported into the
collections module.
................
r88491 | raymond.hettinger | 2011-02-22 02:48:33 +0100 (Tue, 22 Feb 2011) | 1 line

Have the test filename match the module filename.
................
r88492 | raymond.hettinger | 2011-02-22 02:55:36 +0100 (Tue, 22 Feb 2011) | 1 line

Factor-out common code for helper classes.
................
r88493 | brett.cannon | 2011-02-22 03:42:41 +0100 (Tue, 22 Feb 2011) | 1 line

Ignore __pycache__ in Lib/collections.
................
r88494 | brett.cannon | 2011-02-22 04:04:06 +0100 (Tue, 22 Feb 2011) | 10 lines

Issue #10992: make tests pass when run under coverage.

Various tests fail when run under coverage. A primary culprit is refcount tests
which fail as the counts are thrown off by the coverage code. A new decorator
-- test.support.refcount_test -- is used to decorate tests which test refcounts
and to skip them when running under coverage. Other tests simply fail because
of changes in the system (e.g., __local__ suddenly appearing).

Thanks to Kristian Vlaardingerbroek for helping to diagnose the test failures.
................
r88496 | brett.cannon | 2011-02-22 04:14:12 +0100 (Tue, 22 Feb 2011) | 4 lines

Issue #10512: close the log file in cgi when running tests.

Thanks to Nadeem Vawda for the find and an initial fix.
................
r88498 | brett.cannon | 2011-02-22 04:25:12 +0100 (Tue, 22 Feb 2011) | 8 lines

Issue #11074: Make 'tokenize' so it can be reloaded.

The module stored away the 'open' object as found in the global namespace
(which fell through to the built-in namespace) since it defined its own 'open'.
Problem is that if you reloaded the module it then grabbed the 'open' defined
in the previous load, leading to code that infinite recursed. Switched to
simply call builtins.open directly.
................
r88500 | sean.reifschneider | 2011-02-22 11:55:44 +0100 (Tue, 22 Feb 2011) | 2 lines

Issue #10924: Adding salt and Modular Crypt Format to crypt library.
................
r88501 | giampaolo.rodola | 2011-02-22 16:56:20 +0100 (Tue, 22 Feb 2011) | 1 line

smtlib.py PEP8 normalization via pep8.py script.
................
r88503 | brett.cannon | 2011-02-22 20:12:43 +0100 (Tue, 22 Feb 2011) | 1 line

Add lib2to3.__main__ to make it easier for debugging purposes to run 2to3.
................
r88505 | giampaolo.rodola | 2011-02-22 20:24:33 +0100 (Tue, 22 Feb 2011) | 1 line

In FTP.close() method, make sure to also close the socket object, not only the file.
................
r88506 | brett.cannon | 2011-02-22 21:15:44 +0100 (Tue, 22 Feb 2011) | 2 lines

Issue #8914: fix various warnings from the Clang static analyzer v254.
................
r88507 | brett.cannon | 2011-02-22 21:17:14 +0100 (Tue, 22 Feb 2011) | 1 line

Fix test.test_crypt.test_methods() to pass on OS X.
................
r88511 | antoine.pitrou | 2011-02-22 22:42:56 +0100 (Tue, 22 Feb 2011) | 4 lines

Issue #11277: finally fix Snow Leopard crash following r88460.
(probably an OS-related issue with mmap)
................
r88512 | brett.cannon | 2011-02-22 22:48:06 +0100 (Tue, 22 Feb 2011) | 3 lines

Make Lib/crypt.py meet PEP 8 standards. This also led to a tweak in the new API
by making methods() into a module attribute as it is statically calculated.
................
r88513 | brett.cannon | 2011-02-22 22:55:51 +0100 (Tue, 22 Feb 2011) | 1 line

A crypt algorithm may not be available by returning None.
................
r88515 | victor.stinner | 2011-02-23 00:12:28 +0100 (Wed, 23 Feb 2011) | 4 lines

Issue #3080: Mark PyWin_FindRegisteredModule() as private

This function was not declared in Python public API (in any .h file) and not
documented. Mark it as private to prepare a change of its API.
................
r88516 | victor.stinner | 2011-02-23 00:16:19 +0100 (Wed, 23 Feb 2011) | 3 lines

Issue #3080: Remove unused argument of _PyImport_GetDynLoadFunc()

The first argument, fqname, was not used.
................
r88517 | victor.stinner | 2011-02-23 00:38:34 +0100 (Wed, 23 Feb 2011) | 1 line

Issue #3080: document encoding used by import functions
................
r88519 | victor.stinner | 2011-02-23 01:02:00 +0100 (Wed, 23 Feb 2011) | 5 lines

Issue #3080: Mark _PyImport_FindBuiltin() argument as constant

And as a consequence, mark also name argument of
_PyImport_FindExtensionUnicode() constant too. But I plan to change this
argument type to PyObject* later.
................
r88520 | victor.stinner | 2011-02-23 01:21:43 +0100 (Wed, 23 Feb 2011) | 4 lines

Issue #3080: Add PyModule_GetNameObject()

repr(module) uses %R to format module name and filenames, instead of '%s' and
'%U', so surrogates from undecodable bytes in a filename (PEP 383) are escaped.
................
r88521 | raymond.hettinger | 2011-02-23 01:46:28 +0100 (Wed, 23 Feb 2011) | 1 line

Fix imports from collections.abc
................
r88523 | georg.brandl | 2011-02-23 08:30:12 +0100 (Wed, 23 Feb 2011) | 1 line

Add new subdirectory to LIBSUBDIRS.
................
r88524 | georg.brandl | 2011-02-23 08:31:24 +0100 (Wed, 23 Feb 2011) | 1 line

Indent "versionadded" properly.
................
r88525 | raymond.hettinger | 2011-02-23 08:56:53 +0100 (Wed, 23 Feb 2011) | 1 line

Add tests for the _ChainMap helper class.
................
r88527 | victor.stinner | 2011-02-23 12:29:28 +0100 (Wed, 23 Feb 2011) | 1 line

dynload_dl.c: replace tabs by spaces
................
r88528 | lars.gustaebel | 2011-02-23 12:42:22 +0100 (Wed, 23 Feb 2011) | 16 lines

Issue #11224: Improved sparse file read support (r85916) introduced a
regression in _FileInFile which is used in file-like objects returned
by TarFile.extractfile(). The inefficient design of the
_FileInFile.read() method causes various dramatic side-effects and
errors:

- The data segment of a file member is read completely into memory
every(!) time a small block is accessed. This is not only slow
but may cause unexpected MemoryErrors with very large files.
- Reading members from compressed tar archives is even slower
because of the excessive backwards seeking which is done when the
same data segment is read over and over again.
- As a backwards seek on a TarFile opened in stream mode is not
possible, using extractfile() fails with a StreamError.
................
r88530 | victor.stinner | 2011-02-23 13:07:37 +0100 (Wed, 23 Feb 2011) | 4 lines

Issue #11272: Fix input() and sys.stdin for Windows newline

On Windows, input() strips '\r' (and not only '\n'), and sys.stdin uses
universal newline (replace '\r\n' by '\n').
................
r88533 | victor.stinner | 2011-02-23 15:14:48 +0100 (Wed, 23 Feb 2011) | 3 lines

Issue #3080: Fix test_reprlib on Windows

Fix the test for last module changes (r88520).
................
r88534 | brett.cannon | 2011-02-23 19:48:52 +0100 (Wed, 23 Feb 2011) | 1 line

Revert r88503 as Benjamin's request.
................
r88538 | raymond.hettinger | 2011-02-24 01:08:13 +0100 (Thu, 24 Feb 2011) | 1 line

Issue #11304: Input/output tutorial - PI is rounded not truncated.
................
r88539 | benjamin.peterson | 2011-02-24 02:41:46 +0100 (Thu, 24 Feb 2011) | 9 lines

Merged revisions 88535 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

........
r88535 | brett.cannon | 2011-02-23 13:46:46 -0600 (Wed, 23 Feb 2011) | 1 line

Add lib2to3.__main__ for easy testing from the console.
........
................
r88540 | benjamin.peterson | 2011-02-24 03:46:00 +0100 (Thu, 24 Feb 2011) | 1 line

this seems to be pointlessly nested
................
r88541 | benjamin.peterson | 2011-02-24 03:53:05 +0100 (Thu, 24 Feb 2011) | 1 line

rewrite
................
r88545 | eric.araujo | 2011-02-24 19:03:10 +0100 (Thu, 24 Feb 2011) | 2 lines

Allow usage of SomeABC.register as a class decorator. Patch by Edoardo Spadolini (#10868).
................
r88546 | alexander.belopolsky | 2011-02-24 20:40:09 +0100 (Thu, 24 Feb 2011) | 3 lines

Issue #11286: Fixed unpickling of empty 2.x strings.
................
r88550 | antoine.pitrou | 2011-02-24 21:50:49 +0100 (Thu, 24 Feb 2011) | 4 lines

Issue #11286: Raise a ValueError from calling PyMemoryView_FromBuffer with
a buffer struct having a NULL data pointer.
................
r88552 | giampaolo.rodola | 2011-02-24 21:59:48 +0100 (Thu, 24 Feb 2011) | 1 line

Adds Python 3.3 what's new document.
................
r88553 | alexander.belopolsky | 2011-02-25 02:14:14 +0100 (Fri, 25 Feb 2011) | 5 lines

Issue #11311: Short-circuit default encoding case in
PyUnicode_Decode() and PyUnicode_AsEncodedString(). Thanks Ezio
Melotti for the tests and the review.
................
r88554 | eli.bendersky | 2011-02-25 06:47:53 +0100 (Fri, 25 Feb 2011) | 3 lines

Issue #10516: adding list.clear() and list.copy() methods
................
r88558 | eli.bendersky | 2011-02-25 11:14:17 +0100 (Fri, 25 Feb 2011) | 3 lines

Removed fcmp and FUZZ from test.support, following the discussion on python-dev:
http://mail.python.org/pipermail/python-dev/2011-January/107735.html
................
r88567 | georg.brandl | 2011-02-25 12:03:15 +0100 (Fri, 25 Feb 2011) | 1 line

Remove unused m4 define.
................
r88574 | georg.brandl | 2011-02-25 12:28:22 +0100 (Fri, 25 Feb 2011) | 1 line

Add 3.3 whatsnew to index.
................
r88575 | benjamin.peterson | 2011-02-25 15:01:05 +0100 (Fri, 25 Feb 2011) | 1 line

run autoconf
................
r88576 | benjamin.peterson | 2011-02-25 15:05:42 +0100 (Fri, 25 Feb 2011) | 1 line

rewrite with assertIs
................
r88577 | antoine.pitrou | 2011-02-25 15:19:48 +0100 (Fri, 25 Feb 2011) | 3 lines

Make svn:eol-style's more consistent
................
r88578 | antoine.pitrou | 2011-02-25 15:31:09 +0100 (Fri, 25 Feb 2011) | 3 lines

More eol-style's
................
r88579 | antoine.pitrou | 2011-02-25 15:32:24 +0100 (Fri, 25 Feb 2011) | 3 lines

Fix .hgeol
................
r88580 | giampaolo.rodola | 2011-02-25 15:39:16 +0100 (Fri, 25 Feb 2011) | 1 line

Issue 10882: add os.sendfile(). (patch provided by Ross Lagerwall)
................
r88581 | giampaolo.rodola | 2011-02-25 15:50:57 +0100 (Fri, 25 Feb 2011) | 1 line

(issue 11232) - fix asyncore documentation issue (patch by Sandro Tosi)
................
r88584 | georg.brandl | 2011-02-25 16:21:47 +0100 (Fri, 25 Feb 2011) | 1 line

Regenerate configure after r88580.
................
r88585 | georg.brandl | 2011-02-25 16:23:18 +0100 (Fri, 25 Feb 2011) | 1 line

Rename internal helper function and make it static.
................
r88586 | marc-andre.lemburg | 2011-02-25 16:42:01 +0100 (Fri, 25 Feb 2011) | 10 lines

Normalize the encoding names for Latin-1 and UTF-8 to
'latin-1' and 'utf-8'.

These are optimized in the Python Unicode implementation
to result in more direct processing, bypassing the codec
registry.

Also see issue11303.
................
r88587 | vinay.sajip | 2011-02-25 16:56:55 +0100 (Fri, 25 Feb 2011) | 1 line

Improved QueueListener implementation - queue sentinel addition made extensible.
................
r88588 | vinay.sajip | 2011-02-25 17:05:26 +0100 (Fri, 25 Feb 2011) | 1 line

Documented QueueListener change.
................
r88589 | vinay.sajip | 2011-02-25 18:02:43 +0100 (Fri, 25 Feb 2011) | 1 line

logging: enabled test which was intermittently failing on buildbots.
................
r88602 | alexander.belopolsky | 2011-02-25 20:19:57 +0100 (Fri, 25 Feb 2011) | 4 lines

Issue #11303: Added shortcuts for utf8 and latin1 encodings.
Documented the list of optimized encodings as CPython implementation
detail.
................
r88603 | giampaolo.rodola | 2011-02-25 21:01:05 +0100 (Fri, 25 Feb 2011) | 1 line

Skip os.sendfile() test if threading module is not available.
................
r88604 | giampaolo.rodola | 2011-02-25 21:05:48 +0100 (Fri, 25 Feb 2011) | 1 line

(issue 11214) - fix asyncore.strerror test failure on AIX
................
r88607 | antoine.pitrou | 2011-02-25 21:27:33 +0100 (Fri, 25 Feb 2011) | 5 lines

Issue #11114: Fix catastrophic performance of tell() on text files (up
to 1000x faster in some cases). It is still one to two order of magnitudes
slower than binary tell().
................
r88608 | giampaolo.rodola | 2011-02-25 21:57:54 +0100 (Fri, 25 Feb 2011) | 1 line

Issue 10784: adds os.getpriority() and os.setpriority() functions.
................
r88609 | giampaolo.rodola | 2011-02-25 22:00:10 +0100 (Fri, 25 Feb 2011) | 1 line

Update Misc/NEWS to include os.getpriority() and os.setpriority() addition.
................
r88610 | antoine.pitrou | 2011-02-25 22:24:11 +0100 (Fri, 25 Feb 2011) | 4 lines

Issue #10956: Buffered I/O classes retry reading or writing after a signal
has arrived and the handler returned successfully.
................
r88613 | eric.araujo | 2011-02-25 22:40:34 +0100 (Fri, 25 Feb 2011) | 2 lines

Add missing read() in distutils doc.
................
r88616 | giampaolo.rodola | 2011-02-25 22:46:01 +0100 (Fri, 25 Feb 2011) | 1 line

(issue 11323) - attempt to fix solaris buildbot failure for os.sendfile(). Also fixed an AttributeError in get/set priority tests.
................
r88618 | antoine.pitrou | 2011-02-25 23:07:43 +0100 (Fri, 25 Feb 2011) | 7 lines

Issue #6064: Add a `daemon` keyword argument to the threading.Thread
and multiprocessing.Process constructors in order to override the
default behaviour of inheriting the daemonic property from the current
thread/process.
................
r88619 | giampaolo.rodola | 2011-02-25 23:21:22 +0100 (Fri, 25 Feb 2011) | 1 line

Issue 11177: asyncore's create_socket() arguments can now be omitted.
................
r88620 | giampaolo.rodola | 2011-02-25 23:28:24 +0100 (Fri, 25 Feb 2011) | 1 line

Issue 11291: poplib suppresses errors on QUIT.
................
r88621 | vinay.sajip | 2011-02-25 23:45:25 +0100 (Fri, 25 Feb 2011) | 1 line

test_logging: Added more diagnostics for buildbot failures.
................
r88622 | antoine.pitrou | 2011-02-26 00:07:44 +0100 (Sat, 26 Feb 2011) | 5 lines

Issue #7322: Trying to read from a socket's file-like object after a timeout
occurred now raises an error instead of silently losing data.
Patch by Ross Lagerwall.
................
r88624 | antoine.pitrou | 2011-02-26 00:25:17 +0100 (Sat, 26 Feb 2011) | 4 lines

Issue #4761: Add the *at() family of functions (openat(), etc.) to the posix
module. Patch by Ross Lagerwall.
................
r88625 | antoine.pitrou | 2011-02-26 00:41:16 +0100 (Sat, 26 Feb 2011) | 3 lines

Issue #10755: Add the posix.fdlistdir() function. Patch by Ross Lagerwall.
................
r88626 | antoine.pitrou | 2011-02-26 01:22:09 +0100 (Sat, 26 Feb 2011) | 3 lines

Fix compilation warning in Modules/posixmodule.c.
................
r88627 | antoine.pitrou | 2011-02-26 01:22:25 +0100 (Sat, 26 Feb 2011) | 3 lines

Fix AttributeError.
................
r88628 | raymond.hettinger | 2011-02-26 02:02:51 +0100 (Sat, 26 Feb 2011) | 3 lines

Issue #11297: Add collections.ChainMap()
................
r88629 | alexander.belopolsky | 2011-02-26 02:02:56 +0100 (Sat, 26 Feb 2011) | 1 line

PEP 7 conformance changes (whitespace only).
................
r88630 | raymond.hettinger | 2011-02-26 03:48:44 +0100 (Sat, 26 Feb 2011) | 2 lines

Make Py3.x style "import builtins"
................
r88631 | senthil.kumaran | 2011-02-26 04:44:03 +0100 (Sat, 26 Feb 2011) | 2 lines

Fix Issue10228 - Refleak run of test_dbm fails when several dbm modules are available (Patch by Ray.Allen)
................
r88632 | vinay.sajip | 2011-02-26 07:37:04 +0100 (Sat, 26 Feb 2011) | 1 line

test_logging: diagnostic code changes.
................
r88633 | raymond.hettinger | 2011-02-26 07:53:58 +0100 (Sat, 26 Feb 2011) | 1 line

Add __bool__ method. Add tests. Fix-up broken test.
................
r88636 | vinay.sajip | 2011-02-26 08:18:22 +0100 (Sat, 26 Feb 2011) | 1 line

test_logging: Changed TimedRotatingFileHandler tests to use UTC time rather than local time.
................
r88639 | antoine.pitrou | 2011-02-26 09:45:20 +0100 (Sat, 26 Feb 2011) | 4 lines

Issue #11258: Speed up ctypes.util.find_library() under Linux a lot. Patch
by Jonas H.
................
r88640 | antoine.pitrou | 2011-02-26 10:37:45 +0100 (Sat, 26 Feb 2011) | 3 lines

Revert r88639 (the optimization changes behaviour and breaks buildbots)
................
r88643 | antoine.pitrou | 2011-02-26 14:38:35 +0100 (Sat, 26 Feb 2011) | 3 lines

Check error return from _parse_off_t(), and remove cruft from the 2->3 transition.
................
r88644 | vinay.sajip | 2011-02-26 15:15:48 +0100 (Sat, 26 Feb 2011) | 1 line

Issue #11330: asctime format bug fixed.
................
r88645 | vinay.sajip | 2011-02-26 15:24:29 +0100 (Sat, 26 Feb 2011) | 1 line

Issue #11331: fixed documentation in logging cookbook.
................
r88646 | vinay.sajip | 2011-02-26 15:28:36 +0100 (Sat, 26 Feb 2011) | 1 line

Removed typo.
................
r88647 | antoine.pitrou | 2011-02-26 15:29:24 +0100 (Sat, 26 Feb 2011) | 3 lines

Issue #11323: fix sendfile tests under 64-bit Solaris.
................
r88650 | eric.araujo | 2011-02-26 15:57:23 +0100 (Sat, 26 Feb 2011) | 2 lines

Replace links to the old dev doc with links to the new devguide.
................
r88652 | antoine.pitrou | 2011-02-26 16:58:05 +0100 (Sat, 26 Feb 2011) | 4 lines

Issue #9931: Fix hangs in GUI tests under Windows in certain conditions.
Patch by Hirokazu Yamamoto.
................
r88653 | vinay.sajip | 2011-02-26 17:00:04 +0100 (Sat, 26 Feb 2011) | 1 line

Issue #11330: Added regression test.
................
r88654 | vinay.sajip | 2011-02-26 17:06:02 +0100 (Sat, 26 Feb 2011) | 1 line

Issue #11330: Updated tests for correct asctime handling.
................
r88656 | antoine.pitrou | 2011-02-26 18:52:50 +0100 (Sat, 26 Feb 2011) | 3 lines

Make sendfile tests more robust
................
r88658 | benjamin.peterson | 2011-02-26 22:32:16 +0100 (Sat, 26 Feb 2011) | 1 line

this isn't true anymore
................
r88660 | benjamin.peterson | 2011-02-26 22:35:16 +0100 (Sat, 26 Feb 2011) | 1 line

revert accidental formatting change
................
r88663 | benjamin.peterson | 2011-02-26 23:12:10 +0100 (Sat, 26 Feb 2011) | 12 lines

Merged revisions 88661 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

........
r88661 | benjamin.peterson | 2011-02-26 16:06:24 -0600 (Sat, 26 Feb 2011) | 6 lines

fix refactoring on formfeed characters #11250

This is because text.splitlines() is not the same as
list(StringIO.StringIO(text)).
........
................
r88664 | antoine.pitrou | 2011-02-27 00:24:06 +0100 (Sun, 27 Feb 2011) | 4 lines

Issue #11326: Add the missing connect_ex() implementation for SSL sockets,
and make it work for non-blocking connects.
................
r88668 | benjamin.peterson | 2011-02-27 16:06:44 +0100 (Sun, 27 Feb 2011) | 1 line

make this a link #11345
................
r88671 | antoine.pitrou | 2011-02-27 16:44:12 +0100 (Sun, 27 Feb 2011) | 3 lines

Follow up to r88664: non-blocking connect-ex() can return EWOULDBLOCK under Windows
................
r88679 | giampaolo.rodola | 2011-02-28 20:19:51 +0100 (Mon, 28 Feb 2011) | 1 line

Fix issue 8594: adds a source_address parameter to ftplib module.
................
r88680 | giampaolo.rodola | 2011-02-28 20:27:16 +0100 (Mon, 28 Feb 2011) | 1 line

Issue 11348: skip os.setpriority() test if current nice level is >= 19.
................
r88682 | antoine.pitrou | 2011-02-28 23:03:34 +0100 (Mon, 28 Feb 2011) | 5 lines

Issue #11140: Lock.release() now raises a RuntimeError when attempting
to release an unacquired lock, as claimed in the threading documentation.
The _thread.error exception is now an alias of RuntimeError.
................
r88683 | antoine.pitrou | 2011-02-28 23:04:51 +0100 (Mon, 28 Feb 2011) | 3 lines

No need to put this at top
................
r88684 | antoine.pitrou | 2011-02-28 23:06:48 +0100 (Mon, 28 Feb 2011) | 3 lines

Add credit for r88682.
................
r88685 | antoine.pitrou | 2011-02-28 23:25:22 +0100 (Mon, 28 Feb 2011) | 3 lines

Issue #10866: Add socket.sethostname(). Initial patch by Ross Lagerwall.
................
r88686 | antoine.pitrou | 2011-02-28 23:38:07 +0100 (Mon, 28 Feb 2011) | 4 lines

Recommend inspecting the errno attribute of socket.error objects,
and improve wording.
................
r88691 | antoine.pitrou | 2011-03-01 01:41:10 +0100 (Tue, 01 Mar 2011) | 3 lines

Endly, fix UnboundLocalError in telnetlib
................
r88696 | eric.araujo | 2011-03-01 19:26:56 +0100 (Tue, 01 Mar 2011) | 4 lines

Remove outdated pointer to optparse (fixes #11360).

The doc already points to argparse.
................
r88697 | victor.stinner | 2011-03-01 23:46:52 +0100 (Tue, 01 Mar 2011) | 4 lines

Issue #11246: Fix PyUnicode_FromFormat("%V")

Decode the byte string from UTF-8 (with replace error handler) instead of
ISO-8859-1 (in strict mode). Patch written by Ray Allen.
................
r88699 | antoine.pitrou | 2011-03-02 00:05:42 +0100 (Wed, 02 Mar 2011) | 4 lines

Followup to issue #11140 and r88682: also patch _dummy_thread.
Patch by Aymeric Augustin.
................
r88700 | victor.stinner | 2011-03-02 00:08:36 +0100 (Wed, 02 Mar 2011) | 3 lines

Issue #10911: Add tests on CGI with non-ASCII characters

Patch written by Pierre Quentel
................
r88702 | victor.stinner | 2011-03-02 00:44:09 +0100 (Wed, 02 Mar 2011) | 4 lines

Issue #10829: Refactor PyUnicode_FromFormat()

* Use the same function to parse the format string in the 3 steps
* Fix crashs on invalid format strings
................
r88703 | victor.stinner | 2011-03-02 01:01:53 +0100 (Wed, 02 Mar 2011) | 1 line

Fix my previous commit (r88702): initialize size_tflag in parse_format_flags()
................
r88704 | victor.stinner | 2011-03-02 01:04:25 +0100 (Wed, 02 Mar 2011) | 1 line

Issue #10831: PyUnicode_FromFormat() supports %li, %lli and %zi formats
................
r88705 | victor.stinner | 2011-03-02 01:10:34 +0100 (Wed, 02 Mar 2011) | 1 line

Issue #10831: Document the new formats (%li, %lli, %zi)
................
r88706 | antoine.pitrou | 2011-03-02 01:15:44 +0100 (Wed, 02 Mar 2011) | 3 lines

assertEquals is deprecated
................
r88707 | eric.araujo | 2011-03-02 01:31:51 +0100 (Wed, 02 Mar 2011) | 5 lines

Remove last use of distutils.sysconfig from the stdlib (#11364).

Apart from distutils itself, the stdlib has now officially switched to
the new top-level sysconfig module. Patch greenlighted by Ned Deily.
................
r88708 | victor.stinner | 2011-03-02 02:03:11 +0100 (Wed, 02 Mar 2011) | 1 line

Remove useless argument of _PyUnicode_AsDefaultEncodedString()
................
r88709 | victor.stinner | 2011-03-02 02:03:14 +0100 (Wed, 02 Mar 2011) | 5 lines

Issue #8923: cache str.encode() result

When a string is encoded to UTF-8 in strict mode, the result is cached into the
object. Examples: str.encode(), str.encode('utf-8'), PyUnicode_AsUTF8String()
and PyUnicode_AsEncodedString(unicode, "utf-8", NULL).
................
r88710 | victor.stinner | 2011-03-02 02:21:46 +0100 (Wed, 02 Mar 2011) | 1 line

Fix my previous commit (r88709) for str.encode(errors=...)
................
r88711 | daniel.stutzbach | 2011-03-03 00:37:50 +0100 (Thu, 03 Mar 2011) | 1 line

#11335: Fix memory leak when a sort key function throws an exception
................
r88712 | benjamin.peterson | 2011-03-03 00:40:36 +0100 (Thu, 03 Mar 2011) | 4 lines

add tests for xml.pulldom #9373

Thanks to Mark Smith for the patch.
................
r88717 | fred.drake | 2011-03-03 06:27:17 +0100 (Thu, 03 Mar 2011) | 2 lines

issue 11372: use range instead of xrange
................
r88719 | nick.coghlan | 2011-03-03 12:08:33 +0100 (Thu, 03 Mar 2011) | 1 line

Update compiler recursion crasher to more reliably blow the stack and add a tracker issue for it
................
r88720 | victor.stinner | 2011-03-03 13:54:05 +0100 (Thu, 03 Mar 2011) | 1 line

Issue #8513: On UNIX, subprocess supports bytes command string.
................
r88721 | victor.stinner | 2011-03-03 13:54:07 +0100 (Thu, 03 Mar 2011) | 1 line

Issue #11377: Deprecate platform.popen() and reimplement it with os.popen().
................
r88722 | giampaolo.rodola | 2011-03-03 14:57:47 +0100 (Thu, 03 Mar 2011) | 1 line

Fix issue 11265: asyncore now correctly handles EPIPE, EBADF and EAGAIN errors on accept(), recv() and send().
................
r88724 | victor.stinner | 2011-03-03 15:07:21 +0100 (Thu, 03 Mar 2011) | 1 line

Issue #11377: Fix quoting on Windows in test_platform
................
r88726 | giampaolo.rodola | 2011-03-03 15:10:58 +0100 (Thu, 03 Mar 2011) | 1 line

fix attribute error
................
r88729 | giampaolo.rodola | 2011-03-03 17:10:51 +0100 (Thu, 03 Mar 2011) | 1 line

Issue 11351 - apply patch by Steffen Daode Nurpmeso which should fix TestSendfile.test_headers failure on OSX.
................
r88730 | r.david.murray | 2011-03-03 19:03:36 +0100 (Thu, 03 Mar 2011) | 2 lines

#11306: Treat EROFS like EACCES when making a 'file is read-only' decision
................
r88733 | eli.bendersky | 2011-03-03 19:21:02 +0100 (Thu, 03 Mar 2011) | 3 lines

Issue #10516: added copy() and clear() methods to bytearrays as well
................
r88734 | giampaolo.rodola | 2011-03-03 19:34:06 +0100 (Thu, 03 Mar 2011) | 1 line

Issue 9795: adds context manager protocol to nntplib.NNTP class so that it can used with the 'with' statement.
................
r88735 | eli.bendersky | 2011-03-04 05:55:25 +0100 (Fri, 04 Mar 2011) | 2 lines

Issue #11386: Fixed the exception thrown by bytearray.pop() for empty bytearrays
................
r88740 | eli.bendersky | 2011-03-04 06:34:58 +0100 (Fri, 04 Mar 2011) | 3 lines

Issue #11388: Added a clear() method to MutableSequence
................
r88742 | eli.bendersky | 2011-03-04 11:38:14 +0100 (Fri, 04 Mar 2011) | 2 lines

Mentioned new clear() method of MutableSequence in its doc, and added unit tests for its mixin methods
................
r88744 | giampaolo.rodola | 2011-03-04 13:51:08 +0100 (Fri, 04 Mar 2011) | 1 line

Include Марк Коренберг and Steffen Daode Nurpmeso in Mist/ACKS for contributions in issues 11265 and 11351.
................
r88745 | giampaolo.rodola | 2011-03-04 13:54:34 +0100 (Fri, 04 Mar 2011) | 1 line

Update Misc/NEWS to include issue #9795 (nntplib context manager support)
................
r88746 | victor.stinner | 2011-03-04 13:57:07 +0100 (Fri, 04 Mar 2011) | 1 line

Issue #3080: Add PyModule_NewObject() function
................
r88747 | victor.stinner | 2011-03-04 13:57:09 +0100 (Fri, 04 Mar 2011) | 1 line

Issue #3080: Add PyImport_AddModuleObject() and PyImport_ExecCodeModuleObject()
................

Comments (0)

Files changed (491)

 [patterns]
-** = native
 
-**.bat  = CRLF
-**.def  = CRLF
-**.dsp  = CRLF
-**.dsw  = CRLF
-**.mak  = CRLF
-**.mk   = CRLF
-**.rc   = CRLF
-**.sln  = CRLF
-**.vcproj  = CRLF
-**.vsprops = CRLF
+# Non human-editable files are binary
+
+**.dsp  = BIN
+**.dsw  = BIN
+**.mk   = BIN
+**.sln  = BIN
+**.vcproj  = BIN
+**.vsprops = BIN
 
 **.aif  = BIN
 **.au   = BIN
 
 Lib/email/test/data/msg_26.txt = BIN
 Lib/test/sndhdrdata/sndhdr.* = BIN
+Lib/test/decimaltestdata/*.decTest = BIN
+
+# All other files (which presumably are human-editable) are "native".
+# This must be the last rule!
+
+** = native
 
 [repository]
-native = LF
+native = LF
 Parser/pgen.stamp$
 ^core
 ^python-gdb.py
+^python.exe-gdb.py
 ^pybuilddir.txt
 
 syntax: glob
 libpython*.a
+*.swp
 *.o
 *.pyc
 *.pyo
    * Andrew MacIntyre
    * Vladimir Marangozov
    * Vincent Marchetti
+   * Westley Martínez
    * Laura Matson
    * Daniel May
    * Rebecca McCreary
    * Ross Moore
    * Sjoerd Mullender
    * Dale Nagata
+   * Michal Nowikowski 
    * Ng Pheng Siong
    * Koray Oner
    * Tomas Oppelstrup
    * Joakim Sernbrant
    * Justin Sheehy
    * Charlie Shepherd
+   * SilentGhost
    * Michael Simcich
    * Ionel Simionescu
    * Michael Sloan
 checkout:
 	@if [ ! -d tools/sphinx ]; then \
 	  echo "Checking out Sphinx..."; \
-	  svn checkout $(SVNROOT)/external/Sphinx-1.0.5/sphinx tools/sphinx; \
+	  svn checkout $(SVNROOT)/external/Sphinx-1.0.7/sphinx tools/sphinx; \
 	fi
 	@if [ ! -d tools/docutils ]; then \
 	  echo "Checking out Docutils..."; \
 
 You'll need to install the Sphinx package, either by checking it out via ::
 
-   svn co http://svn.python.org/projects/external/Sphinx-1.0.5/sphinx tools/sphinx
+   svn co http://svn.python.org/projects/external/Sphinx-1.0.7/sphinx tools/sphinx
 
 or by installing it from PyPI.
 
 
 Each bug report will be assigned to a developer who will determine what needs to
 be done to correct the problem.  You will receive an update each time action is
-taken on the bug.  See http://www.python.org/dev/workflow/ for a detailed
-description of the issue workflow.
+taken on the bug.
 
 
 .. seealso::
 
+   `Python Developer's Guide <http://docs.python.org/devguide/>`_
+      Detailed description of the issue workflow and developers tools.
+
    `How to Report Bugs Effectively <http://www.chiark.greenend.org.uk/~sgtatham/bugs.html>`_
       Article which goes into some detail about how to create a useful bug report.
       This describes what kind of information is useful and why it is useful.

Doc/c-api/code.rst

 
    Return a new empty code object with the specified filename,
    function name, and first line number.  It is illegal to
-   :keyword:`exec` or :func:`eval` the resulting code object.
+   :func:`exec` or :func:`eval` the resulting code object.

Doc/c-api/import.rst

    an exception set on failure (the module still exists in this case).
 
 
-.. c:function:: PyObject* PyImport_AddModule(const char *name)
+.. c:function:: PyObject* PyImport_AddModuleObject(PyObject *name)
 
    Return the module object corresponding to a module name.  The *name* argument
    may be of the form ``package.module``. First check the modules dictionary if
       or one of its variants to import a module.  Package structures implied by a
       dotted name for *name* are not created if not already present.
 
+   .. versionadded:: 3.3
+
+
+.. c:function:: PyObject* PyImport_AddModule(const char *name)
+
+   Similar to :c:func:`PyImport_AddModuleObject`, but the name is an UTF-8
+   encoded string instead of a Unicode object.
+
 
 .. c:function:: PyObject* PyImport_ExecCodeModule(char *name, PyObject *co)
 
    See also :c:func:`PyImport_ExecCodeModuleWithPathnames`.
 
 
-.. c:function:: PyObject* PyImport_ExecCodeModuleWithPathnames(char *name, PyObject *co, char *pathname, char *cpathname)
+.. c:function:: PyObject* PyImport_ExecCodeModuleObject(PyObject *name, PyObject *co, PyObject *pathname, PyObject *cpathname)
 
    Like :c:func:`PyImport_ExecCodeModuleEx`, but the :attr:`__cached__`
    attribute of the module object is set to *cpathname* if it is
    non-``NULL``.  Of the three functions, this is the preferred one to use.
 
+   .. versionadded:: 3.3
+
+
+.. c:function:: PyObject* PyImport_ExecCodeModuleWithPathnames(char *name, PyObject *co, char *pathname, char *cpathname)
+
+   Like :c:func:`PyImport_ExecCodeModuleObject`, but *name*, *pathname* and
+   *cpathname* are UTF-8 encoded strings.
+
    .. versionadded:: 3.2
 
+
 .. c:function:: long PyImport_GetMagicNumber()
 
    Return the magic number for Python bytecode files (a.k.a. :file:`.pyc` and

Doc/c-api/init.rst

 *****************************************
 
 
+Initializing and finalizing the interpreter
+===========================================
+
+
 .. c:function:: void Py_Initialize()
 
    .. index::
       single: Py_SetProgramName()
       single: PyEval_InitThreads()
-      single: PyEval_ReleaseLock()
-      single: PyEval_AcquireLock()
       single: modules (in module sys)
       single: path (in module sys)
       module: builtins
    Initialize the Python interpreter.  In an application embedding  Python, this
    should be called before using any other Python/C API functions; with the
    exception of :c:func:`Py_SetProgramName`, :c:func:`Py_SetPath`,
-   :c:func:`PyEval_InitThreads`, :c:func:`PyEval_ReleaseLock`, and
-   :c:func:`PyEval_AcquireLock`. This initializes
+   and :c:func:`PyEval_InitThreads`. This initializes
    the table of loaded modules (``sys.modules``), and creates the fundamental
    modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`.  It also initializes
    the module search path (``sys.path``). It does not set ``sys.argv``; use
    :c:func:`Py_Finalize` more than once.
 
 
-.. c:function:: PyThreadState* Py_NewInterpreter()
-
-   .. index::
-      module: builtins
-      module: __main__
-      module: sys
-      single: stdout (in module sys)
-      single: stderr (in module sys)
-      single: stdin (in module sys)
-
-   Create a new sub-interpreter.  This is an (almost) totally separate environment
-   for the execution of Python code.  In particular, the new interpreter has
-   separate, independent versions of all imported modules, including the
-   fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`.  The
-   table of loaded modules (``sys.modules``) and the module search path
-   (``sys.path``) are also separate.  The new environment has no ``sys.argv``
-   variable.  It has new standard I/O stream file objects ``sys.stdin``,
-   ``sys.stdout`` and ``sys.stderr`` (however these refer to the same underlying
-   :c:type:`FILE` structures in the C library).
-
-   The return value points to the first thread state created in the new
-   sub-interpreter.  This thread state is made in the current thread state.
-   Note that no actual thread is created; see the discussion of thread states
-   below.  If creation of the new interpreter is unsuccessful, *NULL* is
-   returned; no exception is set since the exception state is stored in the
-   current thread state and there may not be a current thread state.  (Like all
-   other Python/C API functions, the global interpreter lock must be held before
-   calling this function and is still held when it returns; however, unlike most
-   other Python/C API functions, there needn't be a current thread state on
-   entry.)
-
-   .. index::
-      single: Py_Finalize()
-      single: Py_Initialize()
-
-   Extension modules are shared between (sub-)interpreters as follows: the first
-   time a particular extension is imported, it is initialized normally, and a
-   (shallow) copy of its module's dictionary is squirreled away.  When the same
-   extension is imported by another (sub-)interpreter, a new module is initialized
-   and filled with the contents of this copy; the extension's ``init`` function is
-   not called.  Note that this is different from what happens when an extension is
-   imported after the interpreter has been completely re-initialized by calling
-   :c:func:`Py_Finalize` and :c:func:`Py_Initialize`; in that case, the extension's
-   ``initmodule`` function *is* called again.
-
-   .. index:: single: close() (in module os)
-
-   **Bugs and caveats:** Because sub-interpreters (and the main interpreter) are
-   part of the same process, the insulation between them isn't perfect --- for
-   example, using low-level file operations like  :func:`os.close` they can
-   (accidentally or maliciously) affect each other's open files.  Because of the
-   way extensions are shared between (sub-)interpreters, some extensions may not
-   work properly; this is especially likely when the extension makes use of
-   (static) global variables, or when the extension manipulates its module's
-   dictionary after its initialization.  It is possible to insert objects created
-   in one sub-interpreter into a namespace of another sub-interpreter; this should
-   be done with great care to avoid sharing user-defined functions, methods,
-   instances or classes between sub-interpreters, since import operations executed
-   by such objects may affect the wrong (sub-)interpreter's dictionary of loaded
-   modules.  (XXX This is a hard-to-fix bug that will be addressed in a future
-   release.)
-
-   Also note that the use of this functionality is incompatible with extension
-   modules such as PyObjC and ctypes that use the :c:func:`PyGILState_\*` APIs (and
-   this is inherent in the way the :c:func:`PyGILState_\*` functions work).  Simple
-   things may work, but confusing behavior will always be near.
-
-
-.. c:function:: void Py_EndInterpreter(PyThreadState *tstate)
-
-   .. index:: single: Py_Finalize()
-
-   Destroy the (sub-)interpreter represented by the given thread state. The given
-   thread state must be the current thread state.  See the discussion of thread
-   states below.  When the call returns, the current thread state is *NULL*.  All
-   thread states associated with this interpreter are destroyed.  (The global
-   interpreter lock must be held before calling this function and is still held
-   when it returns.)  :c:func:`Py_Finalize` will destroy all sub-interpreters that
-   haven't been explicitly destroyed at that point.
+Process-wide parameters
+=======================
 
 
 .. c:function:: void Py_SetProgramName(wchar_t *name)
    single: lock, interpreter
 
 The Python interpreter is not fully thread-safe.  In order to support
-multi-threaded Python programs, there's a global lock, called the :dfn:`global
-interpreter lock` or :dfn:`GIL`, that must be held by the current thread before
+multi-threaded Python programs, there's a global lock, called the :term:`global
+interpreter lock` or :term:`GIL`, that must be held by the current thread before
 it can safely access Python objects. Without the lock, even the simplest
 operations could cause problems in a multi-threaded program: for example, when
 two threads simultaneously increment the reference count of the same object, the
 reference count could end up being incremented only once instead of twice.
 
-.. index:: single: setcheckinterval() (in module sys)
+.. index:: single: setswitchinterval() (in module sys)
 
-Therefore, the rule exists that only the thread that has acquired the global
-interpreter lock may operate on Python objects or call Python/C API functions.
-In order to support multi-threaded Python programs, the interpreter regularly
-releases and reacquires the lock --- by default, every 100 bytecode instructions
-(this can be changed with  :func:`sys.setcheckinterval`).  The lock is also
-released and reacquired around potentially blocking I/O operations like reading
-or writing a file, so that other threads can run while the thread that requests
-the I/O is waiting for the I/O operation to complete.
+Therefore, the rule exists that only the thread that has acquired the
+:term:`GIL` may operate on Python objects or call Python/C API functions.
+In order to emulate concurrency of execution, the interpreter regularly
+tries to switch threads (see :func:`sys.setswitchinterval`).  The lock is also
+released around potentially blocking I/O operations like reading or writing
+a file, so that other Python threads can run in the meantime.
 
 .. index::
    single: PyThreadState
    single: PyThreadState
 
-The Python interpreter needs to keep some bookkeeping information separate per
-thread --- for this it uses a data structure called :c:type:`PyThreadState`.
-There's one global variable, however: the pointer to the current
-:c:type:`PyThreadState` structure.  Before the addition of :dfn:`thread-local
-storage` (:dfn:`TLS`) the current thread state had to be manipulated
-explicitly.
+The Python interpreter keeps some thread-specific bookkeeping information
+inside a data structure called :c:type:`PyThreadState`.  There's also one
+global variable pointing to the current :c:type:`PyThreadState`: it can
+be retrieved using :c:func:`PyThreadState_Get`.
 
-This is easy enough in most cases.  Most code manipulating the global
-interpreter lock has the following simple structure::
+Releasing the GIL from extension code
+-------------------------------------
+
+Most extension code manipulating the :term:`GIL` has the following simple
+structure::
 
    Save the thread state in a local variable.
    Release the global interpreter lock.
-   ...Do some blocking I/O operation...
+   ... Do some blocking I/O operation ...
    Reacquire the global interpreter lock.
    Restore the thread state from the local variable.
 
 This is so common that a pair of macros exists to simplify it::
 
    Py_BEGIN_ALLOW_THREADS
-   ...Do some blocking I/O operation...
+   ... Do some blocking I/O operation ...
    Py_END_ALLOW_THREADS
 
 .. index::
 
 The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a
 hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the
-block.  Another advantage of using these two macros is that when Python is
-compiled without thread support, they are defined empty, thus saving the thread
-state and GIL manipulations.
+block.  These two macros are still available when Python is compiled without
+thread support (they simply have an empty expansion).
 
 When thread support is enabled, the block above expands to the following code::
 
    ...Do some blocking I/O operation...
    PyEval_RestoreThread(_save);
 
-Using even lower level primitives, we can get roughly the same effect as
-follows::
-
-   PyThreadState *_save;
-
-   _save = PyThreadState_Swap(NULL);
-   PyEval_ReleaseLock();
-   ...Do some blocking I/O operation...
-   PyEval_AcquireLock();
-   PyThreadState_Swap(_save);
-
 .. index::
    single: PyEval_RestoreThread()
-   single: errno
    single: PyEval_SaveThread()
-   single: PyEval_ReleaseLock()
-   single: PyEval_AcquireLock()
 
-There are some subtle differences; in particular, :c:func:`PyEval_RestoreThread`
-saves and restores the value of the  global variable :c:data:`errno`, since the
-lock manipulation does not guarantee that :c:data:`errno` is left alone.  Also,
-when thread support is disabled, :c:func:`PyEval_SaveThread` and
-:c:func:`PyEval_RestoreThread` don't manipulate the GIL; in this case,
-:c:func:`PyEval_ReleaseLock` and :c:func:`PyEval_AcquireLock` are not available.
-This is done so that dynamically loaded extensions compiled with thread support
-enabled can be loaded by an interpreter that was compiled with disabled thread
-support.
+Here is how these functions work: the global interpreter lock is used to protect the pointer to the
+current thread state.  When releasing the lock and saving the thread state,
+the current thread state pointer must be retrieved before the lock is released
+(since another thread could immediately acquire the lock and store its own thread
+state in the global variable). Conversely, when acquiring the lock and restoring
+the thread state, the lock must be acquired before storing the thread state
+pointer.
 
-The global interpreter lock is used to protect the pointer to the current thread
-state.  When releasing the lock and saving the thread state, the current thread
-state pointer must be retrieved before the lock is released (since another
-thread could immediately acquire the lock and store its own thread state in the
-global variable). Conversely, when acquiring the lock and restoring the thread
-state, the lock must be acquired before storing the thread state pointer.
+.. note::
+   Calling system I/O functions is the most common use case for releasing
+   the GIL, but it can also be useful before calling long-running computations
+   which don't need access to Python objects, such as compression or
+   cryptographic functions operating over memory buffers.  For example, the
+   standard :mod:`zlib` and :mod:`hashlib` modules release the GIL when
+   compressing or hashing data.
 
-It is important to note that when threads are created from C, they don't have
-the global interpreter lock, nor is there a thread state data structure for
-them.  Such threads must bootstrap themselves into existence, by first
-creating a thread state data structure, then acquiring the lock, and finally
-storing their thread state pointer, before they can start using the Python/C
-API.  When they are done, they should reset the thread state pointer, release
-the lock, and finally free their thread state data structure.
+Non-Python created threads
+--------------------------
 
-Threads can take advantage of the :c:func:`PyGILState_\*` functions to do all of
-the above automatically.  The typical idiom for calling into Python from a C
-thread is now::
+When threads are created using the dedicated Python APIs (such as the
+:mod:`threading` module), a thread state is automatically associated to them
+and the code showed above is therefore correct.  However, when threads are
+created from C (for example by a third-party library with its own thread
+management), they don't hold the GIL, nor is there a thread state structure
+for them.
+
+If you need to call Python code from these threads (often this will be part
+of a callback API provided by the aforementioned third-party library),
+you must first register these threads with the interpreter by
+creating a thread state data structure, then acquiring the GIL, and finally
+storing their thread state pointer, before you can start using the Python/C
+API.  When you are done, you should reset the thread state pointer, release
+the GIL, and finally free the thread state data structure.
+
+The :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` functions do
+all of the above automatically.  The typical idiom for calling into Python
+from a C thread is::
 
    PyGILState_STATE gstate;
    gstate = PyGILState_Ensure();
 
-   /* Perform Python actions here.  */
+   /* Perform Python actions here. */
    result = CallSomeFunction();
-   /* evaluate result */
+   /* evaluate result or handle exception */
 
    /* Release the thread. No Python API allowed beyond this point. */
    PyGILState_Release(gstate);
 
 Note that the :c:func:`PyGILState_\*` functions assume there is only one global
-interpreter (created automatically by :c:func:`Py_Initialize`).  Python still
+interpreter (created automatically by :c:func:`Py_Initialize`).  Python
 supports the creation of additional interpreters (using
 :c:func:`Py_NewInterpreter`), but mixing multiple interpreters and the
 :c:func:`PyGILState_\*` API is unsupported.
 :c:func:`PyOS_AfterFork` tries to reset the necessary locks, but is not
 always able to.
 
+
+High-level API
+--------------
+
+These are the most commonly used types and functions when writing C extension
+code, or when embedding the Python interpreter:
+
 .. c:type:: PyInterpreterState
 
    This data structure represents the state shared by a number of cooperating
 .. c:function:: void PyEval_InitThreads()
 
    .. index::
-      single: PyEval_ReleaseLock()
+      single: PyEval_AcquireThread()
       single: PyEval_ReleaseThread()
       single: PyEval_SaveThread()
       single: PyEval_RestoreThread()
 
    Initialize and acquire the global interpreter lock.  It should be called in the
    main thread before creating a second thread or engaging in any other thread
-   operations such as :c:func:`PyEval_ReleaseLock` or
-   ``PyEval_ReleaseThread(tstate)``. It is not needed before calling
-   :c:func:`PyEval_SaveThread` or :c:func:`PyEval_RestoreThread`.
+   operations such as ``PyEval_ReleaseThread(tstate)``. It is not needed before
+   calling :c:func:`PyEval_SaveThread` or :c:func:`PyEval_RestoreThread`.
 
    .. index:: single: Py_Initialize()
 
 
    .. index:: module: _thread
 
-   When only the main thread exists, no GIL operations are needed. This is a
-   common situation (most Python programs do not use threads), and the lock
-   operations slow the interpreter down a bit. Therefore, the lock is not
-   created initially.  This situation is equivalent to having acquired the lock:
-   when there is only a single thread, all object accesses are safe.  Therefore,
-   when this function initializes the global interpreter lock, it also acquires
-   it.  Before the Python :mod:`_thread` module creates a new thread, knowing
-   that either it has the lock or the lock hasn't been created yet, it calls
-   :c:func:`PyEval_InitThreads`.  When this call returns, it is guaranteed that
-   the lock has been created and that the calling thread has acquired it.
+   .. note::
+      When only the main thread exists, no GIL operations are needed. This is a
+      common situation (most Python programs do not use threads), and the lock
+      operations slow the interpreter down a bit. Therefore, the lock is not
+      created initially.  This situation is equivalent to having acquired the lock:
+      when there is only a single thread, all object accesses are safe.  Therefore,
+      when this function initializes the global interpreter lock, it also acquires
+      it.  Before the Python :mod:`_thread` module creates a new thread, knowing
+      that either it has the lock or the lock hasn't been created yet, it calls
+      :c:func:`PyEval_InitThreads`.  When this call returns, it is guaranteed that
+      the lock has been created and that the calling thread has acquired it.
 
-   It is **not** safe to call this function when it is unknown which thread (if
-   any) currently has the global interpreter lock.
+      It is **not** safe to call this function when it is unknown which thread (if
+      any) currently has the global interpreter lock.
 
-   This function is not available when thread support is disabled at compile time.
+      This function is not available when thread support is disabled at compile time.
 
 
 .. c:function:: int PyEval_ThreadsInitialized()
    not available when thread support is disabled at compile time.
 
 
-.. c:function:: void PyEval_AcquireLock()
-
-   Acquire the global interpreter lock.  The lock must have been created earlier.
-   If this thread already has the lock, a deadlock ensues.  This function is not
-   available when thread support is disabled at compile time.
-
-
-.. c:function:: void PyEval_ReleaseLock()
-
-   Release the global interpreter lock.  The lock must have been created earlier.
-   This function is not available when thread support is disabled at compile time.
-
-
-.. c:function:: void PyEval_AcquireThread(PyThreadState *tstate)
-
-   Acquire the global interpreter lock and set the current thread state to
-   *tstate*, which should not be *NULL*.  The lock must have been created earlier.
-   If this thread already has the lock, deadlock ensues.  This function is not
-   available when thread support is disabled at compile time.
-
-
-.. c:function:: void PyEval_ReleaseThread(PyThreadState *tstate)
-
-   Reset the current thread state to *NULL* and release the global interpreter
-   lock.  The lock must have been created earlier and must be held by the current
-   thread.  The *tstate* argument, which must not be *NULL*, is only used to check
-   that it represents the current thread state --- if it isn't, a fatal error is
-   reported. This function is not available when thread support is disabled at
-   compile time.
-
-
 .. c:function:: PyThreadState* PyEval_SaveThread()
 
    Release the global interpreter lock (if it has been created and thread
    when thread support is disabled at compile time.)
 
 
+.. c:function:: PyThreadState* PyThreadState_Get()
+
+   Return the current thread state.  The global interpreter lock must be held.
+   When the current thread state is *NULL*, this issues a fatal error (so that
+   the caller needn't check for *NULL*).
+
+
+.. c:function:: PyThreadState* PyThreadState_Swap(PyThreadState *tstate)
+
+   Swap the current thread state with the thread state given by the argument
+   *tstate*, which may be *NULL*.  The global interpreter lock must be held
+   and is not released.
+
+
 .. c:function:: void PyEval_ReInitThreads()
 
    This function is called from :c:func:`PyOS_AfterFork` to ensure that newly
    are not running in the child process.
 
 
-The following macros are normally used without a trailing semicolon; look for
-example usage in the Python source distribution.
-
-
-.. c:macro:: Py_BEGIN_ALLOW_THREADS
-
-   This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();``.
-   Note that it contains an opening brace; it must be matched with a following
-   :c:macro:`Py_END_ALLOW_THREADS` macro.  See above for further discussion of this
-   macro.  It is a no-op when thread support is disabled at compile time.
-
-
-.. c:macro:: Py_END_ALLOW_THREADS
-
-   This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it contains
-   a closing brace; it must be matched with an earlier
-   :c:macro:`Py_BEGIN_ALLOW_THREADS` macro.  See above for further discussion of
-   this macro.  It is a no-op when thread support is disabled at compile time.
-
-
-.. c:macro:: Py_BLOCK_THREADS
-
-   This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to
-   :c:macro:`Py_END_ALLOW_THREADS` without the closing brace.  It is a no-op when
-   thread support is disabled at compile time.
-
-
-.. c:macro:: Py_UNBLOCK_THREADS
-
-   This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to
-   :c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable
-   declaration.  It is a no-op when thread support is disabled at compile time.
-
-All of the following functions are only available when thread support is enabled
-at compile time, and must be called only when the global interpreter lock has
-been created.
-
-
-.. c:function:: PyInterpreterState* PyInterpreterState_New()
-
-   Create a new interpreter state object.  The global interpreter lock need not
-   be held, but may be held if it is necessary to serialize calls to this
-   function.
-
-
-.. c:function:: void PyInterpreterState_Clear(PyInterpreterState *interp)
-
-   Reset all information in an interpreter state object.  The global interpreter
-   lock must be held.
-
-
-.. c:function:: void PyInterpreterState_Delete(PyInterpreterState *interp)
-
-   Destroy an interpreter state object.  The global interpreter lock need not be
-   held.  The interpreter state must have been reset with a previous call to
-   :c:func:`PyInterpreterState_Clear`.
-
-
-.. c:function:: PyThreadState* PyThreadState_New(PyInterpreterState *interp)
-
-   Create a new thread state object belonging to the given interpreter object.
-   The global interpreter lock need not be held, but may be held if it is
-   necessary to serialize calls to this function.
-
-
-.. c:function:: void PyThreadState_Clear(PyThreadState *tstate)
-
-   Reset all information in a thread state object.  The global interpreter lock
-   must be held.
-
-
-.. c:function:: void PyThreadState_Delete(PyThreadState *tstate)
-
-   Destroy a thread state object.  The global interpreter lock need not be held.
-   The thread state must have been reset with a previous call to
-   :c:func:`PyThreadState_Clear`.
-
-
-.. c:function:: PyThreadState* PyThreadState_Get()
-
-   Return the current thread state.  The global interpreter lock must be held.
-   When the current thread state is *NULL*, this issues a fatal error (so that
-   the caller needn't check for *NULL*).
-
-
-.. c:function:: PyThreadState* PyThreadState_Swap(PyThreadState *tstate)
-
-   Swap the current thread state with the thread state given by the argument
-   *tstate*, which may be *NULL*.  The global interpreter lock must be held.
-
-
-.. c:function:: PyObject* PyThreadState_GetDict()
-
-   Return a dictionary in which extensions can store thread-specific state
-   information.  Each extension should use a unique key to use to store state in
-   the dictionary.  It is okay to call this function when no current thread state
-   is available. If this function returns *NULL*, no exception has been raised and
-   the caller should assume no current thread state is available.
-
-
-.. c:function:: int PyThreadState_SetAsyncExc(long id, PyObject *exc)
-
-   Asynchronously raise an exception in a thread. The *id* argument is the thread
-   id of the target thread; *exc* is the exception object to be raised. This
-   function does not steal any references to *exc*. To prevent naive misuse, you
-   must write your own C extension to call this.  Must be called with the GIL held.
-   Returns the number of thread states modified; this is normally one, but will be
-   zero if the thread id isn't found.  If *exc* is :const:`NULL`, the pending
-   exception (if any) for the thread is cleared. This raises no exceptions.
-
+The following functions use thread-local storage, and are not compatible
+with sub-interpreters:
 
 .. c:function:: PyGILState_STATE PyGILState_Ensure()
 
    unique call to :c:func:`PyGILState_Ensure` must save the handle for its call
    to :c:func:`PyGILState_Release`.
 
-   When the function returns, the current thread will hold the GIL. Failure is a
-   fatal error.
+   When the function returns, the current thread will hold the GIL and be able
+   to call arbitrary Python code.  Failure is a fatal error.
 
 
 .. c:function:: void PyGILState_Release(PyGILState_STATE)
    Release any resources previously acquired.  After this call, Python's state will
    be the same as it was prior to the corresponding :c:func:`PyGILState_Ensure` call
    (but generally this state will be unknown to the caller, hence the use of the
-   GILState API.)
+   GILState API).
 
    Every call to :c:func:`PyGILState_Ensure` must be matched by a call to
    :c:func:`PyGILState_Release` on the same thread.
 
 
+The following macros are normally used without a trailing semicolon; look for
+example usage in the Python source distribution.
+
+
+.. c:macro:: Py_BEGIN_ALLOW_THREADS
+
+   This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();``.
+   Note that it contains an opening brace; it must be matched with a following
+   :c:macro:`Py_END_ALLOW_THREADS` macro.  See above for further discussion of this
+   macro.  It is a no-op when thread support is disabled at compile time.
+
+
+.. c:macro:: Py_END_ALLOW_THREADS
+
+   This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it contains
+   a closing brace; it must be matched with an earlier
+   :c:macro:`Py_BEGIN_ALLOW_THREADS` macro.  See above for further discussion of
+   this macro.  It is a no-op when thread support is disabled at compile time.
+
+
+.. c:macro:: Py_BLOCK_THREADS
+
+   This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to
+   :c:macro:`Py_END_ALLOW_THREADS` without the closing brace.  It is a no-op when
+   thread support is disabled at compile time.
+
+
+.. c:macro:: Py_UNBLOCK_THREADS
+
+   This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to
+   :c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable
+   declaration.  It is a no-op when thread support is disabled at compile time.
+
+
+Low-level API
+-------------
+
+All of the following functions are only available when thread support is enabled
+at compile time, and must be called only when the global interpreter lock has
+been created.
+
+
+.. c:function:: PyInterpreterState* PyInterpreterState_New()
+
+   Create a new interpreter state object.  The global interpreter lock need not
+   be held, but may be held if it is necessary to serialize calls to this
+   function.
+
+
+.. c:function:: void PyInterpreterState_Clear(PyInterpreterState *interp)
+
+   Reset all information in an interpreter state object.  The global interpreter
+   lock must be held.
+
+
+.. c:function:: void PyInterpreterState_Delete(PyInterpreterState *interp)
+
+   Destroy an interpreter state object.  The global interpreter lock need not be
+   held.  The interpreter state must have been reset with a previous call to
+   :c:func:`PyInterpreterState_Clear`.
+
+
+.. c:function:: PyThreadState* PyThreadState_New(PyInterpreterState *interp)
+
+   Create a new thread state object belonging to the given interpreter object.
+   The global interpreter lock need not be held, but may be held if it is
+   necessary to serialize calls to this function.
+
+
+.. c:function:: void PyThreadState_Clear(PyThreadState *tstate)
+
+   Reset all information in a thread state object.  The global interpreter lock
+   must be held.
+
+
+.. c:function:: void PyThreadState_Delete(PyThreadState *tstate)
+
+   Destroy a thread state object.  The global interpreter lock need not be held.
+   The thread state must have been reset with a previous call to
+   :c:func:`PyThreadState_Clear`.
+
+
+.. c:function:: PyObject* PyThreadState_GetDict()
+
+   Return a dictionary in which extensions can store thread-specific state
+   information.  Each extension should use a unique key to use to store state in
+   the dictionary.  It is okay to call this function when no current thread state
+   is available. If this function returns *NULL*, no exception has been raised and
+   the caller should assume no current thread state is available.
+
+
+.. c:function:: int PyThreadState_SetAsyncExc(long id, PyObject *exc)
+
+   Asynchronously raise an exception in a thread. The *id* argument is the thread
+   id of the target thread; *exc* is the exception object to be raised. This
+   function does not steal any references to *exc*. To prevent naive misuse, you
+   must write your own C extension to call this.  Must be called with the GIL held.
+   Returns the number of thread states modified; this is normally one, but will be
+   zero if the thread id isn't found.  If *exc* is :const:`NULL`, the pending
+   exception (if any) for the thread is cleared. This raises no exceptions.
+
+
+.. c:function:: void PyEval_AcquireThread(PyThreadState *tstate)
+
+   Acquire the global interpreter lock and set the current thread state to
+   *tstate*, which should not be *NULL*.  The lock must have been created earlier.
+   If this thread already has the lock, deadlock ensues.
+
+   :c:func:`PyEval_RestoreThread` is a higher-level function which is always
+   available (even when thread support isn't enabled or when threads have
+   not been initialized).
+
+
+.. c:function:: void PyEval_ReleaseThread(PyThreadState *tstate)
+
+   Reset the current thread state to *NULL* and release the global interpreter
+   lock.  The lock must have been created earlier and must be held by the current
+   thread.  The *tstate* argument, which must not be *NULL*, is only used to check
+   that it represents the current thread state --- if it isn't, a fatal error is
+   reported.
+
+   :c:func:`PyEval_SaveThread` is a higher-level function which is always
+   available (even when thread support isn't enabled or when threads have
+   not been initialized).
+
+
+.. c:function:: void PyEval_AcquireLock()
+
+   Acquire the global interpreter lock.  The lock must have been created earlier.
+   If this thread already has the lock, a deadlock ensues.
+
+   .. deprecated:: 3.2
+      This function does not update the current thread state.  Please use
+      :c:func:`PyEval_RestoreThread` or :c:func:`PyEval_AcquireThread`
+      instead.
+
+
+.. c:function:: void PyEval_ReleaseLock()
+
+   Release the global interpreter lock.  The lock must have been created earlier.
+
+   .. deprecated:: 3.2
+      This function does not update the current thread state.  Please use
+      :c:func:`PyEval_SaveThread` or :c:func:`PyEval_ReleaseThread`
+      instead.
+
+
+Sub-interpreter support
+=======================
+
+While in most uses, you will only embed a single Python interpreter, there
+are cases where you need to create several independent interpreters in the
+same process and perhaps even in the same thread.  Sub-interpreters allow
+you to do that.  You can switch between sub-interpreters using the
+:c:func:`PyThreadState_Swap` function.  You can create and destroy them
+using the following functions:
+
+
+.. c:function:: PyThreadState* Py_NewInterpreter()
+
+   .. index::
+      module: builtins
+      module: __main__
+      module: sys
+      single: stdout (in module sys)
+      single: stderr (in module sys)
+      single: stdin (in module sys)
+
+   Create a new sub-interpreter.  This is an (almost) totally separate environment
+   for the execution of Python code.  In particular, the new interpreter has
+   separate, independent versions of all imported modules, including the
+   fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`.  The
+   table of loaded modules (``sys.modules``) and the module search path
+   (``sys.path``) are also separate.  The new environment has no ``sys.argv``
+   variable.  It has new standard I/O stream file objects ``sys.stdin``,
+   ``sys.stdout`` and ``sys.stderr`` (however these refer to the same underlying
+   file descriptors).
+
+   The return value points to the first thread state created in the new
+   sub-interpreter.  This thread state is made in the current thread state.
+   Note that no actual thread is created; see the discussion of thread states
+   below.  If creation of the new interpreter is unsuccessful, *NULL* is
+   returned; no exception is set since the exception state is stored in the
+   current thread state and there may not be a current thread state.  (Like all
+   other Python/C API functions, the global interpreter lock must be held before
+   calling this function and is still held when it returns; however, unlike most
+   other Python/C API functions, there needn't be a current thread state on
+   entry.)
+
+   .. index::
+      single: Py_Finalize()
+      single: Py_Initialize()
+
+   Extension modules are shared between (sub-)interpreters as follows: the first
+   time a particular extension is imported, it is initialized normally, and a
+   (shallow) copy of its module's dictionary is squirreled away.  When the same
+   extension is imported by another (sub-)interpreter, a new module is initialized
+   and filled with the contents of this copy; the extension's ``init`` function is
+   not called.  Note that this is different from what happens when an extension is
+   imported after the interpreter has been completely re-initialized by calling
+   :c:func:`Py_Finalize` and :c:func:`Py_Initialize`; in that case, the extension's
+   ``initmodule`` function *is* called again.
+
+   .. index:: single: close() (in module os)
+
+
+.. c:function:: void Py_EndInterpreter(PyThreadState *tstate)
+
+   .. index:: single: Py_Finalize()
+
+   Destroy the (sub-)interpreter represented by the given thread state. The given
+   thread state must be the current thread state.  See the discussion of thread
+   states below.  When the call returns, the current thread state is *NULL*.  All
+   thread states associated with this interpreter are destroyed.  (The global
+   interpreter lock must be held before calling this function and is still held
+   when it returns.)  :c:func:`Py_Finalize` will destroy all sub-interpreters that
+   haven't been explicitly destroyed at that point.
+
+
+Bugs and caveats
+----------------
+
+Because sub-interpreters (and the main interpreter) are part of the same
+process, the insulation between them isn't perfect --- for example, using
+low-level file operations like  :func:`os.close` they can
+(accidentally or maliciously) affect each other's open files.  Because of the
+way extensions are shared between (sub-)interpreters, some extensions may not
+work properly; this is especially likely when the extension makes use of
+(static) global variables, or when the extension manipulates its module's
+dictionary after its initialization.  It is possible to insert objects created
+in one sub-interpreter into a namespace of another sub-interpreter; this should
+be done with great care to avoid sharing user-defined functions, methods,
+instances or classes between sub-interpreters, since import operations executed
+by such objects may affect the wrong (sub-)interpreter's dictionary of loaded
+modules.
+
+Also note that combining this functionality with :c:func:`PyGILState_\*` APIs
+is delicate, become these APIs assume a bijection between Python thread states
+and OS-level threads, an assumption broken by the presence of sub-interpreters.
+It is highly recommended that you don't switch sub-interpreters between a pair
+of matching :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` calls.
+Furthermore, extensions (such as :mod:`ctypes`) using these APIs to allow calling
+of Python code from non-Python created threads will probably be broken when using
+sub-interpreters.
+
 
 Asynchronous Notifications
 ==========================

Doc/c-api/module.rst

    :c:data:`PyModule_Type`.
 
 
-.. c:function:: PyObject* PyModule_New(const char *name)
+.. c:function:: PyObject* PyModule_NewObject(PyObject *name)
 
    .. index::
       single: __name__ (module attribute)
    Only the module's :attr:`__doc__` and :attr:`__name__` attributes are filled in;
    the caller is responsible for providing a :attr:`__file__` attribute.
 
+   .. versionadded:: 3.3
+
+
+.. c:function:: PyObject* PyModule_New(const char *name)
+
+   Similar to :c:func:`PyImport_NewObject`, but the name is an UTF-8 encoded
+   string instead of a Unicode object.
+
 
 .. c:function:: PyObject* PyModule_GetDict(PyObject *module)
 
    manipulate a module's :attr:`__dict__`.
 
 
-.. c:function:: char* PyModule_GetName(PyObject *module)
+.. c:function:: PyObject* PyModule_GetNameObject(PyObject *module)
 
    .. index::
       single: __name__ (module attribute)
    Return *module*'s :attr:`__name__` value.  If the module does not provide one,
    or if it is not a string, :exc:`SystemError` is raised and *NULL* is returned.
 
+   .. versionadded:: 3.3
 
-.. c:function:: char* PyModule_GetFilename(PyObject *module)
 
-   Similar to :c:func:`PyModule_GetFilenameObject` but return the filename
-   encoded to 'utf-8'.
+.. c:function:: char* PyModule_GetName(PyObject *module)
 
-   .. deprecated:: 3.2
-      :c:func:`PyModule_GetFilename` raises :c:type:`UnicodeEncodeError` on
-      unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead.
+   Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to
+   ``'utf-8'``.
 
 
 .. c:function:: PyObject* PyModule_GetFilenameObject(PyObject *module)
    .. versionadded:: 3.2
 
 
+.. c:function:: char* PyModule_GetFilename(PyObject *module)
+
+   Similar to :c:func:`PyModule_GetFilenameObject` but return the filename
+   encoded to 'utf-8'.
+
+   .. deprecated:: 3.2
+      :c:func:`PyModule_GetFilename` raises :c:type:`UnicodeEncodeError` on
+      unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead.
+
+
 .. c:function:: void* PyModule_GetState(PyObject *module)
 
    Return the "state" of the module, that is, a pointer to the block of memory

Doc/c-api/object.rst

    Python expression ``o1 op o2``, where ``op`` is the operator corresponding to
    *opid*.
 
+.. note::
+   If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool`
+   will always return ``1`` for :const:`Py_EQ` and ``0`` for :const:`Py_NE`.
 
 .. c:function:: PyObject* PyObject_Repr(PyObject *o)
 

Doc/c-api/type.rst

 
    Clear the internal lookup cache. Return the current version tag.
 
+.. c:function:: long PyType_GetFlags(PyTypeObject* type)
+
+   Return the :attr:`tp_flags` member of *type*. This function is primarily
+   meant for use with `Py_LIMITED_API`; the individual flag bits are
+   guaranteed to be stable across Python releases, but access to
+   :attr:`tp_flags` itself is not part of the limited API.
+
+   .. versionadded:: 3.2
 
 .. c:function:: void PyType_Modified(PyTypeObject *type)
 

Doc/c-api/unicode.rst

    | :attr:`%ld`       | long                | Exactly equivalent to          |
    |                   |                     | ``printf("%ld")``.             |
    +-------------------+---------------------+--------------------------------+
+   | :attr:`%li`       | long                | Exactly equivalent to          |
+   |                   |                     | ``printf("%li")``.             |
+   +-------------------+---------------------+--------------------------------+
    | :attr:`%lu`       | unsigned long       | Exactly equivalent to          |
    |                   |                     | ``printf("%lu")``.             |
    +-------------------+---------------------+--------------------------------+
    | :attr:`%lld`      | long long           | Exactly equivalent to          |
    |                   |                     | ``printf("%lld")``.            |
    +-------------------+---------------------+--------------------------------+
+   | :attr:`%lli`      | long long           | Exactly equivalent to          |
+   |                   |                     | ``printf("%lli")``.            |
+   +-------------------+---------------------+--------------------------------+
    | :attr:`%llu`      | unsigned long long  | Exactly equivalent to          |
    |                   |                     | ``printf("%llu")``.            |
    +-------------------+---------------------+--------------------------------+
    | :attr:`%zd`       | Py_ssize_t          | Exactly equivalent to          |
    |                   |                     | ``printf("%zd")``.             |
    +-------------------+---------------------+--------------------------------+
+   | :attr:`%zi`       | Py_ssize_t          | Exactly equivalent to          |
+   |                   |                     | ``printf("%zi")``.             |
+   +-------------------+---------------------+--------------------------------+
    | :attr:`%zu`       | size_t              | Exactly equivalent to          |
    |                   |                     | ``printf("%zu")``.             |
    +-------------------+---------------------+--------------------------------+
    .. versionchanged:: 3.2
       Support for ``"%lld"`` and ``"%llu"`` added.
 
+   .. versionchanged:: 3.3
+      Support for ``"%li"``, ``"%lli"`` and ``"%zi"`` added.
+
 
 .. c:function:: PyObject* PyUnicode_FromFormatV(const char *format, va_list vargs)
 

Doc/distutils/uploading.rst

 
     from distutils.core import setup
 
+    with open('README.txt') as file:
+        long_description = file.read()
+
     setup(name='Distutils',
-          long_description=open('README.txt'))
+          long_description=long_description)
 
 In that case, :file:`README.txt` is a regular reStructuredText text file located
 in the root of the package besides :file:`setup.py`.

Doc/documenting/markup.rst

 The ``:ref:`` invocation is replaced with the section title.
 
 Alternatively, you can reference any label (not just section titles)
-if you provide the link text ``:ref:`link text`<reference-label>```.
+if you provide the link text ``:ref:`link text <reference-label>```.
 
 Paragraph-level markup
 ----------------------

Doc/faq/design.rst

 .. XXX check which of these projects are still alive
 
 There are also several programs which make it easier to intermingle Python and C
-code in various ways to increase performance.  See, for example, `Psyco
-<http://psyco.sourceforge.net/>`_, `Pyrex
-<http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/>`_, `PyInline