Go to file
Georg Brandl 5473410ee7 Blocked revisions 66721-66722,66744-66745,66752,66756,66763-66765,66768,66791-66792,66822-66823,66832,66836,66852,66857,66868,66878,66894,66902,66912,66989,66994,67013,67015,67049,67065,67171,67226,67234,67287,67342,67348-67349,67353,67396,67407,67411,67442,67511,67521,67536-67537,67543,67572,67584,67587,67601,67614,67628,67818,67822,67850,67857,67902,67946,67954,67976,67978-67980,67985,68089,68092,68119,68150,68153,68156,68158,68163,68167,68176,68203,68208-68209,68231,68238,68240,68243,68296,68299,68302,68304,68311,68314,68319,68381,68395,68415,68425,68432,68455,68458-68462,68476,68484-68485,68487,68496,68498,68532,68542,68544-68546,68559-68560,68562,68565-68569,68571,68592,68596-68597,68603-68604,68607,68618,68648,68665,68667,68676,68722,68739,68763-68764,68766,68772-68773,68785,68789,68792-68793,68803,68807,68826,68829,68831,68839-68840,68843,68845,68850,68853,68881,68884,68892,68925,68927,68929,68933,68941-68943,68953,68964,68985,68998,69001,69003,69010,69012,69014,69018,69023,69039,69050,69053,69060-69063,69070,69074,69080,69085,69087,69112-69113,69129-69130,69134,69139,69143,69146,69149,69154,69156,69158,69169,69195,69211-69212,69227,69237,69242,69252-69253,69257,69260,69262,69268,69285,69302-69303,69305,69315,69322,69324,69330-69332,69342,69356,69360,69364-69366,69373-69374,69377,69385,69389,69394,69404,69410,69413,69415,69419-69420,69425,69443,69447,69459-69460,69466-69467,69470,69473-69474,69480-69481,69495,69498,69516,69521-69522,69525,69528,69530,69561,69566,69578-69580,69582-69583,69591,69594,69602,69604,69609-69610,69617,69619,69634,69639,69666,69685,69688-69690,69692-69693,69700,69709-69710,69715-69716,69724,69739,69743,69748,69751,69757,69761,69765,69770,69772,69777,69795,69811,69837-69838,69855,69861,69870-69871,69874,69878,69881,69889,69901-69902,69907-69908,69937,69946-69947,69952-69953,69955,69959,69974,69976,69981,69983,69994,70000 via svnmerge
........
  r66721 | barry.warsaw | 2008-10-02 03:33:51 +0000 (Do, 02 Okt 2008) | 1 line

  Bump to 2.7a0
........
  r66722 | martin.v.loewis | 2008-10-02 11:44:17 +0000 (Do, 02 Okt 2008) | 1 line

  Use CRT 9 policy files.
........
  r66744 | benjamin.peterson | 2008-10-02 19:00:31 +0000 (Do, 02 Okt 2008) | 1 line

  we're in 2.7 now
........
  r66745 | georg.brandl | 2008-10-02 19:09:47 +0000 (Do, 02 Okt 2008) | 2 lines

  Forward-port r66736.
........
  r66752 | martin.v.loewis | 2008-10-02 20:04:47 +0000 (Do, 02 Okt 2008) | 2 lines

  Add UUID for 2.7.
........
  r66756 | benjamin.peterson | 2008-10-02 20:46:58 +0000 (Do, 02 Okt 2008) | 1 line

  update pydoc topics
........
  r66763 | neal.norwitz | 2008-10-03 04:13:08 +0000 (Fr, 03 Okt 2008) | 1 line

  Update the version to 2.7.  Hopefully this fixes the test_distutils failure
........
  r66764 | martin.v.loewis | 2008-10-03 08:59:41 +0000 (Fr, 03 Okt 2008) | 2 lines

  Bump version to 2.7. Regenerate.
........
  r66765 | martin.v.loewis | 2008-10-03 10:59:55 +0000 (Fr, 03 Okt 2008) | 1 line

  Update version number to 2.7.
........
  r66768 | hirokazu.yamamoto | 2008-10-03 16:07:28 +0000 (Fr, 03 Okt 2008) | 1 line

  Follows to python's version change (VC6)
........
  r66791 | andrew.kuchling | 2008-10-04 16:52:31 +0000 (Sa, 04 Okt 2008) | 1 line

  Add What's New for 2.7
........
  r66792 | benjamin.peterson | 2008-10-04 17:10:14 +0000 (Sa, 04 Okt 2008) | 1 line

  silence Sphinx warning
........
  r66822 | skip.montanaro | 2008-10-07 01:55:20 +0000 (Di, 07 Okt 2008) | 2 lines

  Simplify individual tests by defining setUp and tearDown methods.
........
  r66823 | skip.montanaro | 2008-10-07 02:02:00 +0000 (Di, 07 Okt 2008) | 2 lines

  Pay attention to -R entries in LDFLAGS.
........
  r66832 | skip.montanaro | 2008-10-07 15:03:40 +0000 (Di, 07 Okt 2008) | 1 line

  save/restore stdout/stderr instead of relying on __*__ versions
........
  r66836 | amaury.forgeotdarc | 2008-10-07 20:32:10 +0000 (Di, 07 Okt 2008) | 5 lines

  #4069: aSet.remove(otherSet) would always report the empty frozenset([]) as the missing key.
  Now it correctly refers to the initial otherset.

  Reviewed by Raymond. Will backport to 2.6.
........
  r66852 | andrew.kuchling | 2008-10-08 13:21:27 +0000 (Mi, 08 Okt 2008) | 1 line

  Note how bytes alias is expected to be used
........
  r66857 | georg.brandl | 2008-10-08 18:57:13 +0000 (Mi, 08 Okt 2008) | 2 lines

  Make all whatsnew docs accessible.
........
  r66868 | matthias.klose | 2008-10-10 07:24:20 +0000 (Fr, 10 Okt 2008) | 2 lines

  - Makefile.pre.in(PROFILE_TASK): search files in srcdir
........
  r66878 | benjamin.peterson | 2008-10-11 17:25:36 +0000 (Sa, 11 Okt 2008) | 4 lines

  give poplib a real test suite

  #4088 from Giampaolo Rodola'x
........
  r66894 | benjamin.peterson | 2008-10-14 22:37:18 +0000 (Di, 14 Okt 2008) | 1 line

  remove set compat cruft
........
  r66902 | skip.montanaro | 2008-10-15 11:49:10 +0000 (Mi, 15 Okt 2008) | 1 line

  easter egg
........
  r66912 | hirokazu.yamamoto | 2008-10-16 06:25:25 +0000 (Do, 16 Okt 2008) | 2 lines

  removed unused _PyUnicode_FromFileSystemEncodedObject.
  made win32_chdir, win32_wchdir static.
........
  r66989 | matthias.klose | 2008-10-21 09:12:25 +0000 (Di, 21 Okt 2008) | 2 lines

  - install versioned manpage
........
  r66994 | amaury.forgeotdarc | 2008-10-21 22:01:38 +0000 (Di, 21 Okt 2008) | 6 lines

  #4157 move two test functions out of platform.py.

  Turn them into unit tests, and correct an obvious typo:
      (("a", "b") ("c", "d") ("e", "f"))
  compiles even with the missing commas, but does not execute very well...
........
  r67013 | benjamin.peterson | 2008-10-25 02:53:28 +0000 (Sa, 25 Okt 2008) | 1 line

  give a py3k warning when 'nonlocal' is used as a variable name
........
  r67015 | georg.brandl | 2008-10-25 07:00:52 +0000 (Sa, 25 Okt 2008) | 2 lines

  Typo fix.
........
  r67049 | amaury.forgeotdarc | 2008-10-30 21:18:34 +0000 (Do, 30 Okt 2008) | 8 lines

  Issue #4176: Pickle would crash the interpreter when a __reduce__ function
  does not return an iterator for the 4th and 5th items.
  (sequence-like and mapping-like state)

  A list is not an iterator...

  Will backport to 2.6 and 2.5.
........
  r67065 | benjamin.peterson | 2008-10-30 23:59:18 +0000 (Do, 30 Okt 2008) | 1 line

  move unprefixed error into .c file
........
  r67171 | benjamin.peterson | 2008-11-08 18:38:54 +0000 (Sa, 08 Nov 2008) | 4 lines

  check for assignment to __debug__ during AST generation

  Also, give assignment to None a better error message
........
  r67226 | brett.cannon | 2008-11-15 22:40:44 +0000 (Sa, 15 Nov 2008) | 4 lines

  The docs for httplib.HTTPConnection.putheader() have claimed for quite a while
  that their could be an arbitrary number of values passed in. Turns out the code
  did not match that. The code now matches the docs.
........
  r67234 | benjamin.peterson | 2008-11-16 17:54:55 +0000 (So, 16 Nov 2008) | 1 line

  run autoconf
........
  r67287 | josiah.carlson | 2008-11-19 18:26:12 +0000 (Mi, 19 Nov 2008) | 2 lines

  Fix for issue 4332 in trunk.
........
  r67342 | amaury.forgeotdarc | 2008-11-22 19:39:38 +0000 (Sa, 22 Nov 2008) | 3 lines

  yuvconvert.c is a part of the "sv" module, an old IRIX thing
  and certainly not useful for any Windows build.
........
  r67348 | benjamin.peterson | 2008-11-23 02:09:41 +0000 (So, 23 Nov 2008) | 1 line

  raise a better error
........
  r67349 | matthias.klose | 2008-11-23 13:37:03 +0000 (So, 23 Nov 2008) | 3 lines

   - Modules/Setup.dist: Mention _functools in section "Modules that should
     always be present (non UNIX dependent)"
........
  r67353 | matthias.klose | 2008-11-23 13:54:42 +0000 (So, 23 Nov 2008) | 2 lines

  - Fix typo in last checkin
........
  r67396 | matthias.klose | 2008-11-26 17:32:49 +0000 (Mi, 26 Nov 2008) | 2 lines

  - Modules/Setup.dist: Mention _elementtree and _pickle.
........
  r67407 | matthias.klose | 2008-11-27 07:45:25 +0000 (Do, 27 Nov 2008) | 2 lines

  - Modules/Setup.dist: Update pyexpat
........
  r67411 | matthias.klose | 2008-11-27 10:14:22 +0000 (Do, 27 Nov 2008) | 2 lines

  - Modules/Setup.dist: Update _elementtree, add _bisect, datetime
........
  r67442 | jeremy.hylton | 2008-11-29 01:09:35 +0000 (Sa, 29 Nov 2008) | 18 lines

  Send HTTP headers and message body in a single send() call.

  This change addresses part of issue 4336.

  Change endheaders() to take an optional message_body argument
  that is sent along with the headers.  Change xmlrpclib and
  httplib's other methods to use this new interface.

  It is more efficient to make a single send() call, which should
  get the entire client request into one packet (assuming it is
  smaller than the MTU) and will avoid the long pause for delayed
  ack following timeout.

  Also:
  - Add a comment about the buffer size for makefile().
  - Extract _set_content_length() method and fix whitespace issues there.
........
  r67511 | vinay.sajip | 2008-12-03 23:22:58 +0000 (Mi, 03 Dez 2008) | 1 line

  Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging.
........
  r67521 | christian.heimes | 2008-12-04 14:34:40 +0000 (Do, 04 Dez 2008) | 1 line

  Bumped up 2.6 to 2.7
........
  r67536 | gregory.p.smith | 2008-12-04 20:21:09 +0000 (Do, 04 Dez 2008) | 3 lines

  Adds a subprocess.check_call_output() function to return the output from a
  process on success or raise an exception on error.
........
  r67537 | vinay.sajip | 2008-12-04 20:32:18 +0000 (Do, 04 Dez 2008) | 1 line

  Took Nick Coghlan's advice about importing warnings globally in logging, to avoid the possibility of race conditions: "This could deadlock if a thread spawned as a side effect of importing a module happens to trigger a warning. warnings is pulled into sys.modules as part of the interpreter startup - having a global 'import warnings' shouldn't have any real effect on logging's import time."
........
  r67543 | gregory.p.smith | 2008-12-05 02:27:01 +0000 (Fr, 05 Dez 2008) | 2 lines

  rename the new check_call_output to check_output.  its less ugly.
........
  r67572 | georg.brandl | 2008-12-05 09:23:14 +0000 (Fr, 05 Dez 2008) | 2 lines

  #4458: recognize "-" as an argument, not a malformed option in gnu_getopt().
........
  r67584 | fred.drake | 2008-12-05 15:52:25 +0000 (Fr, 05 Dez 2008) | 2 lines

  bump version number
........
  r67587 | fred.drake | 2008-12-05 16:14:18 +0000 (Fr, 05 Dez 2008) | 2 lines

  be more specific, and parallel to the py3k branch
........
  r67601 | mark.dickinson | 2008-12-05 21:55:28 +0000 (Fr, 05 Dez 2008) | 3 lines

  Issue #4445: save 3 bytes (on average, on a typical machine) per
  string allocation.
........
  r67614 | skip.montanaro | 2008-12-06 17:43:30 +0000 (Sa, 06 Dez 2008) | 2 lines

  issue 4483 - dbm build failures on systems with gdbm_compat lib.
........
  r67628 | skip.montanaro | 2008-12-07 02:16:00 +0000 (So, 07 Dez 2008) | 1 line

  muffed the default case
........
  r67818 | antoine.pitrou | 2008-12-17 00:38:28 +0000 (Mi, 17 Dez 2008) | 3 lines

  Issue #2183: Simplify and optimize bytecode for list comprehensions.
........
  r67822 | mark.dickinson | 2008-12-17 16:14:37 +0000 (Mi, 17 Dez 2008) | 4 lines

  Issue #3439: add bit_length method to int and long.
  Thanks Fredrik Johansson and Victor Stinner for code,
  Raymond Hettinger for review.
........
  r67850 | raymond.hettinger | 2008-12-19 09:06:07 +0000 (Fr, 19 Dez 2008) | 9 lines

  Fix-up and clean-up docs for int.bit_length().

  * Replace dramatic footnote with in-line comment about possible round-off errors in logarithms of large numbers.
  * Add comments to the pure python code equivalent.
  * replace floor() with int() in the mathematical equivalent so the type is correct (should be an int, not a float).
  * add abs() to the mathematical equivalent so that it matches the previous line that it is supposed to be equivalent to.
  * make one combined example with a negative input.
........
  r67857 | mark.dickinson | 2008-12-19 17:46:51 +0000 (Fr, 19 Dez 2008) | 2 lines

  Fix typo in Python equivalent for bit_length.
........
  r67902 | benjamin.peterson | 2008-12-22 20:16:25 +0000 (Mo, 22 Dez 2008) | 1 line

  add py3k warnings to frame.f_exc_*
........
  r67946 | antoine.pitrou | 2008-12-27 15:43:12 +0000 (Sa, 27 Dez 2008) | 4 lines

  Issue #4756: zipfile.is_zipfile() now supports file-like objects.
  Patch by Gabriel Genellina.
........
  r67954 | benjamin.peterson | 2008-12-27 18:24:11 +0000 (Sa, 27 Dez 2008) | 1 line

  #4748 lambda generators shouldn't return values
........
  r67976 | georg.brandl | 2008-12-28 11:54:53 +0000 (So, 28 Dez 2008) | 7 lines

  Backport r67974:

  #4759: allow None as first argument of bytearray.translate(), for consistency with bytes.translate().

  Also fix segfault for bytearray.translate(x, None) -- will backport this part to 3.0 and 2.6.
........
  r67978 | georg.brandl | 2008-12-28 11:58:49 +0000 (So, 28 Dez 2008) | 2 lines

  #4731: clarify message about missing module prerequisites.
........
  r67979 | antoine.pitrou | 2008-12-28 14:09:36 +0000 (So, 28 Dez 2008) | 3 lines

  Issue #4444: Allow assertRaises() to be used as a context handler.
........
  r67980 | antoine.pitrou | 2008-12-28 14:24:29 +0000 (So, 28 Dez 2008) | 1 line

  wrong version number in doc changes committed in r67979
........
  r67985 | antoine.pitrou | 2008-12-28 16:01:11 +0000 (So, 28 Dez 2008) | 4 lines

  Issue #2153: modernize coding style of unittest.py, remove obsolete compatibility stuff.
  Patch by Virgil Dupras.
........
  r68089 | benjamin.peterson | 2008-12-31 03:37:51 +0000 (Mi, 31 Dez 2008) | 1 line

  #4788 qualify some bare except clauses
........
  r68092 | benjamin.peterson | 2008-12-31 04:08:55 +0000 (Mi, 31 Dez 2008) | 1 line

  fix name collision issues
........
  r68119 | georg.brandl | 2009-01-01 12:09:40 +0000 (Do, 01 Jan 2009) | 3 lines

  #4222: document dis.findlabels() and dis.findlinestarts() and
  put them into dis.__all__.
........
  r68150 | ronald.oussoren | 2009-01-02 11:46:05 +0000 (Fr, 02 Jan 2009) | 1 line

  Fix for issue 3433
........
  r68153 | ronald.oussoren | 2009-01-02 12:59:32 +0000 (Fr, 02 Jan 2009) | 10 lines

  Fix for issue3559: No preferences menu in IDLE on OSX

  1) Add a comment to the help file to that points to the
     preferences menu.

  2) An earlier checkin tried to detect Tk >= 8.10.14,
     but did this in the wrong way. The end result of this
     was that the IDLE->Preferences... menu got surpressed
     when using the system version of Tcl/Tk
........
  r68156 | ronald.oussoren | 2009-01-02 14:10:20 +0000 (Fr, 02 Jan 2009) | 1 line

  Fix for issue1594
........
  r68158 | ronald.oussoren | 2009-01-02 14:46:19 +0000 (Fr, 02 Jan 2009) | 2 lines

  Fix for issue 900949
........
  r68163 | ronald.oussoren | 2009-01-02 15:25:36 +0000 (Fr, 02 Jan 2009) | 2 lines

  Fix for issues #841800 and #900506
........
  r68167 | vinay.sajip | 2009-01-02 18:53:04 +0000 (Fr, 02 Jan 2009) | 1 line

  Minor documentation changes relating to NullHandler, the module used for handlers and references to ConfigParser.
........
  r68176 | andrew.kuchling | 2009-01-02 21:00:35 +0000 (Fr, 02 Jan 2009) | 1 line

  Add various items
........
  r68203 | martin.v.loewis | 2009-01-03 17:19:26 +0000 (Sa, 03 Jan 2009) | 2 lines

  Issue #4817: Remove unused function PyOS_GetLastModificationTime.
........
  r68208 | raymond.hettinger | 2009-01-03 19:02:23 +0000 (Sa, 03 Jan 2009) | 1 line

  Issue 4796: Add from_float methods to the decimal module.
........
  r68209 | raymond.hettinger | 2009-01-03 19:08:10 +0000 (Sa, 03 Jan 2009) | 1 line

  Reapply r68191.
........
  r68231 | guilherme.polo | 2009-01-03 21:51:09 +0000 (Sa, 03 Jan 2009) | 4 lines

  The _tkinter module functions "createfilehandler", "deletefilehandler",
  "createtimerhandler", "mainloop", "dooneevent" and "quit" have been
  deprecated for removal in 3.x (part of issue #3638).
........
  r68238 | georg.brandl | 2009-01-03 22:03:11 +0000 (Sa, 03 Jan 2009) | 2 lines

  Manually merge r68095,68186,68187,68188,68190 from 2.6 branch.
........
  r68240 | georg.brandl | 2009-01-03 22:05:22 +0000 (Sa, 03 Jan 2009) | 2 lines

  Manually merge r67868 from 2.6 branch.
........
  r68243 | georg.brandl | 2009-01-03 22:15:42 +0000 (Sa, 03 Jan 2009) | 2 lines

  Add temporary code to fix the automatic doc build failure.
........
  r68296 | mark.dickinson | 2009-01-04 12:29:36 +0000 (So, 04 Jan 2009) | 6 lines

  Add autoconf test to detect x87-style double rounding, as described in
  issue #2937.  This information can be helpful for diagnosing platform-
  specific problems in math and cmath.  The result of the test also
  serves as a fairly reliable indicator of whether the x87 floating-point
  instructions (as opposed to SSE2) are in use on Intel x86/x86_64 systems.
........
  r68299 | mark.dickinson | 2009-01-04 13:57:26 +0000 (So, 04 Jan 2009) | 4 lines

  isinf and isnan are macros, not functions; fix configure script
  to use AC_CHECK_DECLS instead of AC_CHECK_FUNCS for these.
  (See discussion in issue #4506)
........
  r68302 | mark.dickinson | 2009-01-04 16:06:40 +0000 (So, 04 Jan 2009) | 4 lines

  Oops.  Need to check not only that HAVE_DECL_ISINF is defined, but also
  that it's equal to 1.  (If isinf isn't defined, HAVE_DECL_ISINF is
  defined to be 0, rather than being undefined.)
........
  r68304 | mark.dickinson | 2009-01-04 17:02:05 +0000 (So, 04 Jan 2009) | 2 lines

  Fix HAVE_DECL_ISINF/ISNAN test (again).
........
  r68311 | mark.dickinson | 2009-01-04 19:53:00 +0000 (So, 04 Jan 2009) | 2 lines

  Use C99 'isfinite' macro in preference to BSD-derived 'finite' function.
........
  r68314 | mark.dickinson | 2009-01-04 21:10:56 +0000 (So, 04 Jan 2009) | 5 lines

  Fix Decimal.from_float to use valid Python 2.3 syntax, as per
  comments at top of decimal.py.  (But note that the from_float
  method itself with still not be usable before Python 2.7.)
  See issue 4796 for discussion.
........
  r68319 | antoine.pitrou | 2009-01-04 21:29:23 +0000 (So, 04 Jan 2009) | 3 lines

  Issue #4272: Add an optional argument to the GzipFile constructor to override the timestamp in the gzip stream.
........
  r68381 | martin.v.loewis | 2009-01-07 18:40:40 +0000 (Mi, 07 Jan 2009) | 2 lines

  Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t.
........
  r68395 | raymond.hettinger | 2009-01-08 06:39:04 +0000 (Do, 08 Jan 2009) | 1 line

  Forward port r68394 for issue 4816.
........
  r68415 | tarek.ziade | 2009-01-08 23:56:31 +0000 (Do, 08 Jan 2009) | 1 line

  fixed #4394 make the storage of the password optional in .pypirc
........
  r68425 | benjamin.peterson | 2009-01-09 02:56:32 +0000 (Fr, 09 Jan 2009) | 1 line

  fix markup
........
  r68432 | benjamin.peterson | 2009-01-09 03:15:00 +0000 (Fr, 09 Jan 2009) | 1 line

  remove temporary code now
........
  r68455 | kristjan.jonsson | 2009-01-09 20:03:27 +0000 (Fr, 09 Jan 2009) | 1 line

  Issue 3582.  Improved thread support and TLS for Windows
........
  r68458 | kristjan.jonsson | 2009-01-09 20:23:16 +0000 (Fr, 09 Jan 2009) | 1 line

  Issue 4336:  HTTPRequest._send_output() now deals with the case of the message body not being a string.  This allows clients to use endheaders(message_body) instead of endheaders() + send(message_body) without making any extra checks.
........
  r68459 | kristjan.jonsson | 2009-01-09 20:27:16 +0000 (Fr, 09 Jan 2009) | 1 line

  Issue 4336:  Let users of HTTPConnection.endheaders() submit a message body to the function if required.
........
  r68460 | kristjan.jonsson | 2009-01-09 20:31:26 +0000 (Fr, 09 Jan 2009) | 1 line

  Issue 4293:  Make Py_AddPendingCall() thread safe
........
  r68461 | kristjan.jonsson | 2009-01-09 21:35:16 +0000 (Fr, 09 Jan 2009) | 2 lines

  Issue 4293:  Make Py_AddPendingCall() thread safe
  Add test cases and documentation
........
  r68462 | antoine.pitrou | 2009-01-09 21:40:55 +0000 (Fr, 09 Jan 2009) | 6 lines

  Issue #4074: Change the criteria for doing a full garbage collection (i.e.
  collecting the oldest generation) so that allocating lots of objects without
  destroying them does not show quadratic performance. Based on a proposal by
  Martin von Löwis at http://mail.python.org/pipermail/python-dev/2008-June/080579.html.
........
  r68476 | kristjan.jonsson | 2009-01-10 12:14:31 +0000 (Sa, 10 Jan 2009) | 1 line

  Issue 4906:  Preserve windows error state across PyThread_get_key_value
........
  r68484 | antoine.pitrou | 2009-01-10 16:13:45 +0000 (Sa, 10 Jan 2009) | 3 lines

  Issue #3860: GzipFile and BZ2File now support the context manager protocol.
........
  r68485 | antoine.pitrou | 2009-01-10 16:15:24 +0000 (Sa, 10 Jan 2009) | 1 line

  Add NEWS entry for r68484.
........
  r68487 | matthias.klose | 2009-01-10 17:00:42 +0000 (Sa, 10 Jan 2009) | 3 lines

  - Issue #4861: ctypes.util.find_library(): Robustify. Fix library detection on
    biarch systems. Try to rely on ldconfig only, without using objdump and gcc.
........
  r68496 | antoine.pitrou | 2009-01-10 18:33:21 +0000 (Sa, 10 Jan 2009) | 3 lines

  Add ACKS entries for some of the patches I've been committing.
........
  r68498 | benjamin.peterson | 2009-01-10 19:08:49 +0000 (Sa, 10 Jan 2009) | 1 line

  fix encoding
........
  r68532 | kristjan.jonsson | 2009-01-11 16:23:37 +0000 (So, 11 Jan 2009) | 1 line

  Issue 4879: Allow buffering for HTTPResponse
........
  r68542 | martin.v.loewis | 2009-01-12 08:11:24 +0000 (Mo, 12 Jan 2009) | 2 lines

  Issue #4893: Use NT threading on CE.
........
  r68544 | kristjan.jonsson | 2009-01-12 09:20:34 +0000 (Mo, 12 Jan 2009) | 1 line

  Update Misc/NEWS for issue 3582
........
  r68545 | kristjan.jonsson | 2009-01-12 09:24:04 +0000 (Mo, 12 Jan 2009) | 1 line

  Misc/NEWS for issue 4293
........
  r68546 | raymond.hettinger | 2009-01-12 10:37:32 +0000 (Mo, 12 Jan 2009) | 1 line

  Optimize heapq.nsmallest/nlargest for cases where n==1 or n>=size.
........
  r68559 | raymond.hettinger | 2009-01-12 22:58:41 +0000 (Mo, 12 Jan 2009) | 1 line

  Issue 1696199: Add collections.Counter().
........
  r68560 | amaury.forgeotdarc | 2009-01-12 23:36:55 +0000 (Mo, 12 Jan 2009) | 6 lines

  #3720: Interpreter crashes when an evil iterator removes its own next function.

  Now the slot is filled with a function that always raises.

  Will not backport: extensions compiled with 2.6.x would not run on 2.6.0.
........
  r68562 | raymond.hettinger | 2009-01-13 01:05:03 +0000 (Di, 13 Jan 2009) | 7 lines

  Simplify Counter() API.  Replace items keyword argument
  with a mapping.  Makes Counter() idempotent, makes update()
  API the same as Counter.__init__(), makes a more readable
  repr, makes the API more dict-like, and allows Steven
  Bethard's update() example to work.
........
  r68565 | raymond.hettinger | 2009-01-13 03:49:43 +0000 (Di, 13 Jan 2009) | 1 line

  Minor documentation tweaks and simpler update() example.
........
  r68566 | raymond.hettinger | 2009-01-13 04:13:53 +0000 (Di, 13 Jan 2009) | 1 line

  Fixup and simplify docstrings and doctests.
........
  r68567 | raymond.hettinger | 2009-01-13 04:50:35 +0000 (Di, 13 Jan 2009) | 1 line

  Speed-up __repr__.  Eliminate duplicate tests.  Use a from-irmport.
........
  r68568 | georg.brandl | 2009-01-13 08:11:07 +0000 (Di, 13 Jan 2009) | 2 lines

  Fix call signature and markup.
........
  r68569 | raymond.hettinger | 2009-01-13 08:38:14 +0000 (Di, 13 Jan 2009) | 7 lines

  Add table of idioms/patterns for using Counter objects.
  Improve the appearance and flow of the References section -- it used
  to have a box around it that wasn't distinct from the preceding code
  boxes and it had a weird bolding pattern and hanging indents that
  made the section disproportionately large.
........
  r68571 | armin.ronacher | 2009-01-13 11:52:23 +0000 (Di, 13 Jan 2009) | 3 lines

  ast.literal_eval can properly evaluate complex numbers now.  This fixes issue4907.
........
  r68592 | amaury.forgeotdarc | 2009-01-13 23:19:08 +0000 (Di, 13 Jan 2009) | 5 lines

  #4807: Remove a wrong usage of wsprintf in the winreg module
  ("windows sprintf", different than swprintf)

  Needed for the windows CE port.
........
  r68596 | amaury.forgeotdarc | 2009-01-13 23:39:22 +0000 (Di, 13 Jan 2009) | 3 lines

  #1162154: inspect.getmembers() now skips attributes that raise AttributeError,
  e.g. a __slots__ attribute which has not been set.
........
  r68597 | benjamin.peterson | 2009-01-13 23:43:50 +0000 (Di, 13 Jan 2009) | 1 line

  fix test_xmlrpc failures #4939
........
  r68603 | raymond.hettinger | 2009-01-14 00:15:21 +0000 (Mi, 14 Jan 2009) | 1 line

  Minor doc tweaks.
........
  r68604 | raymond.hettinger | 2009-01-14 01:15:06 +0000 (Mi, 14 Jan 2009) | 1 line

  Add tests for __init__() and update() with no args.
........
  r68607 | kristjan.jonsson | 2009-01-14 10:50:57 +0000 (Mi, 14 Jan 2009) | 2 lines

  Re-enable all tests for windows platforms.
  Also, explicitly connect to the IPV4 address.  On windows platforms supporting AF_INET6, the SocketProxy would connect using socket.create_connection('localhost', port) which would cycle through all address families and try to connect.  It would try connecting using AF_INET6 first and this would cause a delay of up to a second.
........
  r68618 | kristjan.jonsson | 2009-01-15 17:20:21 +0000 (Do, 15 Jan 2009) | 1 line

  Issue 4929:  Handle socket errors when receiving
........
  r68648 | benjamin.peterson | 2009-01-17 04:28:57 +0000 (Sa, 17 Jan 2009) | 1 line

  use enumerate
........
  r68665 | amaury.forgeotdarc | 2009-01-17 17:11:50 +0000 (Sa, 17 Jan 2009) | 3 lines

  #4930: Slightly cleaner (and faster) code in type creation:
  compare slots by address, not by name.
........
  r68667 | amaury.forgeotdarc | 2009-01-17 20:18:59 +0000 (Sa, 17 Jan 2009) | 3 lines

  #4077: No need to append \n when calling Py_FatalError
  + fix a declaration to make it match the one in pythonrun.h
........
  r68676 | benjamin.peterson | 2009-01-17 22:27:54 +0000 (Sa, 17 Jan 2009) | 1 line

  fix inspect.isclass() on instances with a custom __getattr__ #1225107
........
  r68722 | kristjan.jonsson | 2009-01-18 10:58:44 +0000 (So, 18 Jan 2009) | 1 line

  issue 4293:  make test_capi.py more robutst, it times out on some platforms, presumably waiting for threads.  Lower the thread count to 16.
........
  r68739 | benjamin.peterson | 2009-01-18 21:11:38 +0000 (So, 18 Jan 2009) | 1 line

  fix test that wasn't working as expected #4990
........
  r68763 | kristjan.jonsson | 2009-01-19 13:10:27 +0000 (Mo, 19 Jan 2009) | 2 lines

  Issue 4957
  Let os.ftruncate raise OSError like documented.
........
  r68764 | benjamin.peterson | 2009-01-19 15:04:35 +0000 (Mo, 19 Jan 2009) | 3 lines

  Removed merge tracking for "svnmerge" for
  svn+ssh://pythondev@svn.python.org/python/branches/trunk-math
........
  r68766 | benjamin.peterson | 2009-01-19 15:06:33 +0000 (Mo, 19 Jan 2009) | 3 lines

  Removed merge tracking for "svnmerge" for
  svn+ssh://pythondev@svn.python.org/python/branches/tnelson-trunk-bsddb-47-upgrade
........
  r68772 | benjamin.peterson | 2009-01-19 15:42:23 +0000 (Mo, 19 Jan 2009) | 1 line

  add a note about the ftruncate change
........
  r68773 | benjamin.peterson | 2009-01-19 15:51:27 +0000 (Mo, 19 Jan 2009) | 1 line

  simplify code
........
  r68785 | benjamin.peterson | 2009-01-19 21:08:37 +0000 (Mo, 19 Jan 2009) | 1 line

  I'm sick of these deprecations warnings in test_os
........
  r68789 | raymond.hettinger | 2009-01-20 01:19:26 +0000 (Di, 20 Jan 2009) | 6 lines

  Build-outs for Counter() class:
  * Constructor and update() support keyword args (like their dict counterparts).
  * The 'del' statement no longer raises KeyError for missing values.
  * Add multiset operations:  __add__, __sub__, __and__, __or__.
........
  r68792 | raymond.hettinger | 2009-01-20 02:24:38 +0000 (Di, 20 Jan 2009) | 1 line

  Add Counter() to __all__.
........
  r68793 | raymond.hettinger | 2009-01-20 03:36:36 +0000 (Di, 20 Jan 2009) | 1 line

  Make merging easier by formattng comment blocks the same in Py3.1
........
  r68803 | raymond.hettinger | 2009-01-20 12:59:36 +0000 (Di, 20 Jan 2009) | 1 line

  Fix typos.
........
  r68807 | benjamin.peterson | 2009-01-20 14:31:08 +0000 (Di, 20 Jan 2009) | 1 line

  backport r68802 (bugfix)
........
  r68826 | vinay.sajip | 2009-01-20 22:43:17 +0000 (Di, 20 Jan 2009) | 1 line

  Issue 5013: Fixed bug in FileHandler when delay was set.
........
  r68829 | vinay.sajip | 2009-01-20 23:16:08 +0000 (Di, 20 Jan 2009) | 1 line

  Issue 5013: Fixed bug in FileHandler when delay was set - added fix for RotatingFileHandler and changed header comment slightly.
........
  r68831 | raymond.hettinger | 2009-01-20 23:42:54 +0000 (Di, 20 Jan 2009) | 1 line

  Beautify and cleanup the references section.
........
  r68839 | jesse.noller | 2009-01-21 02:08:17 +0000 (Mi, 21 Jan 2009) | 1 line

  Issue 5009: multiprocessing: failure in manager._debug_info()
........
  r68840 | andrew.kuchling | 2009-01-21 02:15:43 +0000 (Mi, 21 Jan 2009) | 1 line

  Add some items
........
  r68843 | raymond.hettinger | 2009-01-21 20:31:50 +0000 (Mi, 21 Jan 2009) | 1 line

  Simplify explanation of multiset operations by removing restrictions on negative inputs.
........
  r68845 | raymond.hettinger | 2009-01-21 23:12:51 +0000 (Mi, 21 Jan 2009) | 1 line

  Tighten-up the docs for Counter().
........
  r68850 | raymond.hettinger | 2009-01-22 05:20:47 +0000 (Do, 22 Jan 2009) | 1 line

  More doc tweaks.
........
  r68853 | raymond.hettinger | 2009-01-22 09:05:43 +0000 (Do, 22 Jan 2009) | 1 line

  Update comments and add an optimized path for Counter.update().
........
  r68881 | andrew.kuchling | 2009-01-24 03:28:18 +0000 (Sa, 24 Jan 2009) | 1 line

  Add various items
........
  r68884 | kristjan.jonsson | 2009-01-24 10:52:26 +0000 (Sa, 24 Jan 2009) | 1 line

  Add a test for UNC import paths, see issue 3677
........
  r68892 | martin.v.loewis | 2009-01-24 15:45:18 +0000 (Sa, 24 Jan 2009) | 2 lines

  Add heading for 2.7a0.
........
  r68925 | benjamin.peterson | 2009-01-25 17:15:10 +0000 (So, 25 Jan 2009) | 5 lines

  fix building the core with --disable-unicode

  I changed some bytearray methods to use strings instead of unicode like bytes_repr
  Also, bytearray.fromhex() can take strings as well as unicode
........
  r68927 | hirokazu.yamamoto | 2009-01-25 17:46:48 +0000 (So, 25 Jan 2009) | 1 line

  Fixed compile error on windows.
........
  r68929 | tarek.ziade | 2009-01-25 18:19:25 +0000 (So, 25 Jan 2009) | 1 line

  Fixed #4863: removed distutils.mwerkscompiler
........
  r68933 | tarek.ziade | 2009-01-25 19:29:10 +0000 (So, 25 Jan 2009) | 1 line

  Issue #4863, removing remaining bits
........
  r68941 | raymond.hettinger | 2009-01-25 21:04:14 +0000 (So, 25 Jan 2009) | 1 line

  Promote compress() from a recipe to being a regular itertool.
........
  r68942 | raymond.hettinger | 2009-01-25 21:31:47 +0000 (So, 25 Jan 2009) | 1 line

  Improved itertools recipe for generating powerset().
........
  r68943 | tarek.ziade | 2009-01-25 22:09:10 +0000 (So, 25 Jan 2009) | 1 line

  Issue #5052: removed backward compatibility information (out of date)
........
  r68953 | brett.cannon | 2009-01-26 01:16:50 +0000 (Mo, 26 Jan 2009) | 3 lines

  Backport importlib in the form of providing importlib.import_module(). This has
  been done purely to help transitions from 2.7 to 3.1.
........
  r68964 | raymond.hettinger | 2009-01-26 16:52:22 +0000 (Mo, 26 Jan 2009) | 1 line

  Fix signed/unsigned mismatch.
........
  r68985 | raymond.hettinger | 2009-01-26 23:29:09 +0000 (Mo, 26 Jan 2009) | 6 lines

  Remove startup firewall message.  That is handled by an error dialog
  whenever a connection cannot be formed.  Also, the Idle version number
  is already in the About Idle dialog.  Now, the startup is clean looking
  once again.
........
  r68998 | raymond.hettinger | 2009-01-27 02:36:33 +0000 (Di, 27 Jan 2009) | 3 lines

  Tweak column alignment for collections docs.
........
  r69001 | raymond.hettinger | 2009-01-27 02:58:49 +0000 (Di, 27 Jan 2009) | 1 line

  Promote combinations_with_replacement() from a recipe to a regular itertool.
........
  r69003 | benjamin.peterson | 2009-01-27 03:07:53 +0000 (Di, 27 Jan 2009) | 1 line

  excellent place to use a set() #5069
........
  r69010 | raymond.hettinger | 2009-01-27 09:33:06 +0000 (Di, 27 Jan 2009) | 1 line

  Add tests to verify combinatoric relationships.
........
  r69012 | raymond.hettinger | 2009-01-27 09:52:35 +0000 (Di, 27 Jan 2009) | 1 line

  Stronger tests for combinatoric relationships.
........
  r69014 | raymond.hettinger | 2009-01-27 10:03:04 +0000 (Di, 27 Jan 2009) | 1 line

  Issue 5021: doctest.testfile should set __name__
........
  r69018 | raymond.hettinger | 2009-01-27 10:36:14 +0000 (Di, 27 Jan 2009) | 1 line

  More exhaustive combinatoric checks.
........
  r69023 | raymond.hettinger | 2009-01-27 13:26:35 +0000 (Di, 27 Jan 2009) | 1 line

  Add more tests for the powerset() recipe.
........
  r69039 | benjamin.peterson | 2009-01-27 23:15:48 +0000 (Di, 27 Jan 2009) | 1 line

  use True and False
........
  r69050 | guilherme.polo | 2009-01-28 13:09:03 +0000 (Mi, 28 Jan 2009) | 2 lines

  Added the ttk module. See issue #2983: Ttk support for Tkinter.
........
  r69053 | guilherme.polo | 2009-01-28 15:56:01 +0000 (Mi, 28 Jan 2009) | 2 lines

  Demos for ttk added.
........
  r69060 | guilherme.polo | 2009-01-28 19:23:28 +0000 (Mi, 28 Jan 2009) | 2 lines

  Added support for collecting tests only from specific packages.
........
  r69061 | guilherme.polo | 2009-01-28 19:28:04 +0000 (Mi, 28 Jan 2009) | 4 lines

  * Renaming test_tk_* to test_ttk_* since that is what they are testing.
  * Added ttk tests to the expected skips mapping just like where test_tcl
  was expected to be skipped too.
........
  r69062 | guilherme.polo | 2009-01-28 20:02:01 +0000 (Mi, 28 Jan 2009) | 1 line

  Make sure the root windows gets destroyed
........
  r69063 | guilherme.polo | 2009-01-28 20:03:26 +0000 (Mi, 28 Jan 2009) | 2 lines

  Issue #5083: New 'gui' resource for regrtest.
........
  r69070 | raymond.hettinger | 2009-01-28 23:02:26 +0000 (Mi, 28 Jan 2009) | 6 lines

  Issue 4920:  Fixed next() vs __next__() issues in the ABCs
  for Iterator and MutableSet.  Also added thorough test for
  required abstractmethods.
........
  r69074 | raymond.hettinger | 2009-01-28 23:58:16 +0000 (Mi, 28 Jan 2009) | 1 line

  Correct docs for ABCs (MutableSequence was missing __setiem).  Simplify the table by taking out inherited requirements for abstract methods.
........
  r69080 | brett.cannon | 2009-01-29 00:55:33 +0000 (Do, 29 Jan 2009) | 2 lines

  Ignore .pyc and .pyo files.
........
  r69085 | raymond.hettinger | 2009-01-29 03:21:42 +0000 (Do, 29 Jan 2009) | 1 line

  Update itertools.__doc__ to include all tools.
........
  r69087 | raymond.hettinger | 2009-01-29 03:43:44 +0000 (Do, 29 Jan 2009) | 1 line

  Fix typo.
........
  r69112 | benjamin.peterson | 2009-01-30 02:02:25 +0000 (Fr, 30 Jan 2009) | 1 line

  pep8tify conditionals
........
  r69113 | benjamin.peterson | 2009-01-30 02:24:39 +0000 (Fr, 30 Jan 2009) | 1 line

  make _tkinter._flatten check the result of PySequence_Size for errors #3880
........
  r69129 | benjamin.peterson | 2009-01-31 01:42:55 +0000 (Sa, 31 Jan 2009) | 1 line

  check the errno in bad fd cases
........
  r69130 | andrew.kuchling | 2009-01-31 02:50:09 +0000 (Sa, 31 Jan 2009) | 1 line

  Add a section
........
  r69134 | benjamin.peterson | 2009-01-31 16:29:18 +0000 (Sa, 31 Jan 2009) | 1 line

  completely detabify unicodeobject.c
........
  r69139 | mark.dickinson | 2009-01-31 16:44:04 +0000 (Sa, 31 Jan 2009) | 2 lines

  Add an extra test for long <-> float hash equivalence.
........
  r69143 | benjamin.peterson | 2009-01-31 21:00:10 +0000 (Sa, 31 Jan 2009) | 1 line

  I believe the intention here was to avoid a global lookup
........
  r69146 | benjamin.peterson | 2009-01-31 21:47:42 +0000 (Sa, 31 Jan 2009) | 1 line

  fix indentation
........
  r69149 | benjamin.peterson | 2009-01-31 22:03:19 +0000 (Sa, 31 Jan 2009) | 1 line

  fix indentation; looks like all I managed to do the first time is make things uglier
........
  r69154 | benjamin.peterson | 2009-01-31 22:33:02 +0000 (Sa, 31 Jan 2009) | 1 line

  fix indentation in comment
........
  r69156 | gregory.p.smith | 2009-01-31 22:57:30 +0000 (Sa, 31 Jan 2009) | 4 lines

  - Issue #5104: The socket module now raises OverflowError when 16-bit port and
    protocol numbers are supplied outside the allowed 0-65536 range on bind()
    and getservbyport().
........
  r69158 | benjamin.peterson | 2009-01-31 23:54:38 +0000 (Sa, 31 Jan 2009) | 1 line

  more flags which only work for function blocks
........
  r69169 | guilherme.polo | 2009-02-01 02:56:16 +0000 (So, 01 Feb 2009) | 3 lines

  Restore Tkinter.Tk._loadtk so this test doesn't fail for problems
  related to ttk.
........
  r69195 | guilherme.polo | 2009-02-02 00:38:54 +0000 (Mo, 02 Feb 2009) | 3 lines

  Use a single Tcl interpreter through all these tests, this may help some
  failing buildbots.
........
  r69211 | guilherme.polo | 2009-02-02 20:23:29 +0000 (Mo, 02 Feb 2009) | 1 line

  Restore the previous geometry before leaving the test
........
  r69212 | guilherme.polo | 2009-02-02 20:28:59 +0000 (Mo, 02 Feb 2009) | 1 line

  Moving to importlib
........
  r69227 | raymond.hettinger | 2009-02-02 21:50:13 +0000 (Mo, 02 Feb 2009) | 1 line

  Issue 1242657: list(obj) can swallow KeyboardInterrupt.
........
  r69237 | raymond.hettinger | 2009-02-03 02:23:19 +0000 (Di, 03 Feb 2009) | 1 line

  Validate that __length_hint__ returns a usable result.
........
  r69242 | raymond.hettinger | 2009-02-03 03:37:03 +0000 (Di, 03 Feb 2009) | 1 line

  Register decimals as numbers.Number
........
  r69252 | brett.cannon | 2009-02-03 04:58:29 +0000 (Di, 03 Feb 2009) | 3 lines

  Make importlib a package. This allows using svn:externals in the sandbox to
  package up the code for separate distribution.
........
  r69253 | brett.cannon | 2009-02-03 04:59:58 +0000 (Di, 03 Feb 2009) | 1 line

  Ignore bytecode files in importlib.
........
  r69257 | brett.cannon | 2009-02-03 05:08:22 +0000 (Di, 03 Feb 2009) | 1 line

  Backport importlib to at least Python 2.5 by getting rid of use of str.format.
........
  r69260 | thomas.heller | 2009-02-03 17:07:40 +0000 (Di, 03 Feb 2009) | 9 lines

  This refactoring should make it easier to add new calling conventions.

  Replace ffi_call_STDCALL and ffi_call_SYSV by a ffi_call_x86 function
  that cleans up the stack when FFI_SYSV is used, and does nothing for
  FFI_STDCALL.

  Remove libffi_msvc\win32.S, which is out of date and also unused; it
  was only used for building ctypes with the MingW compiler.
........
  r69262 | brett.cannon | 2009-02-03 21:13:05 +0000 (Di, 03 Feb 2009) | 5 lines

  Make importlib backwards-compatible to Python 2.2 (but this is not promised to
  last; just doing it to be nice).

  Also fix a message for an exception.
........
  r69268 | kristjan.jonsson | 2009-02-04 10:05:25 +0000 (Mi, 04 Feb 2009) | 1 line

  issue 4804:  Provide checks for the format string of strftime, and for the "mode" string of fopen on Windows.  These strings are user provided from python and so we can avoid invoking the C runtime invalid parameter handler by first checking that they are valid.
........
  r69285 | tarek.ziade | 2009-02-05 09:06:23 +0000 (Do, 05 Feb 2009) | 1 line

  Fix comment for #1835
........
  r69302 | neil.schemenauer | 2009-02-05 16:14:39 +0000 (Do, 05 Feb 2009) | 3 lines

  Fix get_python_inc() to work when building in a directory separate from
  the source.  Also, define 'srcdir' on non-posix platforms.
........
  r69303 | neil.schemenauer | 2009-02-05 16:19:05 +0000 (Do, 05 Feb 2009) | 4 lines

  Since sysconfig.get_python_inc() now works when building in a
  directory other than the source directory, simplify the test code in
  test_sysconfig.py.
........
  r69305 | neil.schemenauer | 2009-02-05 16:32:29 +0000 (Do, 05 Feb 2009) | 4 lines

  Make setup.py work when building in a directory other than the
  source directory.  Mainly use 'srcdir' rather than os.getcwd() or
  '.'.
........
  r69315 | neil.schemenauer | 2009-02-05 22:14:04 +0000 (Do, 05 Feb 2009) | 2 lines

  Oops, Mac build needs the 'incdirlist' variable so restore it.
........
  r69322 | neil.schemenauer | 2009-02-06 00:21:55 +0000 (Fr, 06 Feb 2009) | 2 lines

  Distutils apparently requires an absolute path so provide one.
........
  r69324 | tarek.ziade | 2009-02-06 00:31:59 +0000 (Fr, 06 Feb 2009) | 1 line

  Fixed #1276768: verbose option was not used in the code.
........
  r69330 | tarek.ziade | 2009-02-06 00:46:57 +0000 (Fr, 06 Feb 2009) | 1 line

  README now reflects the current state
........
  r69331 | eric.smith | 2009-02-06 00:48:26 +0000 (Fr, 06 Feb 2009) | 2 lines

  Implement issue #4285, convert sys.version_info to a named
  tuple. Patch by Ross Light.
........
  r69332 | tarek.ziade | 2009-02-06 00:49:45 +0000 (Fr, 06 Feb 2009) | 1 line

  using >= so setting verbose to 2 will work as well
........
  r69342 | tarek.ziade | 2009-02-06 01:15:51 +0000 (Fr, 06 Feb 2009) | 1 line

  fixed #1520877: now distutils reads Read  from the environment/Makefile
........
  r69356 | tarek.ziade | 2009-02-06 08:20:15 +0000 (Fr, 06 Feb 2009) | 1 line

  Fixed #3987 : removed unused import
........
  r69360 | tarek.ziade | 2009-02-06 08:55:23 +0000 (Fr, 06 Feb 2009) | 1 line

  removed types usage and added test coverage (work for #3986)
........
  r69364 | kristjan.jonsson | 2009-02-06 10:17:34 +0000 (Fr, 06 Feb 2009) | 1 line

  Fix a number of Win32ErrorTests error cases.  chmod wasn't being tested.  'access' never raises an error.
........
  r69365 | armin.rigo | 2009-02-06 11:46:26 +0000 (Fr, 06 Feb 2009) | 2 lines

  Ivan on IRC in #twisted reported this crasher.
........
  r69366 | tarek.ziade | 2009-02-06 13:27:38 +0000 (Fr, 06 Feb 2009) | 1 line

  Fixed #5167: test_customize_compiler does not apply under non unix compilers
........
  r69373 | neil.schemenauer | 2009-02-06 21:08:52 +0000 (Fr, 06 Feb 2009) | 5 lines

  Overhaul Lib/compiler block ordering.  The previous code was filled with
  hacks.  The new code is based on issue #2472 posted by Antoine Pitrou.  I
  did some further cleanups of the pyassem code and optimized the block
  ordering pass.
........
  r69374 | neil.schemenauer | 2009-02-06 21:33:45 +0000 (Fr, 06 Feb 2009) | 6 lines

  Convert "srcdir" into an absolute path if that seems prudent.  Currrently
  the only user of this is Lib/distutils/tests/test_build_ext.py (in order
  to find the source for xxmodule.c).  I'm not sure if other platforms
  need similar tweaks, I'm not brave enough to attempt it without being
  able to test.
........
  r69377 | guilherme.polo | 2009-02-06 22:48:07 +0000 (Fr, 06 Feb 2009) | 5 lines

  Issue #1731706: Call Tcl_ConditionFinalize for Tcl_Conditions that will
  not be used again (this requires Tcl/Tk 8.3.1), also fix a memory
  leak in Tkapp_Call when calling from a thread different than the one that
  created the Tcl interpreter.
........
  r69385 | tarek.ziade | 2009-02-07 00:05:39 +0000 (Sa, 07 Feb 2009) | 1 line

  #3986 replacing string and types call (like in the Py3k branch), and put exec_msg call at the right place
........
  r69389 | neil.schemenauer | 2009-02-07 00:13:39 +0000 (Sa, 07 Feb 2009) | 2 lines

  Make names generated for 'with' variables match the built-in compiler.
........
  r69394 | neil.schemenauer | 2009-02-07 00:54:41 +0000 (Sa, 07 Feb 2009) | 4 lines

  Issue #999042: The Python compiler now handles explict global statements
  correctly (should be assigned using STORE_GLOBAL opcode).  This was done by
  having the system table differentiate between explict and implicit globals.
........
  r69404 | guilherme.polo | 2009-02-07 02:20:29 +0000 (Sa, 07 Feb 2009) | 2 lines

  Eliminated the need to use ttk.__loadtk__ and the problems related it.
........
  r69410 | neil.schemenauer | 2009-02-07 14:53:31 +0000 (Sa, 07 Feb 2009) | 4 lines

  Fix broken test in test_hotshot.  Treating the current directory as an
  empty file is sloppy and non-portable.  Use NamedTemporaryFile to make
  an empty file.
........
  r69413 | neil.schemenauer | 2009-02-07 18:35:16 +0000 (Sa, 07 Feb 2009) | 2 lines

  Add test for issue #999042, explict global statement works.
........
  r69415 | benjamin.peterson | 2009-02-07 19:08:22 +0000 (Sa, 07 Feb 2009) | 1 line

  make destinsrc private
........
  r69419 | nick.coghlan | 2009-02-08 01:26:34 +0000 (So, 08 Feb 2009) | 1 line

  Issue 4195: Restore the ability to execute packages with the -m switch (but this time in a way that leaves the import machinery in a valid state). (Original patch by Andi Vajda)
........
  r69420 | nick.coghlan | 2009-02-08 01:46:01 +0000 (So, 08 Feb 2009) | 1 line

  Mention patch submitter in NEWS entry for r69419
........
  r69425 | nick.coghlan | 2009-02-08 03:17:00 +0000 (So, 08 Feb 2009) | 1 line

  Issue #4512 closeout: Make ZipImport.get_filename() a public method
........
  r69443 | mark.dickinson | 2009-02-08 17:33:11 +0000 (So, 08 Feb 2009) | 2 lines

  Silence 'arg may be used uninitialized in this function' warning from gcc.
........
  r69447 | vinay.sajip | 2009-02-08 19:06:08 +0000 (So, 08 Feb 2009) | 2 lines

  Issue #5170: Fixed Unicode output bug in logging and added test case. This is a regression which did not occur in 2.5.
........
  r69459 | mark.dickinson | 2009-02-09 14:18:43 +0000 (Mo, 09 Feb 2009) | 3 lines

  Issue #4575: fix Py_IS_INFINITY macro to work correctly on x87 FPUs.
  It now forces its argument to double before testing for infinity.
........
  r69460 | guilherme.polo | 2009-02-09 16:09:17 +0000 (Mo, 09 Feb 2009) | 1 line

  Turned setup_master public
........
  r69466 | raymond.hettinger | 2009-02-09 18:39:41 +0000 (Mo, 09 Feb 2009) | 3 lines

  Issue 5171: itertools.product docstring missing 'repeat' argument
........
  r69467 | guilherme.polo | 2009-02-09 19:21:21 +0000 (Mo, 09 Feb 2009) | 2 lines

  Some tests for Tkinter.Text.search
........
  r69470 | guilherme.polo | 2009-02-09 19:57:04 +0000 (Mo, 09 Feb 2009) | 1 line

  Checking for tk availability before continuing (basically the same that is done in test_ttk_guionly)
........
  r69473 | guilherme.polo | 2009-02-09 20:50:27 +0000 (Mo, 09 Feb 2009) | 3 lines

  Fixed issue #5122: Synchronize tk load failure check to prevent a
  potential deadlock.
........
  r69474 | guilherme.polo | 2009-02-09 20:57:45 +0000 (Mo, 09 Feb 2009) | 1 line

  Enforcing Tk 8.3.1 requirement.
........
  r69480 | raymond.hettinger | 2009-02-10 01:24:05 +0000 (Di, 10 Feb 2009) | 1 line

  Issue 1818: collections.namedtuple() to support automatic renaming of invalid fieldnames.
........
  r69481 | brett.cannon | 2009-02-10 02:07:38 +0000 (Di, 10 Feb 2009) | 4 lines

  compileall used the ctime of bytecode and source to determine if the bytecode
  should be recreated. This created a timing hole. Fixed by just doing what
  import does; check the mtime and magic number.
........
  r69495 | kristjan.jonsson | 2009-02-10 13:32:24 +0000 (Di, 10 Feb 2009) | 1 line

  Issue 4804.  Add a function to test the validity of file descriptors on Windows, and stop using global runtime settings to silence the warnings / assertions.
........
  r69498 | mark.dickinson | 2009-02-10 15:46:50 +0000 (Di, 10 Feb 2009) | 6 lines

  Issue #5175: PyLong_AsUnsignedLongLong now raises OverflowError for
  negative arguments.  Previously, it raised TypeError.

  Thanks Lisandro Dalcin.
........
  r69516 | hirokazu.yamamoto | 2009-02-11 04:13:06 +0000 (Mi, 11 Feb 2009) | 2 lines

  Issue #5204: Define _PyVerify_fd on VC6 to make
  test_fdopen (test_os.py) pass.
........
  r69521 | benjamin.peterson | 2009-02-12 04:17:04 +0000 (Do, 12 Feb 2009) | 1 line

  no need for this __bases__ trick anymore
........
  r69522 | raymond.hettinger | 2009-02-12 05:39:46 +0000 (Do, 12 Feb 2009) | 3 lines

  Issue 5032:  added a step argument to itertools.count() and allowed non-integer arguments.
........
  r69525 | raymond.hettinger | 2009-02-12 10:16:19 +0000 (Do, 12 Feb 2009) | 1 line

  Fix spaces/tabs in example.
........
  r69528 | raymond.hettinger | 2009-02-12 12:04:26 +0000 (Do, 12 Feb 2009) | 1 line

  Add an extra testcase.
........
  r69530 | raymond.hettinger | 2009-02-12 12:43:01 +0000 (Do, 12 Feb 2009) | 1 line

  One more test.
........
  r69561 | gregory.p.smith | 2009-02-13 03:00:00 +0000 (Fr, 13 Feb 2009) | 5 lines

  - Issue #3745: Fix hashlib to always reject unicode and non buffer-api
    supporting objects as input no matter how it was compiled (built in
    implementations or external openssl library).
  (backported from a py3k branch)
........
  r69566 | tarek.ziade | 2009-02-13 09:12:33 +0000 (Fr, 13 Feb 2009) | 1 line

  #5158: added documentation on the depends option in distutils extensions
........
  r69578 | georg.brandl | 2009-02-13 11:03:59 +0000 (Fr, 13 Feb 2009) | 1 line

  #3694: add test for fix committed in r66693.
........
  r69579 | georg.brandl | 2009-02-13 11:06:59 +0000 (Fr, 13 Feb 2009) | 2 lines

  Fix warnings GCC emits where the argument of PyErr_Format is a single variable.
........
  r69580 | georg.brandl | 2009-02-13 11:10:04 +0000 (Fr, 13 Feb 2009) | 2 lines

  Fix warnings GCC emits where the argument of PyErr_Format is a single variable.
........
  r69582 | antoine.pitrou | 2009-02-13 13:52:33 +0000 (Fr, 13 Feb 2009) | 4 lines

  Issue #5186: Reduce hash collisions for objects with no __hash__ method by
  rotating the object pointer by 4 bits to the right.
........
  r69583 | antoine.pitrou | 2009-02-13 13:57:40 +0000 (Fr, 13 Feb 2009) | 3 lines

  Fix compiler warning (gcc)
........
  r69591 | martin.v.loewis | 2009-02-13 20:26:16 +0000 (Fr, 13 Feb 2009) | 1 line

  Update Tix build procedure.
........
  r69594 | tarek.ziade | 2009-02-13 22:22:03 +0000 (Fr, 13 Feb 2009) | 1 line

  Issue #2461: added tests for distutils.util
........
  r69602 | tarek.ziade | 2009-02-13 23:41:57 +0000 (Fr, 13 Feb 2009) | 1 line

  fix the environ for distutils test_util
........
  r69604 | raymond.hettinger | 2009-02-14 00:25:51 +0000 (Sa, 14 Feb 2009) | 1 line

  Add keyword argument support to itertools.count().
........
  r69609 | tarek.ziade | 2009-02-14 14:10:23 +0000 (Sa, 14 Feb 2009) | 1 line

  Fix for #5257: refactored all tests in distutils, so they use a temporary directory.
........
  r69610 | tarek.ziade | 2009-02-14 14:12:30 +0000 (Sa, 14 Feb 2009) | 1 line

  Replace variable
........
  r69617 | benjamin.peterson | 2009-02-14 16:51:03 +0000 (Sa, 14 Feb 2009) | 1 line

  we're no longer using CVS, so this doesn't have to be binary
........
  r69619 | benjamin.peterson | 2009-02-14 17:00:51 +0000 (Sa, 14 Feb 2009) | 1 line

  this needn't be a shebang line
........
  r69634 | mark.dickinson | 2009-02-15 10:13:41 +0000 (So, 15 Feb 2009) | 6 lines

  Issue #5260: Various portability and standards compliance fixes, optimizations
  and cleanups in Objects/longobject.c.  The most significant change is that
  longs now use less memory:  average savings are 2 bytes per long on 32-bit
  systems and 6 bytes per long on 64-bit systems.  (This memory saving already
  exists in py3k.)
........
  r69639 | mark.dickinson | 2009-02-15 15:48:39 +0000 (So, 15 Feb 2009) | 2 lines

  A few more minor fixes in longobject.c
........
  r69666 | eric.smith | 2009-02-16 09:56:39 +0000 (Mo, 16 Feb 2009) | 1 line

  Added Ross Light to ACKS, for bug 4285 (r69331).
........
  r69685 | raymond.hettinger | 2009-02-16 20:39:12 +0000 (Mo, 16 Feb 2009) | 1 line

  Add GC support to count() objects.  Backport candidate.
........
  r69688 | benjamin.peterson | 2009-02-16 21:07:52 +0000 (Mo, 16 Feb 2009) | 1 line

  fix compiler warnings
........
  r69689 | benjamin.peterson | 2009-02-16 21:09:09 +0000 (Mo, 16 Feb 2009) | 1 line

  remove some PyBytes_* aliases that are not in 3.x
........
  r69690 | benjamin.peterson | 2009-02-16 21:23:04 +0000 (Mo, 16 Feb 2009) | 1 line

  PyList_Append() can fail
........
  r69692 | tarek.ziade | 2009-02-16 21:38:01 +0000 (Mo, 16 Feb 2009) | 1 line

  Fixed #2279: distutils.sdist.add_defaults now add files listed in package_data and data_files
........
  r69693 | tarek.ziade | 2009-02-16 21:41:54 +0000 (Mo, 16 Feb 2009) | 1 line

  #2279: use os.sep so the MANIFEST file test work on win32
........
  r69700 | tarek.ziade | 2009-02-16 22:38:43 +0000 (Mo, 16 Feb 2009) | 1 line

  note about #2279
........
  r69709 | raymond.hettinger | 2009-02-17 08:33:01 +0000 (Di, 17 Feb 2009) | 1 line

  Fix-up intro paragraph for collections docs.
........
  r69710 | tarek.ziade | 2009-02-17 09:42:44 +0000 (Di, 17 Feb 2009) | 1 line

  #2279 added the plain path case for data_files
........
  r69715 | raymond.hettinger | 2009-02-17 11:00:27 +0000 (Di, 17 Feb 2009) | 1 line

  Fixup intro paragraphs for the itertools docs.  Add some tables for quick reference.
........
  r69716 | ronald.oussoren | 2009-02-17 12:38:42 +0000 (Di, 17 Feb 2009) | 2 lines

  Fix issue776533.
........
  r69724 | tarek.ziade | 2009-02-17 23:06:51 +0000 (Di, 17 Feb 2009) | 1 line

  fixed the data_files inclusion behavior
........
  r69739 | raymond.hettinger | 2009-02-18 20:54:53 +0000 (Mi, 18 Feb 2009) | 1 line

  Generalize the itertools.tee() recipe.
........
  r69743 | raymond.hettinger | 2009-02-18 23:10:19 +0000 (Mi, 18 Feb 2009) | 1 line

  Py3k warnings now automatically include -Qwarn for division.
........
  r69748 | raymond.hettinger | 2009-02-19 02:15:14 +0000 (Do, 19 Feb 2009) | 1 line

  Add keyword arg support to itertools.compress().
........
  r69751 | raymond.hettinger | 2009-02-19 02:38:25 +0000 (Do, 19 Feb 2009) | 1 line

  Add keyword arg support to itertools.repeat().
........
  r69757 | raymond.hettinger | 2009-02-19 05:34:35 +0000 (Do, 19 Feb 2009) | 1 line

  Add some cross-references to the docs.  Simplify the python code equivalent for izip().  Supply an optional argument for the nth() recipe.
........
  r69761 | raymond.hettinger | 2009-02-19 05:51:41 +0000 (Do, 19 Feb 2009) | 1 line

  Add an example for math.fsum() and elaborate on the accurary note.
........
  r69765 | raymond.hettinger | 2009-02-19 06:55:03 +0000 (Do, 19 Feb 2009) | 1 line

  Add links to helpful external resources.
........
  r69770 | raymond.hettinger | 2009-02-19 09:50:24 +0000 (Do, 19 Feb 2009) | 1 line

  Inline coefficients in gamma().  Add reflection formula.  Add comments.
........
  r69772 | vinay.sajip | 2009-02-19 12:31:32 +0000 (Do, 19 Feb 2009) | 1 line

  #5287: Add exception handling around findCaller() call to help out IronPython.
........
  r69777 | jeroen.ruigrok | 2009-02-19 18:52:21 +0000 (Do, 19 Feb 2009) | 3 lines

  Since we recommend one module per import line, reflect this also in the
  documentation.
........
  r69795 | benjamin.peterson | 2009-02-20 03:31:23 +0000 (Fr, 20 Feb 2009) | 1 line

  revert r69777 since all the experts agree that extra import lines distract from the code
........
  r69811 | collin.winter | 2009-02-20 19:30:41 +0000 (Fr, 20 Feb 2009) | 2 lines

  Issue 5176: special-case string formatting in BINARY_MODULO implementation. This shows a modest (1-3%) speed-up in templating systems, for example.
........
  r69837 | raymond.hettinger | 2009-02-21 07:17:22 +0000 (Sa, 21 Feb 2009) | 4 lines

  Fix keyword arguments for itertools.count().
  Step arg without a start arg was ignored.
........
  r69838 | raymond.hettinger | 2009-02-21 08:58:42 +0000 (Sa, 21 Feb 2009) | 1 line

  Speedup and simplify negative counter using count's new step argument.
........
  r69855 | benjamin.peterson | 2009-02-21 23:09:33 +0000 (Sa, 21 Feb 2009) | 1 line

  fix compiler warnings
........
  r69861 | tarek.ziade | 2009-02-22 00:07:45 +0000 (So, 22 Feb 2009) | 1 line

  using versionchanged instead of versionadded for distutils doc on sdist default files
........
  r69870 | antoine.pitrou | 2009-02-22 17:25:52 +0000 (So, 22 Feb 2009) | 3 lines

  Try to make sense of the test_site buildbot failures
........
  r69871 | antoine.pitrou | 2009-02-22 18:20:46 +0000 (So, 22 Feb 2009) | 3 lines

  Revert debugging statements, culprit is possibly test_distutils (see #5316)
........
  r69874 | tarek.ziade | 2009-02-22 19:58:12 +0000 (So, 22 Feb 2009) | 1 line

  moved distutils.text_file tests into a real unittest class
........
  r69878 | tarek.ziade | 2009-02-22 20:11:46 +0000 (So, 22 Feb 2009) | 1 line

  removing map and lambda usage, so the test is similar to py3k's branch one
........
  r69881 | tarek.ziade | 2009-02-22 20:15:41 +0000 (So, 22 Feb 2009) | 1 line

  Removing unused __main__ sections
........
  r69889 | matthias.klose | 2009-02-22 23:14:26 +0000 (So, 22 Feb 2009) | 2 lines

  - Link the shared python library with $(MODLIBS).
........
  r69901 | georg.brandl | 2009-02-23 11:24:46 +0000 (Mo, 23 Feb 2009) | 2 lines

  #5349: C++ pure virtuals can also have an implementation.
........
  r69902 | tarek.ziade | 2009-02-23 12:41:29 +0000 (Mo, 23 Feb 2009) | 1 line

  more test coverage
........
  r69907 | georg.brandl | 2009-02-23 18:33:48 +0000 (Mo, 23 Feb 2009) | 1 line

  Fix grammar.
........
  r69908 | raymond.hettinger | 2009-02-23 19:32:55 +0000 (Mo, 23 Feb 2009) | 1 line

  Update itertools recipes to use next().
........
  r69937 | raymond.hettinger | 2009-02-24 12:23:23 +0000 (Di, 24 Feb 2009) | 3 lines

  Backport 69934:  Register xrange() as a Sequence.
........
  r69946 | brett.cannon | 2009-02-24 22:01:02 +0000 (Di, 24 Feb 2009) | 2 lines

  Expand upon test_site.test_s_option to try to debug its failure.
........
  r69947 | jeffrey.yasskin | 2009-02-24 22:48:34 +0000 (Di, 24 Feb 2009) | 3 lines

  Tools/scripts/analyze_dxp.py, a module with some helper functions to
  analyze the output of sys.getdxp().
........
  r69952 | raymond.hettinger | 2009-02-25 00:37:57 +0000 (Mi, 25 Feb 2009) | 1 line

  Sync-up py3.1 doc updates for super().
........
  r69953 | raymond.hettinger | 2009-02-25 00:39:47 +0000 (Mi, 25 Feb 2009) | 1 line

  Restore Py2.x version of sample call to super().
........
  r69955 | raymond.hettinger | 2009-02-25 00:52:37 +0000 (Mi, 25 Feb 2009) | 1 line

  More markup and spelling fixes.
........
  r69959 | raymond.hettinger | 2009-02-25 01:06:52 +0000 (Mi, 25 Feb 2009) | 1 line

  Remove reference to zero argument form of super() in 2.x docs.
........
  r69974 | mark.dickinson | 2009-02-25 20:29:50 +0000 (Mi, 25 Feb 2009) | 3 lines

  Replace long with twodigits, to avoid depending
  on sizeof(digit) < sizeof(long)
........
  r69976 | tarek.ziade | 2009-02-25 22:29:27 +0000 (Mi, 25 Feb 2009) | 1 line

  Fixed #5316 : test failure in test_site
........
  r69981 | raymond.hettinger | 2009-02-25 22:48:24 +0000 (Mi, 25 Feb 2009) | 1 line

  Clarify Counter() docs.
........
  r69983 | raymond.hettinger | 2009-02-26 00:05:24 +0000 (Do, 26 Feb 2009) | 1 line

  Fix typo.
........
  r69994 | georg.brandl | 2009-02-26 17:36:26 +0000 (Do, 26 Feb 2009) | 1 line

  Document that setting sys.py3kwarning wont do anything.
........
  r70000 | benjamin.peterson | 2009-02-26 19:07:18 +0000 (Do, 26 Feb 2009) | 1 line

  remove deprecated symtable.Symbol methods
........
2010-05-18 23:45:21 +00:00
Demo Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:15:40 +00:00
Doc Merged revisions 79822,79828,79862,80067,80069,80080-80081,80084,80432-80433 via svnmerge from 2010-05-18 23:19:34 +00:00
Grammar allow keyword args to be passed in after *args #3473 2008-08-19 19:52:46 +00:00
Include Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:15:40 +00:00
Lib Merged revisions 68750,68811,68945,69157 via svnmerge from 2010-05-18 23:37:50 +00:00
Mac Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:15:40 +00:00
Misc Merged revisions 79374,80152,80301 via svnmerge from 2010-05-18 23:24:41 +00:00
Modules Merged revisions 81241 via svnmerge from 2010-05-16 23:14:34 +00:00
Objects Merged revisions 68750,68811,68945,69157 via svnmerge from 2010-05-18 23:37:50 +00:00
PC Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:15:40 +00:00
PCbuild Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:15:40 +00:00
Parser Merged revisions 81286 via svnmerge from 2010-05-18 13:44:50 +00:00
Python Merged revisions 81220 via svnmerge from 2010-05-15 22:58:41 +00:00
RISCOS Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:15:40 +00:00
Tools Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:15:40 +00:00
.bzrignore teach .bzrignore about doc tools 2008-07-25 16:55:37 +00:00
.hgignore Merged revisions 79160 via svnmerge from 2010-03-21 00:24:41 +00:00
.hgtags Tagging 2.6.5 final. 2010-03-18 22:16:16 +00:00
LICENSE More copyright year updates. 2010-03-01 22:16:51 +00:00
Makefile.pre.in Merged revisions 79982 via svnmerge from 2010-04-12 00:19:32 +00:00
README Merged revisions 69924,69998-69999 via svnmerge from 2010-05-18 23:38:50 +00:00
configure Merged revisions 78962,78964 via svnmerge from 2010-05-02 16:45:11 +00:00
configure.in Merged revisions 78962,78964 via svnmerge from 2010-05-02 16:45:11 +00:00
install-sh Patch #746366: Update to current automake install-sh. Will backport to 2.2. 2003-06-14 06:58:32 +00:00
pyconfig.h.in Merged revisions 75531,75725 via svnmerge from 2009-10-27 12:30:12 +00:00
setup.py Merged revisions 78784 via svnmerge from 2010-03-08 07:08:25 +00:00

README

This is Python version 2.6.5
============================

Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Python Software Foundation.
All rights reserved.

Copyright (c) 2000 BeOpen.com.
All rights reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All rights reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
All rights reserved.


License information
-------------------

See the file "LICENSE" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL
WARRANTIES.

This Python distribution contains no GNU General Public Licensed
(GPLed) code so it may be used in proprietary projects just like prior
Python distributions.  There are interfaces to some GNU code but these
are entirely optional.

All trademarks referenced herein are property of their respective
holders.


What's new in this release?
---------------------------

See the file "Misc/NEWS".


If you don't read instructions
------------------------------

Congratulations on getting this far. :-)

To start building right away (on UNIX): type "./configure" in the
current directory and when it finishes, type "make".  This creates an
executable "./python"; to install in /usr/local, first do "su root"
and then "make install".

The section `Build instructions' below is still recommended reading.


What is Python anyway?
----------------------

Python is an interpreted, interactive object-oriented programming
language suitable (amongst other uses) for distributed application
development, scripting, numeric computing and system testing.  Python
is often compared to Tcl, Perl, Java, JavaScript, Visual Basic or
Scheme.  To find out more about what Python can do for you, point your
browser to http://www.python.org/.


How do I learn Python?
----------------------

The official tutorial is still a good place to start; see
http://docs.python.org/ for online and downloadable versions, as well
as a list of other introductions, and reference documentation.

There's a quickly growing set of books on Python.  See
http://wiki.python.org/moin/PythonBooks for a list.


Documentation
-------------

All documentation is provided online in a variety of formats.  In
order of importance for new users: Tutorial, Library Reference,
Language Reference, Extending & Embedding, and the Python/C API.  The
Library Reference is especially of immense value since much of
Python's power is described there, including the built-in data types
and functions!

All documentation is also available online at the Python web site
(http://docs.python.org/, see below).  It is available online for occasional
reference, or can be downloaded in many formats for faster access.  The
documentation is downloadable in HTML, PostScript, PDF, LaTeX, and
reStructuredText (2.6+) formats; the LaTeX and reStructuredText versions are
primarily for documentation authors, translators, and people with special
formatting requirements.


Web sites
---------

New Python releases and related technologies are published at
http://www.python.org/.  Come visit us!


Newsgroups and Mailing Lists
----------------------------

Read comp.lang.python, a high-volume discussion newsgroup about
Python, or comp.lang.python.announce, a low-volume moderated newsgroup
for Python-related announcements.  These are also accessible as
mailing lists: see http://www.python.org/community/lists/ for an
overview of these and many other Python-related mailing lists.

Archives are accessible via the Google Groups Usenet archive; see
http://groups.google.com/.  The mailing lists are also archived, see
http://www.python.org/community/lists/ for details.


Bug reports
-----------

To report or search for bugs, please use the Python Bug
Tracker at http://bugs.python.org/.


Patches and contributions
-------------------------

To submit a patch or other contribution, please use the Python Patch
Manager at http://bugs.python.org/.  Guidelines
for patch submission may be found at http://www.python.org/dev/patches/.

If you have a proposal to change Python, you may want to send an email to the
comp.lang.python or python-ideas mailing lists for inital feedback. A Python
Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
current PEPs, as well as guidelines for submitting a new PEP, are listed at
http://www.python.org/dev/peps/.


Questions
---------

For help, if you can't find it in the manuals or on the web site, it's
best to post to the comp.lang.python or the Python mailing list (see
above).  If you specifically don't want to involve the newsgroup or
mailing list, send questions to help@python.org (a group of volunteers
who answer questions as they can).  The newsgroup is the most
efficient way to ask public questions.


Build instructions
==================

Before you can build Python, you must first configure it.
Fortunately, the configuration and build process has been automated
for Unix and Linux installations, so all you usually have to do is
type a few commands and sit back.  There are some platforms where
things are not quite as smooth; see the platform specific notes below.
If you want to build for multiple platforms sharing the same source
tree, see the section on VPATH below.

Start by running the script "./configure", which determines your
system configuration and creates the Makefile.  (It takes a minute or
two -- please be patient!)  You may want to pass options to the
configure script -- see the section below on configuration options and
variables.  When it's done, you are ready to run make.

To build Python, you normally type "make" in the toplevel directory.
If you have changed the configuration, the Makefile may have to be
rebuilt.  In this case, you may have to run make again to correctly
build your desired target.  The interpreter executable is built in the
top level directory.

Once you have built a Python interpreter, see the subsections below on
testing and installation.  If you run into trouble, see the next
section.

Previous versions of Python used a manual configuration process that
involved editing the file Modules/Setup.  While this file still exists
and manual configuration is still supported, it is rarely needed any
more: almost all modules are automatically built as appropriate under
guidance of the setup.py script, which is run by Make after the
interpreter has been built.


Troubleshooting
---------------

See also the platform specific notes in the next section.

If you run into other trouble, see the FAQ
(http://www.python.org/doc/faq/) for hints on what can go wrong, and
how to fix it.

If you rerun the configure script with different options, remove all
object files by running "make clean" before rebuilding.  Believe it or
not, "make clean" sometimes helps to clean up other inexplicable
problems as well.  Try it before sending in a bug report!

If the configure script fails or doesn't seem to find things that
should be there, inspect the config.log file.

If you get a warning for every file about the -Olimit option being no
longer supported, you can ignore it.  There's no foolproof way to know
whether this option is needed; all we can do is test whether it is
accepted without error.  On some systems, e.g. older SGI compilers, it
is essential for performance (specifically when compiling ceval.c,
which has more basic blocks than the default limit of 1000).  If the
warning bothers you, edit the Makefile to remove "-Olimit 1500" from
the OPT variable.

If you get failures in test_long, or sys.maxint gets set to -1, you
are probably experiencing compiler bugs, usually related to
optimization.  This is a common problem with some versions of gcc, and
some vendor-supplied compilers, which can sometimes be worked around
by turning off optimization.  Consider switching to stable versions
(gcc 2.95.2, gcc 3.x, or contact your vendor.)

From Python 2.0 onward, all Python C code is ANSI C.  Compiling using
old K&R-C-only compilers is no longer possible.  ANSI C compilers are
available for all modern systems, either in the form of updated
compilers from the vendor, or one of the free compilers (gcc).

If "make install" fails mysteriously during the "compiling the library"
step, make sure that you don't have any of the PYTHONPATH or PYTHONHOME
environment variables set, as they may interfere with the newly built
executable which is compiling the library.

Unsupported systems
-------------------

A number of features are not supported in Python 2.5 anymore. Some
support code is still present, but will be removed in Python 2.6. 
If you still need to use current Python versions on these systems,
please send a message to python-dev@python.org indicating that you
volunteer to support this system. For a more detailed discussion 
regarding no-longer-supported and resupporting platforms, as well
as a list of platforms that became or will be unsupported, see PEP 11.

More specifically, the following systems are not supported any
longer:
- SunOS 4
- DYNIX
- dgux
- Minix
- NeXT
- Irix 4 and --with-sgi-dl
- Linux 1
- Systems defining __d6_pthread_create (configure.in)
- Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6,
  or PY_PTHREAD_D7 in thread_pthread.h
- Systems using --with-dl-dld
- Systems using --without-universal-newlines
- MacOS 9

The following systems are still supported in Python 2.5, but
support will be dropped in 2.6:
- Systems using --with-wctype-functions
- Win9x, WinME

Warning on install in Windows 98 and Windows Me
-----------------------------------------------

Following Microsoft's closing of Extended Support for
Windows 98/ME (July 11, 2006), Python 2.6 will stop
supporting these platforms. Python development and
maintainability becomes easier (and more reliable) when
platform specific code targeting OSes with few users
and no dedicated expert developers is taken out. The
vendor also warns that the OS versions listed above
"can expose customers to security risks" and recommends
upgrade.

Platform specific notes
-----------------------

(Some of these may no longer apply.  If you find you can build Python
on these platforms without the special directions mentioned here,
submit a documentation bug report to SourceForge (see Bug Reports
above) so we can remove them!)

Unix platforms: If your vendor still ships (and you still use) Berkeley DB
        1.85 you will need to edit Modules/Setup to build the bsddb185
        module and add a line to sitecustomize.py which makes it the
        default.  In Modules/Setup a line like

            bsddb185 bsddbmodule.c

        should work.  (You may need to add -I, -L or -l flags to direct the
        compiler and linker to your include files and libraries.)

XXX I think this next bit is out of date:

64-bit platforms: The modules audioop, and imageop don't work.
        The setup.py script disables them on 64-bit installations.
        Don't try to enable them in the Modules/Setup file.  They
        contain code that is quite wordsize sensitive.  (If you have a
        fix, let us know!)

Solaris: When using Sun's C compiler with threads, at least on Solaris
        2.5.1, you need to add the "-mt" compiler option (the simplest
        way is probably to specify the compiler with this option as
        the "CC" environment variable when running the configure
        script).

        When using GCC on Solaris, beware of binutils 2.13 or GCC
        versions built using it.  This mistakenly enables the
        -zcombreloc option which creates broken shared libraries on
        Solaris.  binutils 2.12 works, and the binutils maintainers
        are aware of the problem.  Binutils 2.13.1 only partially
        fixed things.  It appears that 2.13.2 solves the problem
        completely.  This problem is known to occur with Solaris 2.7
        and 2.8, but may also affect earlier and later versions of the
        OS.

        When the dynamic loader complains about errors finding shared
        libraries, such as

        ld.so.1: ./python: fatal: libstdc++.so.5: open failed:
        No such file or directory

        you need to first make sure that the library is available on
        your system. Then, you need to instruct the dynamic loader how
        to find it. You can choose any of the following strategies:

        1. When compiling Python, set LD_RUN_PATH to the directories
           containing missing libraries.
        2. When running Python, set LD_LIBRARY_PATH to these directories.
        3. Use crle(8) to extend the search path of the loader.
        4. Modify the installed GCC specs file, adding -R options into the
           *link: section.

        The complex object fails to compile on Solaris 10 with gcc 3.4 (at
        least up to 3.4.3).  To work around it, define Py_HUGE_VAL as
        HUGE_VAL(), e.g.:

          make CPPFLAGS='-D"Py_HUGE_VAL=HUGE_VAL()" -I. -I$(srcdir)/Include'
          ./python setup.py CPPFLAGS='-D"Py_HUGE_VAL=HUGE_VAL()"'

Linux:  A problem with threads and fork() was tracked down to a bug in
        the pthreads code in glibc version 2.0.5; glibc version 2.0.7
        solves the problem.  This causes the popen2 test to fail;
        problem and solution reported by Pablo Bleyer.

Red Hat Linux: Red Hat 9 built Python2.2 in UCS-4 mode and hacked
        Tcl to support it. To compile Python2.3 with Tkinter, you will
        need to pass --enable-unicode=ucs4 flag to ./configure.

        There's an executable /usr/bin/python which is Python
        1.5.2 on most older Red Hat installations; several key Red Hat tools
        require this version.  Python 2.1.x may be installed as
        /usr/bin/python2.  The Makefile installs Python as
        /usr/local/bin/python, which may or may not take precedence
        over /usr/bin/python, depending on how you have set up $PATH.

FreeBSD 3.x and probably platforms with NCurses that use libmytinfo or
        similar: When using cursesmodule, the linking is not done in
        the correct order with the defaults.  Remove "-ltermcap" from
        the readline entry in Setup, and use as curses entry: "curses
        cursesmodule.c -lmytinfo -lncurses -ltermcap" - "mytinfo" (so
        called on FreeBSD) should be the name of the auxiliary library
        required on your platform.  Normally, it would be linked
        automatically, but not necessarily in the correct order.

BSDI:   BSDI versions before 4.1 have known problems with threads,
        which can cause strange errors in a number of modules (for
        instance, the 'test_signal' test script will hang forever.)
        Turning off threads (with --with-threads=no) or upgrading to
        BSDI 4.1 solves this problem.

DEC Unix: Run configure with --with-dec-threads, or with
        --with-threads=no if no threads are desired (threads are on by
        default).  When using GCC, it is possible to get an internal
        compiler error if optimization is used.  This was reported for
        GCC 2.7.2.3 on selectmodule.c.  Manually compile the affected
        file without optimization to solve the problem.

DEC Ultrix: compile with GCC to avoid bugs in the native compiler,
        and pass SHELL=/bin/sh5 to Make when installing.

AIX:    A complete overhaul of the shared library support is now in
        place.  See Misc/AIX-NOTES for some notes on how it's done.
        (The optimizer bug reported at this place in previous releases
        has been worked around by a minimal code change.) If you get
        errors about pthread_* functions, during compile or during
        testing, try setting CC to a thread-safe (reentrant) compiler,
        like "cc_r".  For full C++ module support, set CC="xlC_r" (or
        CC="xlC" without thread support).

AIX 5.3: To build a 64-bit version with IBM's compiler, I used the
        following:

        export PATH=/usr/bin:/usr/vacpp/bin
        ./configure --with-gcc="xlc_r -q64" --with-cxx="xlC_r -q64" \
                    --disable-ipv6 AR="ar -X64"
        make

HP-UX:  When using threading, you may have to add -D_REENTRANT to the
        OPT variable in the top-level Makefile; reported by Pat Knight,
        this seems to make a difference (at least for HP-UX 10.20)
        even though pyconfig.h defines it. This seems unnecessary when
        using HP/UX 11 and later - threading seems to work "out of the
        box".

HP-UX ia64: When building on the ia64 (Itanium) platform using HP's
        compiler, some experience has shown that the compiler's
        optimiser produces a completely broken version of python
        (see http://bugs.python.org/814976). To work around this,
        edit the Makefile and remove -O from the OPT line.

        To build a 64-bit executable on an Itanium 2 system using HP's
        compiler, use these environment variables:

                CC=cc
                CXX=aCC
                BASECFLAGS="+DD64"
                LDFLAGS="+DD64 -lxnet"

        and call configure as:

                ./configure --without-gcc

        then *unset* the environment variables again before running
        make.  (At least one of these flags causes the build to fail
        if it remains set.)  You still have to edit the Makefile and
        remove -O from the OPT line.

HP PA-RISC 2.0: A recent bug report (http://bugs.python.org/546117)
        suggests that the C compiler in this 64-bit system has bugs
        in the optimizer that break Python.  Compiling without
        optimization solves the problems.

SCO:    The following apply to SCO 3 only; Python builds out of the box
        on SCO 5 (or so we've heard).

        1) Everything works much better if you add -U__STDC__ to the
        defs.  This is because all the SCO header files are broken.
        Anything that isn't mentioned in the C standard is
        conditionally excluded when __STDC__ is defined.

        2) Due to the U.S. export restrictions, SCO broke the crypt
        stuff out into a separate library, libcrypt_i.a so the LIBS
        needed be set to:

                LIBS=' -lsocket -lcrypt_i'

UnixWare: There are known bugs in the math library of the system, as well as
        problems in the handling of threads (calling fork in one
        thread may interrupt system calls in others). Therefore, test_math and
        tests involving threads will fail until those problems are fixed.

QNX:    Chris Herborth (chrish@qnx.com) writes:
        configure works best if you use GNU bash; a port is available on
        ftp.qnx.com in /usr/free.  I used the following process to build,
        test and install Python 1.5.x under QNX:

        1) CONFIG_SHELL=/usr/local/bin/bash CC=cc RANLIB=: \
            ./configure --verbose --without-gcc --with-libm=""

        2) edit Modules/Setup to activate everything that makes sense for
           your system... tested here at QNX with the following modules:

                array, audioop, binascii, cPickle, cStringIO, cmath,
                crypt, curses, errno, fcntl, gdbm, grp, imageop,
                _locale, math, md5, new, operator, parser, pcre,
                posix, pwd, readline, regex, reop,
                select, signal, socket, soundex, strop, struct,
                syslog, termios, time, timing, zlib, audioop, imageop

        3) make SHELL=/usr/local/bin/bash

           or, if you feel the need for speed:

           make SHELL=/usr/local/bin/bash OPT="-5 -Oil+nrt"

        4) make SHELL=/usr/local/bin/bash test

           Using GNU readline 2.2 seems to behave strangely, but I
           think that's a problem with my readline 2.2 port.  :-\

        5) make SHELL=/usr/local/bin/bash install

        If you get SIGSEGVs while running Python (I haven't yet, but
        I've only run small programs and the test cases), you're
        probably running out of stack; the default 32k could be a
        little tight.  To increase the stack size, edit the Makefile
        to read: LDFLAGS = -N 48k

BeOS:   See Misc/BeOS-NOTES for notes about compiling/installing
        Python on BeOS R3 or later.  Note that only the PowerPC
        platform is supported for R3; both PowerPC and x86 are
        supported for R4.

Cray T3E: Mark Hadfield (m.hadfield@niwa.co.nz) writes:
        Python can be built satisfactorily on a Cray T3E but based on
        my experience with the NIWA T3E (2002-05-22, version 2.2.1)
        there are a few bugs and gotchas. For more information see a
        thread on comp.lang.python in May 2002 entitled "Building
        Python on Cray T3E".

        1) Use Cray's cc and not gcc. The latter was reported not to
           work by Konrad Hinsen. It may work now, but it may not.

        2) To set sys.platform to something sensible, pass the
           following environment variable to the configure script:

             MACHDEP=unicosmk

        2) Run configure with option "--enable-unicode=ucs4".

        3) The Cray T3E does not support dynamic linking, so extension
           modules have to be built by adding (or uncommenting) lines
           in Modules/Setup. The minimum set of modules is

             posix, new, _sre, unicodedata

           On NIWA's vanilla T3E system the following have also been
           included successfully:

             _codecs, _locale, _socket, _symtable, _testcapi, _weakref
             array, binascii, cmath, cPickle, crypt, cStringIO, dbm
             errno, fcntl, grp, math, md5, operator, parser, pcre, pwd
             regex, rotor, select, struct, strop, syslog, termios
             time, timing, xreadlines

        4) Once the python executable and library have been built, make
           will execute setup.py, which will attempt to build remaining
           extensions and link them dynamically. Each of these attempts
           will fail but should not halt the make process. This is
           normal.

        5) Running "make test" uses a lot of resources and causes
           problems on our system. You might want to try running tests
           singly or in small groups.

SGI:    SGI's standard "make" utility (/bin/make or /usr/bin/make)
        does not check whether a command actually changed the file it
        is supposed to build.  This means that whenever you say "make"
        it will redo the link step.  The remedy is to use SGI's much
        smarter "smake" utility (/usr/sbin/smake), or GNU make.  If
        you set the first line of the Makefile to #!/usr/sbin/smake
        smake will be invoked by make (likewise for GNU make).

        WARNING: There are bugs in the optimizer of some versions of
        SGI's compilers that can cause bus errors or other strange
        behavior, especially on numerical operations.  To avoid this,
        try building with "make OPT=".

OS/2:   If you are running Warp3 or Warp4 and have IBM's VisualAge C/C++
        compiler installed, just change into the pc\os2vacpp directory
        and type NMAKE.  Threading and sockets are supported by default
        in the resulting binaries of PYTHON15.DLL and PYTHON.EXE.

Monterey (64-bit AIX): The current Monterey C compiler (Visual Age)
        uses the OBJECT_MODE={32|64} environment variable to set the
        compilation mode to either 32-bit or 64-bit (32-bit mode is
        the default).  Presumably you want 64-bit compilation mode for
        this 64-bit OS.  As a result you must first set OBJECT_MODE=64
        in your environment before configuring (./configure) or
        building (make) Python on Monterey.

Reliant UNIX: The thread support does not compile on Reliant UNIX, and
        there is a (minor) problem in the configure script for that
        platform as well.  This should be resolved in time for a
        future release.

MacOSX: The tests will crash on both 10.1 and 10.2 with SEGV in
        test_re and test_sre due to the small default stack size.  If
        you set the stack size to 2048 before doing a "make test" the
        failure can be avoided.  If you're using the tcsh or csh shells,
        use "limit stacksize 2048" and for the bash shell (the default
        as of OSX 10.3), use "ulimit -s 2048".

        On naked Darwin you may want to add the configure option
        "--disable-toolbox-glue" to disable the glue code for the Carbon
        interface modules. The modules themselves are currently only built
        if you add the --enable-framework option, see below.

        On a clean OSX /usr/local does not exist. Do a
        "sudo mkdir -m 775 /usr/local"
        before you do a make install. It is probably not a good idea to
        do "sudo make install" which installs everything as superuser,
        as this may later cause problems when installing distutils-based
        additions.

        Some people have reported problems building Python after using "fink"
        to install additional unix software. Disabling fink (remove all 
        references to /sw from your .profile or .login) should solve this.

        You may want to try the configure option "--enable-framework"
        which installs Python as a framework. The location can be set
        as argument to the --enable-framework option (default
        /Library/Frameworks). A framework install is probably needed if you
        want to use any Aqua-based GUI toolkit (whether Tkinter, wxPython,
        Carbon, Cocoa or anything else).

        You may also want to try the configure option "--enable-universalsdk"
        which builds Python as a universal binary with support for the 
        i386 and PPC architetures. This requires Xcode 2.1 or later to build.

        See Mac/README for more information on framework and 
        universal builds.

Cygwin: With recent (relative to the time of writing, 2001-12-19)
        Cygwin installations, there are problems with the interaction
        of dynamic linking and fork().  This manifests itself in build
        failures during the execution of setup.py.

        There are two workarounds that both enable Python (albeit
        without threading support) to build and pass all tests on
        NT/2000 (and most likely XP as well, though reports of testing
        on XP would be appreciated).

        The workarounds:

        (a) the band-aid fix is to link the _socket module statically
        rather than dynamically (which is the default).

        To do this, run "./configure --with-threads=no" including any
        other options you need (--prefix, etc.).  Then in Modules/Setup
        uncomment the lines:

        #SSL=/usr/local/ssl
        #_socket socketmodule.c \
        #       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        #       -L$(SSL)/lib -lssl -lcrypto

        and remove "local/" from the SSL variable.  Finally, just run
        "make"!

        (b) The "proper" fix is to rebase the Cygwin DLLs to prevent
        base address conflicts.  Details on how to do this can be
        found in the following mail:

           http://sources.redhat.com/ml/cygwin/2001-12/msg00894.html

        It is hoped that a version of this solution will be
        incorporated into the Cygwin distribution fairly soon.

        Two additional problems:

        (1) Threading support should still be disabled due to a known
        bug in Cygwin pthreads that causes test_threadedtempfile to
        hang.

        (2) The _curses module does not build.  This is a known
        Cygwin ncurses problem that should be resolved the next time
        that this package is released.

        On older versions of Cygwin, test_poll may hang and test_strftime
        may fail.

        The situation on 9X/Me is not accurately known at present.
        Some time ago, there were reports that the following
        regression tests failed:

            test_pwd
            test_select (hang)
            test_socket

        Due to the test_select hang on 9X/Me, one should run the
        regression test using the following:

            make TESTOPTS='-l -x test_select' test

        News regarding these platforms with more recent Cygwin
        versions would be appreciated!

Windows: When executing Python scripts on the command line using file type
        associations (i.e. starting "script.py" instead of "python script.py"),
        redirects may not work unless you set a specific registry key.  See
        the Knowledge Base article <http://support.microsoft.com/kb/321788>.


Configuring the bsddb and dbm modules
-------------------------------------

Beginning with Python version 2.3, the PyBsddb package
<http://pybsddb.sf.net/> was adopted into Python as the bsddb package,
exposing a set of package-level functions which provide
backwards-compatible behavior.  Only versions 3.3 through 4.4 of
Sleepycat's libraries provide the necessary API, so older versions
aren't supported through this interface.  The old bsddb module has
been retained as bsddb185, though it is not built by default.  Users
wishing to use it will have to tweak Modules/Setup to build it.  The
dbm module will still be built against the Sleepycat libraries if
other preferred alternatives (ndbm, gdbm) are not found.

Building the sqlite3 module
---------------------------

To build the sqlite3 module, you'll need the sqlite3 or libsqlite3
packages installed, including the header files. Many modern operating
systems distribute the headers in a separate package to the library -
often it will be the same name as the main package, but with a -dev or
-devel suffix. 

The version of pysqlite2 that's including in Python needs sqlite3 3.0.8
or later. setup.py attempts to check that it can find a correct version.

Configuring threads
-------------------

As of Python 2.0, threads are enabled by default.  If you wish to
compile without threads, or if your thread support is broken, pass the
--with-threads=no switch to configure.  Unfortunately, on some
platforms, additional compiler and/or linker options are required for
threads to work properly.  Below is a table of those options,
collected by Bill Janssen.  We would love to automate this process
more, but the information below is not enough to write a patch for the
configure.in file, so manual intervention is required.  If you patch
the configure.in file and are confident that the patch works, please
send in the patch.  (Don't bother patching the configure script itself
-- it is regenerated each time the configure.in file changes.)

Compiler switches for threads
.............................

The definition of _REENTRANT should be configured automatically, if
that does not work on your system, or if _REENTRANT is defined
incorrectly, please report that as a bug.

    OS/Compiler/threads                     Switches for use with threads
    (POSIX is draft 10, DCE is draft 4)     compile & link

    SunOS 5.{1-5}/{gcc,SunPro cc}/solaris   -mt
    SunOS 5.5/{gcc,SunPro cc}/POSIX         (nothing)
    DEC OSF/1 3.x/cc/DCE                    -threads
            (butenhof@zko.dec.com)
    Digital UNIX 4.x/cc/DCE                 -threads
            (butenhof@zko.dec.com)
    Digital UNIX 4.x/cc/POSIX               -pthread
            (butenhof@zko.dec.com)
    AIX 4.1.4/cc_r/d7                       (nothing)
            (buhrt@iquest.net)
    AIX 4.1.4/cc_r4/DCE                     (nothing)
            (buhrt@iquest.net)
    IRIX 6.2/cc/POSIX                       (nothing)
            (robertl@cwi.nl)


Linker (ld) libraries and flags for threads
...........................................

    OS/threads                          Libraries/switches for use with threads

    SunOS 5.{1-5}/solaris               -lthread
    SunOS 5.5/POSIX                     -lpthread
    DEC OSF/1 3.x/DCE                   -lpthreads -lmach -lc_r -lc
            (butenhof@zko.dec.com)
    Digital UNIX 4.x/DCE                -lpthreads -lpthread -lmach -lexc -lc
            (butenhof@zko.dec.com)
    Digital UNIX 4.x/POSIX              -lpthread -lmach -lexc -lc
            (butenhof@zko.dec.com)
    AIX 4.1.4/{draft7,DCE}              (nothing)
            (buhrt@iquest.net)
    IRIX 6.2/POSIX                      -lpthread
            (jph@emilia.engr.sgi.com)


Building a shared libpython
---------------------------

Starting with Python 2.3, the majority of the interpreter can be built
into a shared library, which can then be used by the interpreter
executable, and by applications embedding Python. To enable this feature,
configure with --enable-shared.

If you enable this feature, the same object files will be used to create
a static library.  In particular, the static library will contain object
files using position-independent code (PIC) on platforms where PIC flags
are needed for the shared library.


Configuring additional built-in modules
---------------------------------------

Starting with Python 2.1, the setup.py script at the top of the source
distribution attempts to detect which modules can be built and
automatically compiles them.  Autodetection doesn't always work, so
you can still customize the configuration by editing the Modules/Setup
file; but this should be considered a last resort.  The rest of this
section only applies if you decide to edit the Modules/Setup file.
You also need this to enable static linking of certain modules (which
is needed to enable profiling on some systems).

This file is initially copied from Setup.dist by the configure script;
if it does not exist yet, create it by copying Modules/Setup.dist
yourself (configure will never overwrite it).  Never edit Setup.dist
-- always edit Setup or Setup.local (see below).  Read the comments in
the file for information on what kind of edits are allowed.  When you
have edited Setup in the Modules directory, the interpreter will
automatically be rebuilt the next time you run make (in the toplevel
directory).

Many useful modules can be built on any Unix system, but some optional
modules can't be reliably autodetected.  Often the quickest way to
determine whether a particular module works or not is to see if it
will build: enable it in Setup, then if you get compilation or link
errors, disable it -- you're either missing support or need to adjust
the compilation and linking parameters for that module.

On SGI IRIX, there are modules that interface to many SGI specific
system libraries, e.g. the GL library and the audio hardware.  These
modules will not be built by the setup.py script.

In addition to the file Setup, you can also edit the file Setup.local.
(the makesetup script processes both).  You may find it more
convenient to edit Setup.local and leave Setup alone.  Then, when
installing a new Python version, you can copy your old Setup.local
file.


Setting the optimization/debugging options
------------------------------------------

If you want or need to change the optimization/debugging options for
the C compiler, assign to the OPT variable on the toplevel make
command; e.g. "make OPT=-g" will build a debugging version of Python
on most platforms.  The default is OPT=-O; a value for OPT in the
environment when the configure script is run overrides this default
(likewise for CC; and the initial value for LIBS is used as the base
set of libraries to link with).

When compiling with GCC, the default value of OPT will also include
the -Wall and -Wstrict-prototypes options.

Additional debugging code to help debug memory management problems can
be enabled by using the --with-pydebug option to the configure script.

For flags that change binary compatibility, use the EXTRA_CFLAGS
variable.


Profiling
---------

If you want C profiling turned on, the easiest way is to run configure
with the CC environment variable to the necessary compiler
invocation.  For example, on Linux, this works for profiling using
gprof(1):

    CC="gcc -pg" ./configure

Note that on Linux, gprof apparently does not work for shared
libraries.  The Makefile/Setup mechanism can be used to compile and
link most extension modules statically.


Coverage checking
-----------------

For C coverage checking using gcov, run "make coverage".  This will
build a Python binary with profiling activated, and a ".gcno" and
".gcda" file for every source file compiled with that option.  With
the built binary, now run the code whose coverage you want to check.
Then, you can see coverage statistics for each individual source file
by running gcov, e.g.

    gcov -o Modules zlibmodule

This will create a "zlibmodule.c.gcov" file in the current directory
containing coverage info for that source file.

This works only for source files statically compiled into the
executable; use the Makefile/Setup mechanism to compile and link
extension modules you want to coverage-check statically.


Testing
-------

To test the interpreter, type "make test" in the top-level directory.
This runs the test set twice (once with no compiled files, once with
the compiled files left by the previous test run).  The test set
produces some output.  You can generally ignore the messages about
skipped tests due to optional features which can't be imported.
If a message is printed about a failed test or a traceback or core
dump is produced, something is wrong.  On some Linux systems (those
that are not yet using glibc 6), test_strftime fails due to a
non-standard implementation of strftime() in the C library. Please
ignore this, or upgrade to glibc version 6.

By default, tests are prevented from overusing resources like disk space and
memory.  To enable these tests, run "make testall".

IMPORTANT: If the tests fail and you decide to mail a bug report,
*don't* include the output of "make test".  It is useless.  Run the
failing test manually, as follows:

        ./python Lib/test/regrtest.py -v test_whatever

(substituting the top of the source tree for '.' if you built in a
different directory).  This runs the test in verbose mode.


Installing
----------

To install the Python binary, library modules, shared library modules
(see below), include files, configuration files, and the manual page,
just type

        make install

This will install all platform-independent files in subdirectories of
the directory given with the --prefix option to configure or to the
`prefix' Make variable (default /usr/local).  All binary and other
platform-specific files will be installed in subdirectories if the
directory given by --exec-prefix or the `exec_prefix' Make variable
(defaults to the --prefix directory) is given.

If DESTDIR is set, it will be taken as the root directory of the
installation, and files will be installed into $(DESTDIR)$(prefix),
$(DESTDIR)$(exec_prefix), etc.

All subdirectories created will have Python's version number in their
name, e.g. the library modules are installed in
"/usr/local/lib/python<version>/" by default, where <version> is the
<major>.<minor> release number (e.g. "2.1").  The Python binary is
installed as "python<version>" and a hard link named "python" is
created.  The only file not installed with a version number in its
name is the manual page, installed as "/usr/local/man/man1/python.1"
by default.

If you want to install multiple versions of Python see the section below
entitled "Installing multiple versions".

The only thing you may have to install manually is the Python mode for
Emacs found in Misc/python-mode.el.  (But then again, more recent
versions of Emacs may already have it.)  Follow the instructions that
came with Emacs for installation of site-specific files.

On Mac OS X, if you have configured Python with --enable-framework, you
should use "make frameworkinstall" to do the installation. Note that this
installs the Python executable in a place that is not normally on your
PATH, you may want to set up a symlink in /usr/local/bin.


Installing multiple versions
----------------------------

On Unix and Mac systems if you intend to install multiple versions of Python
using the same installation prefix (--prefix argument to the configure
script) you must take care that your primary python executable is not
overwritten by the installation of a different version.  All files and
directories installed using "make altinstall" contain the major and minor
version and can thus live side-by-side.  "make install" also creates
${prefix}/bin/python which refers to ${prefix}/bin/pythonX.Y.  If you intend
to install multiple versions using the same prefix you must decide which
version (if any) is your "primary" version.  Install that version using
"make install".  Install all other versions using "make altinstall".

For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
the primary version, you would execute "make install" in your 2.6 build
directory and "make altinstall" in the others.


Configuration options and variables
-----------------------------------

Some special cases are handled by passing options to the configure
script.

WARNING: if you rerun the configure script with different options, you
must run "make clean" before rebuilding.  Exceptions to this rule:
after changing --prefix or --exec-prefix, all you need to do is remove
Modules/getpath.o.

--with(out)-gcc: The configure script uses gcc (the GNU C compiler) if
        it finds it.  If you don't want this, or if this compiler is
        installed but broken on your platform, pass the option
        --without-gcc.  You can also pass "CC=cc" (or whatever the
        name of the proper C compiler is) in the environment, but the
        advantage of using --without-gcc is that this option is
        remembered by the config.status script for its --recheck
        option.

--prefix, --exec-prefix: If you want to install the binaries and the
        Python library somewhere else than in /usr/local/{bin,lib},
        you can pass the option --prefix=DIRECTORY; the interpreter
        binary will be installed as DIRECTORY/bin/python and the
        library files as DIRECTORY/lib/python/*.  If you pass
        --exec-prefix=DIRECTORY (as well) this overrides the
        installation prefix for architecture-dependent files (like the
        interpreter binary).  Note that --prefix=DIRECTORY also
        affects the default module search path (sys.path), when
        Modules/config.c is compiled.  Passing make the option
        prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the
        prefix set at configuration time; this may be more convenient
        than re-running the configure script if you change your mind
        about the install prefix.

--with-readline: This option is no longer supported.  GNU
        readline is automatically enabled by setup.py when present.

--with-threads: On most Unix systems, you can now use multiple
        threads, and support for this is enabled by default.  To
        disable this, pass --with-threads=no.  If the library required
        for threads lives in a peculiar place, you can use
        --with-thread=DIRECTORY.  IMPORTANT: run "make clean" after
        changing (either enabling or disabling) this option, or you
        will get link errors!  Note: for DEC Unix use
        --with-dec-threads instead.

--with-sgi-dl: On SGI IRIX 4, dynamic loading of extension modules is
        supported by the "dl" library by Jack Jansen, which is
        ftp'able from ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
        This is enabled (after you've ftp'ed and compiled the dl
        library) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
        is the absolute pathname of the dl library.  (Don't bother on
        IRIX 5, it already has dynamic linking using SunOS style
        shared libraries.)  THIS OPTION IS UNSUPPORTED.

--with-dl-dld: Dynamic loading of modules is rumored to be supported
        on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent
        Symmetry (Dynix), and Atari ST.  This is done using a
        combination of the GNU dynamic loading package
        (ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z) and an
        emulation of the SGI dl library mentioned above (the emulation
        can be found at
        ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z).  To
        enable this, ftp and compile both libraries, then call
        configure, passing it the option
        --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is
        the absolute pathname of the dl emulation library and
        DLD_DIRECTORY is the absolute pathname of the GNU dld library.
        (Don't bother on SunOS 4 or 5, they already have dynamic
        linking using shared libraries.)  THIS OPTION IS UNSUPPORTED.

--with-libm, --with-libc: It is possible to specify alternative
        versions for the Math library (default -lm) and the C library
        (default the empty string) using the options
        --with-libm=STRING and --with-libc=STRING, respectively.  For
        example, if your system requires that you pass -lc_s to the C
        compiler to use the shared C library, you can pass
        --with-libc=-lc_s. These libraries are passed after all other
        libraries, the C library last.

--with-libs='libs': Add 'libs' to the LIBS that the python interpreter
        is linked against.

--with-cxx-main=<compiler>: If you plan to use C++ extension modules,
        then -- on some platforms -- you need to compile python's main()
        function with the C++ compiler. With this option, make will use
        <compiler> to compile main() *and* to link the python executable.
        It is likely that the resulting executable depends on the C++
        runtime library of <compiler>. (The default is --without-cxx-main.)

        There are platforms that do not require you to build Python
        with a C++ compiler in order to use C++ extension modules.
        E.g., x86 Linux with ELF shared binaries and GCC 3.x, 4.x is such
        a platform. We recommend that you configure Python
        --without-cxx-main on those platforms because a mismatch
        between the C++ compiler version used to build Python and to
        build a C++ extension module is likely to cause a crash at
        runtime.

        The Python installation also stores the variable CXX that
        determines, e.g., the C++ compiler distutils calls by default
        to build C++ extensions. If you set CXX on the configure command
        line to any string of non-zero length, then configure won't
        change CXX. If you do not preset CXX but pass
        --with-cxx-main=<compiler>, then configure sets CXX=<compiler>.
        In all other cases, configure looks for a C++ compiler by
        some common names (c++, g++, gcc, CC, cxx, cc++, cl) and sets
        CXX to the first compiler it finds. If it does not find any
        C++ compiler, then it sets CXX="".

        Similarly, if you want to change the command used to link the
        python executable, then set LINKCC on the configure command line.


--with-pydebug:  Enable additional debugging code to help track down
        memory management problems.  This allows printing a list of all
        live objects when the interpreter terminates.

--with(out)-universal-newlines: enable reading of text files with
        foreign newline convention (default: enabled). In other words,
        any of \r, \n or \r\n is acceptable as end-of-line character.
        If enabled import and execfile will automatically accept any newline
        in files. Python code can open a file with open(file, 'U') to
        read it in universal newline mode. THIS OPTION IS UNSUPPORTED.

--with-tsc: Profile using the Pentium timestamping counter (TSC).

--with-system-ffi:  Build the _ctypes extension module using an ffi
        library installed on the system.


Building for multiple architectures (using the VPATH feature)
-------------------------------------------------------------

If your file system is shared between multiple architectures, it
usually is not necessary to make copies of the sources for each
architecture you want to support.  If the make program supports the
VPATH feature, you can create an empty build directory for each
architecture, and in each directory run the configure script (on the
appropriate machine with the appropriate options).  This creates the
necessary subdirectories and the Makefiles therein.  The Makefiles
contain a line VPATH=... which points to a directory containing the
actual sources.  (On SGI systems, use "smake -J1" instead of "make" if
you use VPATH -- don't try gnumake.)

For example, the following is all you need to build a minimal Python
in /usr/tmp/python (assuming ~guido/src/python is the toplevel
directory and you want to build in /usr/tmp/python):

        $ mkdir /usr/tmp/python
        $ cd /usr/tmp/python
        $ ~guido/src/python/configure
        [...]
        $ make
        [...]
        $

Note that configure copies the original Setup file to the build
directory if it finds no Setup file there.  This means that you can
edit the Setup file for each architecture independently.  For this
reason, subsequent changes to the original Setup file are not tracked
automatically, as they might overwrite local changes.  To force a copy
of a changed original Setup file, delete the target Setup file.  (The
makesetup script supports multiple input files, so if you want to be
fancy you can change the rules to create an empty Setup.local if it
doesn't exist and run it with arguments $(srcdir)/Setup Setup.local;
however this assumes that you only need to add modules.)

Also note that you can't use a workspace for VPATH and non VPATH builds. The
object files left behind by one version confuses the other.


Building on non-UNIX systems
----------------------------

For Windows (2000/NT/ME/98/95), assuming you have MS VC++ 7.1, the
project files are in PCbuild, the workspace is pcbuild.dsw.  See
PCbuild\readme.txt for detailed instructions.

For other non-Unix Windows compilers, in particular MS VC++ 6.0 and
for OS/2, enter the directory "PC" and read the file "readme.txt".

For the Mac, a separate source distribution will be made available,
for use with the CodeWarrior compiler.  If you are interested in Mac
development, join the PythonMac Special Interest Group
(http://www.python.org/sigs/pythonmac-sig/, or send email to
pythonmac-sig-request@python.org).

Of course, there are also binary distributions available for these
platforms -- see http://www.python.org/.

To port Python to a new non-UNIX system, you will have to fake the
effect of running the configure script manually (for Mac and PC, this
has already been done for you).  A good start is to copy the file
pyconfig.h.in to pyconfig.h and edit the latter to reflect the actual
configuration of your system.  Most symbols must simply be defined as
1 only if the corresponding feature is present and can be left alone
otherwise; however the *_t type symbols must be defined as some
variant of int if they need to be defined at all.

For all platforms, it's important that the build arrange to define the
preprocessor symbol NDEBUG on the compiler command line in a release
build of Python (else assert() calls remain in the code, hurting
release-build performance).  The Unix, Windows and Mac builds already
do this.


Miscellaneous issues
====================

Emacs mode
----------

There's an excellent Emacs editing mode for Python code; see the file
Misc/python-mode.el.  Originally written by the famous Tim Peters, it
is now maintained by the equally famous Barry Warsaw (it's no
coincidence that they now both work on the same team).  The latest
version, along with various other contributed Python-related Emacs
goodies, is online at http://www.python.org/emacs/python-mode/.  And
if you are planning to edit the Python C code, please pick up the
latest version of CC Mode http://www.python.org/emacs/cc-mode/; it
contains a "python" style used throughout most of the Python C source
files.  (Newer versions of Emacs or XEmacs may already come with the
latest version of python-mode.)


Tkinter
-------

The setup.py script automatically configures this when it detects a
usable Tcl/Tk installation.  This requires Tcl/Tk version 8.0 or
higher.

For more Tkinter information, see the Tkinter Resource page:
http://www.python.org/topics/tkinter/

There are demos in the Demo/tkinter directory.

Note that there's a Python module called "Tkinter" (capital T) which
lives in Lib/lib-tk/Tkinter.py, and a C module called "_tkinter"
(lower case t and leading underscore) which lives in
Modules/_tkinter.c.  Demos and normal Tk applications import only the
Python Tkinter module -- only the latter imports the C _tkinter
module.  In order to find the C _tkinter module, it must be compiled
and linked into the Python interpreter -- the setup.py script does
this.  In order to find the Python Tkinter module, sys.path must be
set correctly -- normal installation takes care of this.


Distribution structure
----------------------

Most subdirectories have their own README files.  Most files have
comments.

Demo/           Demonstration scripts, modules and programs
Doc/            Documentation sources (reStructuredText)
Grammar/        Input for the parser generator
Include/        Public header files
LICENSE         Licensing information
Lib/            Python library modules
Mac/            Macintosh specific resources
Makefile.pre.in Source from which config.status creates the Makefile.pre
Misc/           Miscellaneous useful files
Modules/        Implementation of most built-in modules
Objects/        Implementation of most built-in object types
PC/             Files specific to PC ports (DOS, Windows, OS/2)
PCbuild/        Build directory for Microsoft Visual C++
Parser/         The parser and tokenizer and their input handling
Python/         The byte-compiler and interpreter
README          The file you're reading now
RISCOS/         Files specific to RISC OS port
Tools/          Some useful programs written in Python
pyconfig.h.in   Source from which pyconfig.h is created (GNU autoheader output)
configure       Configuration shell script (GNU autoconf output)
configure.in    Configuration specification (input for GNU autoconf)
install-sh      Shell script used to install files
setup.py        Python script used to build extension modules

The following files will (may) be created in the toplevel directory by
the configuration and build processes:

Makefile        Build rules
Makefile.pre    Build rules before running Modules/makesetup
buildno         Keeps track of the build number
config.cache    Cache of configuration variables
pyconfig.h      Configuration header
config.log      Log from last configure run
config.status   Status from last run of the configure script
getbuildinfo.o  Object file from Modules/getbuildinfo.c
libpython<version>.a    The library archive
python          The executable interpreter
reflog.txt      Output from running the regression suite with the -R flag 
tags, TAGS      Tags files for vi and Emacs


That's all, folks!
------------------


--Guido van Rossum (home page: http://www.python.org/~guido/)