Merged revisions 58095-58132,58136-58148,58151-58197 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r58096 | brett.cannon | 2007-09-10 23:38:27 +0200 (Mon, 10 Sep 2007) | 4 lines

  Fix a possible segfault from recursing too deep to get the repr of a list.

  Closes issue #1096.
........
  r58097 | bill.janssen | 2007-09-10 23:51:02 +0200 (Mon, 10 Sep 2007) | 33 lines

  More work on SSL support.

  * Much expanded test suite:

    All protocols tested against all other protocols.
    All protocols tested with all certificate options.
    Tests for bad key and bad cert.
    Test of STARTTLS functionality.
    Test of RAND_* functions.

  * Fixes for threading/malloc bug.

  * Issue 1065 fixed:

    sslsocket class renamed to SSLSocket.
    sslerror class renamed to SSLError.
    Function "wrap_socket" now used to wrap an existing socket.

  * Issue 1583946 finally fixed:

    Support for subjectAltName added.
    Subject name now returned as proper DN list of RDNs.

  * SSLError exported from socket as "sslerror".

  * RAND_* functions properly exported from ssl.py.

  * Documentation improved:

    Example of how to create a self-signed certificate.
    Better indexing.
........
  r58098 | guido.van.rossum | 2007-09-11 00:02:25 +0200 (Tue, 11 Sep 2007) | 9 lines

  Patch # 1140 (my code, approved by Effbot).

  Make sure the type of the return value of re.sub(x, y, z) is the type
  of y+x (i.e. unicode if either is unicode, str if they are both str)
  even if there are no substitutions or if x==z (which triggered various
  special cases in join_list()).

  Could be backported to 2.5; no need to port to 3.0.
........
  r58099 | guido.van.rossum | 2007-09-11 00:36:02 +0200 (Tue, 11 Sep 2007) | 8 lines

  Patch # 1026 by Benjamin Aranguren (with Alex Martelli):
  Backport abc.py and isinstance/issubclass overloading to 2.6.

  I had to backport test_typechecks.py myself, and make one small change
  to abc.py to avoid duplicate work when x.__class__ and type(x) are the
  same.
........
  r58100 | bill.janssen | 2007-09-11 01:41:24 +0200 (Tue, 11 Sep 2007) | 3 lines

  A better way of finding an open port to test with.
........
  r58101 | bill.janssen | 2007-09-11 03:09:19 +0200 (Tue, 11 Sep 2007) | 4 lines

  Make sure test_ssl doesn't reference the ssl module in a
  context where it can't be imported.
........
  r58102 | bill.janssen | 2007-09-11 04:42:07 +0200 (Tue, 11 Sep 2007) | 3 lines

  Fix some documentation bugs.
........
  r58103 | nick.coghlan | 2007-09-11 16:01:18 +0200 (Tue, 11 Sep 2007) | 1 line

  Always use the -E flag when spawning subprocesses in test_cmd_line (Issue 1056)
........
  r58106 | thomas.heller | 2007-09-11 21:17:48 +0200 (Tue, 11 Sep 2007) | 3 lines

  Disable some tests that fail on the 'ppc Debian unstable' buildbot to
  find out if they cause the segfault on the 'alpha Debian' machine.
........
  r58108 | brett.cannon | 2007-09-11 23:02:28 +0200 (Tue, 11 Sep 2007) | 6 lines

  Generators had their throw() method allowing string exceptions.  That's a
  no-no.

  Fixes issue #1147.  Need to fix 2.5 to raise a proper warning if a string
  exception is passed in.
........
  r58112 | georg.brandl | 2007-09-12 20:03:51 +0200 (Wed, 12 Sep 2007) | 3 lines

  New documentation page for the bdb module.
  (This doesn't need to be merged to Py3k.)
........
  r58114 | georg.brandl | 2007-09-12 20:05:57 +0200 (Wed, 12 Sep 2007) | 2 lines

  Bug #1152: use non-deprecated name in example.
........
  r58115 | georg.brandl | 2007-09-12 20:08:33 +0200 (Wed, 12 Sep 2007) | 2 lines

  Fix #1122: wrong return type documented for various _Size() functions.
........
  r58117 | georg.brandl | 2007-09-12 20:10:56 +0200 (Wed, 12 Sep 2007) | 2 lines

  Fix #1139: PyFile_Encoding really is PyFile_SetEncoding.
........
  r58119 | georg.brandl | 2007-09-12 20:29:18 +0200 (Wed, 12 Sep 2007) | 2 lines

  bug #1154: release memory allocated by "es" PyArg_ParseTuple format specifier.
........
  r58121 | bill.janssen | 2007-09-12 20:52:05 +0200 (Wed, 12 Sep 2007) | 1 line

  root certificate for https://svn.python.org/, used in test_ssl
........
  r58122 | georg.brandl | 2007-09-12 21:00:07 +0200 (Wed, 12 Sep 2007) | 3 lines

  Bug #1153: repr.repr() now doesn't require set and dictionary items
  to be orderable to properly represent them.
........
  r58125 | georg.brandl | 2007-09-12 21:29:28 +0200 (Wed, 12 Sep 2007) | 4 lines

  #1120: put explicit version in the shebang lines of pydoc, idle
  and smtpd.py scripts that are installed by setup.py. That way, they
  work when only "make altinstall" is used.
........
  r58139 | mark.summerfield | 2007-09-13 16:54:30 +0200 (Thu, 13 Sep 2007) | 9 lines

  Replaced variable o with obj in operator.rst because o is easy to
  confuse.

  Added a note about Python 3's collections.Mapping etc., above section
  that describes isMappingType() etc.

  Added xrefs between os, os.path, fileinput, and open().
........
  r58143 | facundo.batista | 2007-09-13 20:13:15 +0200 (Thu, 13 Sep 2007) | 7 lines


  Merged the decimal-branch (revisions 54886 to 58140). Decimal is now
  fully updated to the latests Decimal Specification (v1.66) and the
  latests test cases (v2.56).

  Thanks to Mark Dickinson for all his help during this process.
........
  r58145 | facundo.batista | 2007-09-13 20:42:09 +0200 (Thu, 13 Sep 2007) | 7 lines


  Put the parameter watchexp back in (changed watchexp from an int
  to a bool).  Also second argument to watchexp is now converted
  to Decimal, just as with all the other two-argument operations.

  Thanks Mark Dickinson.
........
  r58147 | andrew.kuchling | 2007-09-14 00:49:34 +0200 (Fri, 14 Sep 2007) | 1 line

  Add various items
........
  r58148 | andrew.kuchling | 2007-09-14 00:50:10 +0200 (Fri, 14 Sep 2007) | 1 line

  Make target unique
........
  r58154 | facundo.batista | 2007-09-14 20:58:34 +0200 (Fri, 14 Sep 2007) | 3 lines


  Included the new functions, and new descriptions.
........
  r58155 | thomas.heller | 2007-09-14 21:40:35 +0200 (Fri, 14 Sep 2007) | 2 lines

  ctypes.util.find_library uses dump(1) instead of objdump(1) on Solaris.
  Fixes issue #1777530; will backport to release25-maint.
........
  r58159 | facundo.batista | 2007-09-14 23:29:52 +0200 (Fri, 14 Sep 2007) | 3 lines


  Some additions (examples and a bit on the tutorial).
........
  r58160 | georg.brandl | 2007-09-15 18:53:36 +0200 (Sat, 15 Sep 2007) | 2 lines

  Remove bdb from the "undocumented modules" list.
........
  r58164 | bill.janssen | 2007-09-17 00:06:00 +0200 (Mon, 17 Sep 2007) | 15 lines

  Add support for asyncore server-side SSL support.  This requires
  adding the 'makefile' method to ssl.SSLSocket, and importing the
  requisite fakefile class from socket.py, and making the appropriate
  changes to it to make it use the SSL connection.

  Added sample HTTPS server to test_ssl.py, and test that uses it.

  Change SSL tests to use https://svn.python.org/, instead of
  www.sf.net and pop.gmail.com.

  Added utility function to ssl module, get_server_certificate,
  to wrap up the several things to be done to pull a certificate
  from a remote server.
........
  r58173 | bill.janssen | 2007-09-17 01:16:46 +0200 (Mon, 17 Sep 2007) | 1 line

  use binary mode when reading files for testAsyncore to make Windows happy
........
  r58175 | raymond.hettinger | 2007-09-17 02:55:00 +0200 (Mon, 17 Sep 2007) | 7 lines

  Sync-up named tuples with the latest version of the ASPN recipe.
  Allows optional commas in the field-name spec (help when named tuples are used in conjuction with sql queries).
  Adds the __fields__ attribute for introspection and to support conversion to dictionary form.
  Adds a  __replace__() method similar to str.replace() but using a named field as a target.
  Clean-up spelling and presentation in doc-strings.
........
  r58176 | brett.cannon | 2007-09-17 05:28:34 +0200 (Mon, 17 Sep 2007) | 5 lines

  Add a bunch of GIL release/acquire points in tp_print implementations and for
  PyObject_Print().

  Closes issue #1164.
........
  r58177 | sean.reifschneider | 2007-09-17 07:45:04 +0200 (Mon, 17 Sep 2007) | 2 lines

  issue1597011: Fix for bz2 module corner-case error due to error checking bug.
........
  r58180 | facundo.batista | 2007-09-17 18:26:50 +0200 (Mon, 17 Sep 2007) | 3 lines


  Decimal is updated, :)
........
  r58181 | facundo.batista | 2007-09-17 19:30:13 +0200 (Mon, 17 Sep 2007) | 5 lines


  The methods always return Decimal classes, even if they're
  executed through a subclass (thanks Mark Dickinson).
  Added a bit of testing for this.
........
  r58183 | sean.reifschneider | 2007-09-17 22:53:21 +0200 (Mon, 17 Sep 2007) | 2 lines

  issue1082: Fixing platform and system for Vista.
........
  r58185 | andrew.kuchling | 2007-09-18 03:36:16 +0200 (Tue, 18 Sep 2007) | 1 line

  Add item; sort properly
........
  r58186 | raymond.hettinger | 2007-09-18 05:33:19 +0200 (Tue, 18 Sep 2007) | 1 line

  Handle corner cased on 0-tuples and 1-tuples.  Add verbose option so people can see how it works.
........
  r58192 | georg.brandl | 2007-09-18 09:24:40 +0200 (Tue, 18 Sep 2007) | 2 lines

  A bit of reordering, also show more subheadings in the lang ref index.
........
  r58193 | facundo.batista | 2007-09-18 18:53:18 +0200 (Tue, 18 Sep 2007) | 4 lines


  Speed up of the various division operations (remainder, divide,
  divideint and divmod). Thanks Mark Dickinson.
........
  r58197 | raymond.hettinger | 2007-09-19 00:18:02 +0200 (Wed, 19 Sep 2007) | 1 line

  Cleanup docs for NamedTuple.
........
diff --git a/Lib/test/decimaltestdata/scaleb.decTest b/Lib/test/decimaltestdata/scaleb.decTest
new file mode 100644
index 0000000..0761dea
--- /dev/null
+++ b/Lib/test/decimaltestdata/scaleb.decTest
@@ -0,0 +1,200 @@
+------------------------------------------------------------------------

+-- scaleb.decTest -- scale a number by powers of 10                   --

+-- Copyright (c) IBM Corporation, 1981, 2007.  All rights reserved.   --

+------------------------------------------------------------------------

+-- Please see the document "General Decimal Arithmetic Testcases"     --

+-- at http://www2.hursley.ibm.com/decimal for the description of      --

+-- these testcases.                                                   --

+--                                                                    --

+-- These testcases are experimental ('beta' versions), and they       --

+-- may contain errors.  They are offered on an as-is basis.  In       --

+-- particular, achieving the same results as the tests here is not    --

+-- a guarantee that an implementation complies with any Standard      --

+-- or specification.  The tests are not exhaustive.                   --

+--                                                                    --

+-- Please send comments, suggestions, and corrections to the author:  --

+--   Mike Cowlishaw, IBM Fellow                                       --

+--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --

+--   mfc@uk.ibm.com                                                   --

+------------------------------------------------------------------------

+version: 2.56

+

+extended:    1

+precision:   9

+rounding:    half_up

+maxExponent: 999

+minExponent: -999

+

+-- Max |rhs| is 2*(999+9) = 2016

+

+-- Sanity checks

+scbx001 scaleb       7.50   10 -> 7.50E+10

+scbx002 scaleb       7.50    3 -> 7.50E+3

+scbx003 scaleb       7.50    2 -> 750

+scbx004 scaleb       7.50    1 -> 75.0

+scbx005 scaleb       7.50    0 -> 7.50

+scbx006 scaleb       7.50   -1 -> 0.750

+scbx007 scaleb       7.50   -2 -> 0.0750

+scbx008 scaleb       7.50  -10 -> 7.50E-10

+scbx009 scaleb      -7.50    3 -> -7.50E+3

+scbx010 scaleb      -7.50    2 -> -750

+scbx011 scaleb      -7.50    1 -> -75.0

+scbx012 scaleb      -7.50    0 -> -7.50

+scbx013 scaleb      -7.50   -1 -> -0.750

+

+-- Infinities

+scbx014 scaleb  Infinity   1 -> Infinity

+scbx015 scaleb  -Infinity  2 -> -Infinity

+scbx016 scaleb  Infinity  -1 -> Infinity

+scbx017 scaleb  -Infinity -2 -> -Infinity

+

+-- Next two are somewhat undefined in 754r; treat as non-integer

+scbx018 scaleb  10  Infinity -> NaN Invalid_operation

+scbx019 scaleb  10 -Infinity -> NaN Invalid_operation

+

+-- NaNs are undefined in 754r; assume usual processing

+-- NaNs, 0 payload

+scbx021 scaleb         NaN  1 -> NaN

+scbx022 scaleb        -NaN -1 -> -NaN

+scbx023 scaleb        sNaN  1 -> NaN Invalid_operation

+scbx024 scaleb       -sNaN  1 -> -NaN Invalid_operation

+scbx025 scaleb    4    NaN    -> NaN

+scbx026 scaleb -Inf   -NaN    -> -NaN

+scbx027 scaleb    4   sNaN    -> NaN Invalid_operation

+scbx028 scaleb  Inf  -sNaN    -> -NaN Invalid_operation

+

+-- non-integer RHS

+scbx030 scaleb  1.23    1    ->  12.3

+scbx031 scaleb  1.23    1.00 ->  NaN Invalid_operation

+scbx032 scaleb  1.23    1.1  ->  NaN Invalid_operation

+scbx033 scaleb  1.23    1.01 ->  NaN Invalid_operation

+scbx034 scaleb  1.23    0.01 ->  NaN Invalid_operation

+scbx035 scaleb  1.23    0.11 ->  NaN Invalid_operation

+scbx036 scaleb  1.23    0.999999999 ->  NaN Invalid_operation

+scbx037 scaleb  1.23   -1    ->  0.123

+scbx038 scaleb  1.23   -1.00 ->  NaN Invalid_operation

+scbx039 scaleb  1.23   -1.1  ->  NaN Invalid_operation

+scbx040 scaleb  1.23   -1.01 ->  NaN Invalid_operation

+scbx041 scaleb  1.23   -0.01 ->  NaN Invalid_operation

+scbx042 scaleb  1.23   -0.11 ->  NaN Invalid_operation

+scbx043 scaleb  1.23   -0.999999999 ->  NaN Invalid_operation

+scbx044 scaleb  1.23    0.1         ->  NaN Invalid_operation

+scbx045 scaleb  1.23    1E+1        ->  NaN Invalid_operation

+scbx046 scaleb  1.23    1.1234E+6   ->  NaN Invalid_operation

+scbx047 scaleb  1.23    1.123E+4    ->  NaN Invalid_operation

+

+

+scbx120 scaleb  1.23    2015        ->  Infinity Overflow Inexact Rounded

+scbx121 scaleb  1.23    2016        ->  Infinity Overflow Inexact Rounded

+scbx122 scaleb  1.23    2017        ->  NaN Invalid_operation

+scbx123 scaleb  1.23    2018        ->  NaN Invalid_operation

+scbx124 scaleb  1.23   -2015        ->  0E-1007 Underflow Subnormal Inexact Rounded Clamped

+scbx125 scaleb  1.23   -2016        ->  0E-1007 Underflow Subnormal Inexact Rounded Clamped

+scbx126 scaleb  1.23   -2017        ->  NaN Invalid_operation

+scbx127 scaleb  1.23   -2018        ->  NaN Invalid_operation

+

+-- NaNs, non-0 payload

+-- propagating NaNs

+scbx861 scaleb  NaN01   -Inf     ->  NaN1

+scbx862 scaleb -NaN02   -1000    -> -NaN2

+scbx863 scaleb  NaN03    1000    ->  NaN3

+scbx864 scaleb  NaN04    Inf     ->  NaN4

+scbx865 scaleb  NaN05    NaN61   ->  NaN5

+scbx866 scaleb -Inf     -NaN71   -> -NaN71

+scbx867 scaleb -1000     NaN81   ->  NaN81

+scbx868 scaleb  1000     NaN91   ->  NaN91

+scbx869 scaleb  Inf      NaN101  ->  NaN101

+scbx871 scaleb  sNaN011  -Inf    ->  NaN11  Invalid_operation

+scbx872 scaleb  sNaN012  -1000   ->  NaN12  Invalid_operation

+scbx873 scaleb -sNaN013   1000   -> -NaN13  Invalid_operation

+scbx874 scaleb  sNaN014   NaN171 ->  NaN14  Invalid_operation

+scbx875 scaleb  sNaN015  sNaN181 ->  NaN15  Invalid_operation

+scbx876 scaleb  NaN016   sNaN191 ->  NaN191 Invalid_operation

+scbx877 scaleb -Inf      sNaN201 ->  NaN201 Invalid_operation

+scbx878 scaleb -1000     sNaN211 ->  NaN211 Invalid_operation

+scbx879 scaleb  1000    -sNaN221 -> -NaN221 Invalid_operation

+scbx880 scaleb  Inf      sNaN231 ->  NaN231 Invalid_operation

+scbx881 scaleb  NaN025   sNaN241 ->  NaN241 Invalid_operation

+

+-- finites

+scbx051 scaleb          7   -2  -> 0.07

+scbx052 scaleb         -7   -2  -> -0.07

+scbx053 scaleb         75   -2  -> 0.75

+scbx054 scaleb        -75   -2  -> -0.75

+scbx055 scaleb       7.50   -2  -> 0.0750

+scbx056 scaleb      -7.50   -2  -> -0.0750

+scbx057 scaleb       7.500  -2  -> 0.07500

+scbx058 scaleb      -7.500  -2  -> -0.07500

+scbx061 scaleb          7   -1  -> 0.7

+scbx062 scaleb         -7   -1  -> -0.7

+scbx063 scaleb         75   -1  -> 7.5

+scbx064 scaleb        -75   -1  -> -7.5

+scbx065 scaleb       7.50   -1  -> 0.750

+scbx066 scaleb      -7.50   -1  -> -0.750

+scbx067 scaleb       7.500  -1  -> 0.7500

+scbx068 scaleb      -7.500  -1  -> -0.7500

+scbx071 scaleb          7    0  -> 7

+scbx072 scaleb         -7    0  -> -7

+scbx073 scaleb         75    0  -> 75

+scbx074 scaleb        -75    0  -> -75

+scbx075 scaleb       7.50    0  -> 7.50

+scbx076 scaleb      -7.50    0  -> -7.50

+scbx077 scaleb       7.500   0  -> 7.500

+scbx078 scaleb      -7.500   0  -> -7.500

+scbx081 scaleb          7    1  -> 7E+1

+scbx082 scaleb         -7    1  -> -7E+1

+scbx083 scaleb         75    1  -> 7.5E+2

+scbx084 scaleb        -75    1  -> -7.5E+2

+scbx085 scaleb       7.50    1  -> 75.0

+scbx086 scaleb      -7.50    1  -> -75.0

+scbx087 scaleb       7.500   1  -> 75.00

+scbx088 scaleb      -7.500   1  -> -75.00

+scbx091 scaleb          7    2  -> 7E+2

+scbx092 scaleb         -7    2  -> -7E+2

+scbx093 scaleb         75    2  -> 7.5E+3

+scbx094 scaleb        -75    2  -> -7.5E+3

+scbx095 scaleb       7.50    2  -> 750

+scbx096 scaleb      -7.50    2  -> -750

+scbx097 scaleb       7.500   2  -> 750.0

+scbx098 scaleb      -7.500   2  -> -750.0

+

+-- zeros

+scbx111 scaleb          0  1 -> 0E+1

+scbx112 scaleb         -0  2 -> -0E+2

+scbx113 scaleb       0E+4  3 -> 0E+7

+scbx114 scaleb      -0E+4  4 -> -0E+8

+scbx115 scaleb     0.0000  5 -> 0E+1

+scbx116 scaleb    -0.0000  6 -> -0E+2

+scbx117 scaleb      0E-141 7 -> 0E-134

+scbx118 scaleb     -0E-141 8 -> -0E-133

+

+-- Nmax, Nmin, Ntiny

+scbx132 scaleb  9.99999999E+999 +999 -> Infinity    Overflow Inexact Rounded

+scbx133 scaleb  9.99999999E+999  +10 -> Infinity     Overflow Inexact Rounded

+scbx134 scaleb  9.99999999E+999  +1  -> Infinity     Overflow Inexact Rounded

+scbx135 scaleb  9.99999999E+999   0  -> 9.99999999E+999

+scbx136 scaleb  9.99999999E+999  -1  -> 9.99999999E+998

+scbx137 scaleb  1E-999           +1  -> 1E-998

+scbx138 scaleb  1E-999           -0  -> 1E-999

+scbx139 scaleb  1E-999           -1  -> 1E-1000         Subnormal

+scbx140 scaleb  1.00000000E-999  +1  -> 1.00000000E-998

+scbx141 scaleb  1.00000000E-999   0  -> 1.00000000E-999

+scbx142 scaleb  1.00000000E-999  -1  -> 1.0000000E-1000 Subnormal Rounded

+scbx143 scaleb  1E-1007          +1  -> 1E-1006         Subnormal

+scbx144 scaleb  1E-1007          -0  -> 1E-1007         Subnormal

+scbx145 scaleb  1E-1007          -1  -> 0E-1007         Underflow Subnormal Inexact Rounded Clamped

+

+scbx150 scaleb  -1E-1007         +1  -> -1E-1006        Subnormal

+scbx151 scaleb  -1E-1007         -0  -> -1E-1007        Subnormal

+scbx152 scaleb  -1E-1007         -1  -> -0E-1007        Underflow Subnormal Inexact Rounded Clamped

+scbx153 scaleb  -1.00000000E-999 +1  -> -1.00000000E-998

+scbx154 scaleb  -1.00000000E-999 +0  -> -1.00000000E-999

+scbx155 scaleb  -1.00000000E-999 -1  -> -1.0000000E-1000 Subnormal Rounded

+scbx156 scaleb  -1E-999          +1  -> -1E-998

+scbx157 scaleb  -1E-999          -0  -> -1E-999

+scbx158 scaleb  -1E-999          -1  -> -1E-1000         Subnormal

+scbx159 scaleb  -9.99999999E+999 +1  -> -Infinity        Overflow Inexact Rounded

+scbx160 scaleb  -9.99999999E+999 +0  -> -9.99999999E+999

+scbx161 scaleb  -9.99999999E+999 -1  -> -9.99999999E+998

+scbx162 scaleb  -9E+999          +1  -> -Infinity        Overflow Inexact Rounded

+scbx163 scaleb  -1E+999          +1  -> -Infinity        Overflow Inexact Rounded