From 32dde22186efbbfcfb275ac9542b3e62a9b5cf1b Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Tue, 15 Apr 2008 06:43:13 +0000 Subject: [PATCH] Merged revisions 61440-61441,61443,61445-61448,61451-61452,61455-61457,61459-61464,61466-61467,61469-61470,61476-61477,61479,61481-61482,61485,61487,61490,61493-61494,61497,61499-61502,61505-61506,61508,61511-61514,61519,61521-61522,61530-61531,61533-61537,61541-61555,61557-61558,61561-61562,61566-61569,61572-61574,61578-61579,61583-61584,61588-61589,61592,61594,61598-61601,61603-61604,61607-61612,61617,61619-61620,61624,61626,61628-61630,61635-61638,61640-61643,61645,61648,61653-61655,61659-61662,61664,61666,61668-61671,61673,61675,61679-61680,61682,61685-61686,61689-61695,61697-61699,61701-61703,61706,61710,61713,61717,61723,61726-61730,61736,61738,61740,61742,61745-61752,61754-61760,61762-61764,61768,61770-61772,61774-61775,61784-61787,61789-61792,61794-61795,61797-61806,61808-61809,61811-61812,61814-61819,61824,61826-61833,61835-61840,61843-61845,61848,61850,61854-61862,61865-61866,61868,61872-61873,61876-61877,61883-61888,61890-61891,61893-61899,61901-61903,61905-61912,61914,61917,61920-61921,61927,61930,61932-61934,61939,61941-61942,61944-61951,61955,61960-61963,61980,61982-61983,61991,61994-61996,62001-62003,62008-62010,62016-62017,62022,62024,62027,62031-62034,62041,62045-62046,62055-62058,62060-62066,62068-62074,62076-62079,62081-62083,62086-62089,62092-62094,62098,62101,62104,62106-62109,62115-62122,62124-62125,62128,62130,62132,62134-62135,62137,62139-62140,62144,62146,62151,62155,62157,62162-62166,62171-62172,62175-62176,62178,62181-62186,62188-62192,62196,62200-62203,62206,62211-62213,62215-62218,62222,62224-62226,62228,62232,62236,62240-62245,62248,62250-62254,62256-62258,62262,62264-62265,62267-62270,62272-62276,62280-62288,62291-62292,62299-62301,62307,62312,62316-62318,62322-62331,62333-62337,62339-62344,62346-62348 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r62323 | brett.cannon | 2008-04-13 10:09:43 -0700 (Sun, 13 Apr 2008) | 3 lines Add an explicit check for output in a test to try to diagnose a failure on Windows. ........ r62324 | brett.cannon | 2008-04-13 10:41:31 -0700 (Sun, 13 Apr 2008) | 3 lines Fix spliting on colons on Windows machines with a file path by limiting the number of splits. ........ r62329 | benjamin.peterson | 2008-04-13 13:35:56 -0700 (Sun, 13 Apr 2008) | 2 lines #2627 Let it be known what pgen generates ........ r62330 | benjamin.peterson | 2008-04-13 13:40:03 -0700 (Sun, 13 Apr 2008) | 2 lines Added an ignore file for Bazaar #2510 ........ r62331 | georg.brandl | 2008-04-13 13:50:29 -0700 (Sun, 13 Apr 2008) | 2 lines Improve -X error message. ........ r62334 | andrew.kuchling | 2008-04-13 15:39:12 -0700 (Sun, 13 Apr 2008) | 1 line Add example ........ r62340 | amaury.forgeotdarc | 2008-04-14 12:55:40 -0700 (Mon, 14 Apr 2008) | 2 lines Update project files for all Windows supported compilers ........ r62341 | amaury.forgeotdarc | 2008-04-14 13:07:48 -0700 (Mon, 14 Apr 2008) | 6 lines Correct a refleak found by "regrtest.py -R:: test_structmembers" Some other minor updates in _warnings.c: - make a function static - rename a shadowing local variable ........ r62347 | andrew.kuchling | 2008-04-14 19:24:15 -0700 (Mon, 14 Apr 2008) | 1 line Various items; begin writing the SSL section ........ r62348 | neal.norwitz | 2008-04-14 20:46:21 -0700 (Mon, 14 Apr 2008) | 1 line Prevent namespace pollution, add static for internal functions ........ --- .bzrignore | 43 ++++++++++++++++++++++++++++++++++++++ Doc/whatsnew/2.6.rst | 31 ++++++++++++++++++++------- Include/graminit.h | 2 ++ Lib/test/test_warnings.py | 3 ++- Modules/main.c | 2 +- Objects/descrobject.c | 6 +++--- PC/VC6/pythoncore.dsp | 4 ++++ PC/VS7.1/pythoncore.vcproj | 3 +++ PC/VS8.0/pythoncore.vcproj | 4 ++++ PCbuild/pythoncore.vcproj | 8 +++---- Parser/printgrammar.c | 3 +++ Python/_warnings.c | 11 +++++----- Python/getopt.c | 2 +- Python/graminit.c | 2 ++ 14 files changed, 101 insertions(+), 23 deletions(-) create mode 100644 .bzrignore diff --git a/.bzrignore b/.bzrignore new file mode 100644 index 00000000000..1afc28a5ba4 --- /dev/null +++ b/.bzrignore @@ -0,0 +1,43 @@ +.purify +autom4te.cache +config.log +config.cache +config.status +config.status.lineno +db_home +Makefile +buildno +python +build +Makefile.pre +platform +pyconfig.h +libpython*.a +python.exe +CP936.TXT +SHIFT_JISX0213.TXT +JOHAB.TXT +EUC-JP.TXT +NormalizationTest-3.2.0.txt +NormalizationTest.txt +BIG5.TXT +BIG5HKSCS-2004.TXT +CP949.TXT +EUC-CN.TXT +BIG5HKSCS.TXT +SHIFTJIS.TXT +EUC-KR.TXT +EUC-JISX0213.TXT +CP932.TXT +CP950.TXT +reflog.txt +gb-18030-2000.xml +tags +TAGS +.gdb_history +Modules/Setup +Modules/Setup.config +Modules/Setup.local +Modules/config.c +Parser/pgen +Lib/plat-mac/errors.rsrc.df.rsrc diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst index cc20423682f..fa51221c3d6 100644 --- a/Doc/whatsnew/2.6.rst +++ b/Doc/whatsnew/2.6.rst @@ -736,7 +736,13 @@ There's also a ``__future__`` import that causes all string literals to become Unicode strings. This means that ``\u`` escape sequences can be used to include Unicode characters. -XXX give example + from __future__ import unicode_literals + + s = ('\u751f\u3080\u304e\u3000\u751f\u3054' + '\u3081\u3000\u751f\u305f\u307e\u3054') + + print len(s) # 12 Unicode characters + .. seealso:: @@ -819,7 +825,8 @@ their own implementations of buffering and text I/O. :pep:`3116` - New I/O PEP written by Daniel Stutzbach, Mike Verdone, and Guido van Rossum. - XXX code written by who? + Code by Guido van Rossum, Georg Brandl, Walter Doerwald, + Jeremy Hylton, Martin von Loewis, Tony Lownds, and others. .. ====================================================================== @@ -1090,8 +1097,6 @@ This is equivalent to:: A = foo(bar(A)) -XXX need to find a good motivating example. - .. seealso:: :pep:`3129` - Class Decorators @@ -1848,6 +1853,10 @@ complete list of changes, or look through the CVS logs for all the details. environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto Bertogli; :issue:`1646`.) + A new function, :func:`create_connection`, takes an address + and connects to it using an optional timeout value, returning + the connected socket object. + * The base classes in the :mod:`SocketServer` module now support calling a :meth:`handle_timeout` method after a span of inactivity specified by the server's :attr:`timeout` attribute. (Contributed @@ -2036,15 +2045,21 @@ Improved SSL Support -------------------------------------------------- Bill Janssen made extensive improvements to Python 2.6's support for -SSL. +the Secure Sockets Layer by adding a new module, :mod:`ssl`, on top of +the `OpenSSL `__ library. This new module +provides more control over the protocol negotiated, the X.509 +certificates used, and has better support for writing SSL servers (as +opposed to clients) in Python. The existing SSL support in the +:mod:`socket` module hasn't been removed and continues to work, +though it will be removed in Python 3.0. -XXX use ssl.sslsocket - subclass of socket.socket. +To use the new module, first you must create a TCP connection in the +usual way and then pass it to the :func:`ssl.wrap_socket` function. +XXX describe parameters. XXX Can specify if certificate is required, and obtain certificate info by calling getpeercert method. -XXX sslwrap() behaves like socket.ssl - XXX Certain features require the OpenSSL package to be installed, notably the 'openssl' binary. diff --git a/Include/graminit.h b/Include/graminit.h index fdad3a2a2ac..5786d52f112 100644 --- a/Include/graminit.h +++ b/Include/graminit.h @@ -1,3 +1,5 @@ +/* Generated by Parser/pgen */ + #define single_input 256 #define file_input 257 #define eval_input 258 diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py index c4fce4714b0..d8aee79150f 100644 --- a/Lib/test/test_warnings.py +++ b/Lib/test/test_warnings.py @@ -328,7 +328,8 @@ class _WarningsTests(BaseTest): "Too many newlines in %r" % result) first_line, second_line = result.split('\n', 1) expected_file = os.path.splitext(warning_tests.__file__)[0] + '.py' - path, line, warning_class, message = first_line.split(':') + first_line_parts = first_line.rsplit(':', 3) + path, line, warning_class, message = first_line_parts line = int(line) self.failUnlessEqual(expected_file, path) self.failUnlessEqual(warning_class, ' ' + UserWarning.__name__) diff --git a/Modules/main.c b/Modules/main.c index 46eb4bba854..0fd59c98711 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -380,7 +380,7 @@ Py_Main(int argc, wchar_t **argv) skipfirstline = 1; break; - /* case 'X': reserved for non-standard arguments */ + /* case 'X': reserved for implementation-specific arguments */ case 'h': case '?': diff --git a/Objects/descrobject.c b/Objects/descrobject.c index 17bdf5cdb74..9f4c2a6a1d6 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -1083,7 +1083,7 @@ static PyMemberDef property_members[] = { PyDoc_STRVAR(getter_doc, "Descriptor to change the getter on a property."); -PyObject * +static PyObject * property_getter(PyObject *self, PyObject *getter) { return property_copy(self, getter, NULL, NULL, NULL); @@ -1093,7 +1093,7 @@ property_getter(PyObject *self, PyObject *getter) PyDoc_STRVAR(setter_doc, "Descriptor to change the setter on a property."); -PyObject * +static PyObject * property_setter(PyObject *self, PyObject *setter) { return property_copy(self, NULL, setter, NULL, NULL); @@ -1103,7 +1103,7 @@ property_setter(PyObject *self, PyObject *setter) PyDoc_STRVAR(deleter_doc, "Descriptor to change the deleter on a property."); -PyObject * +static PyObject * property_deleter(PyObject *self, PyObject *deleter) { return property_copy(self, NULL, NULL, deleter, NULL); diff --git a/PC/VC6/pythoncore.dsp b/PC/VC6/pythoncore.dsp index 001c8215f39..de8860f9824 100644 --- a/PC/VC6/pythoncore.dsp +++ b/PC/VC6/pythoncore.dsp @@ -193,6 +193,10 @@ SOURCE=..\..\Modules\arraymodule.c # End Source File # Begin Source File +SOURCE=..\..\Python\_warnings.c +# End Source File +# Begin Source File + SOURCE=..\..\Python\asdl.c # End Source File # Begin Source File diff --git a/PC/VS7.1/pythoncore.vcproj b/PC/VS7.1/pythoncore.vcproj index 552f199abc6..304b11999fd 100644 --- a/PC/VS7.1/pythoncore.vcproj +++ b/PC/VS7.1/pythoncore.vcproj @@ -409,6 +409,9 @@ + + diff --git a/PC/VS8.0/pythoncore.vcproj b/PC/VS8.0/pythoncore.vcproj index a4189e1b754..b63ed88501e 100644 --- a/PC/VS8.0/pythoncore.vcproj +++ b/PC/VS8.0/pythoncore.vcproj @@ -1586,6 +1586,10 @@ + + diff --git a/PCbuild/pythoncore.vcproj b/PCbuild/pythoncore.vcproj index 450f0b0959a..1f69bcad4fe 100644 --- a/PCbuild/pythoncore.vcproj +++ b/PCbuild/pythoncore.vcproj @@ -1586,6 +1586,10 @@ + + @@ -1746,10 +1750,6 @@ RelativePath="..\Python\traceback.c" > - - g_dfa; for (i = g->g_ndfas; --i >= 0; d++) fprintf(fp, "#define %s %d\n", d->d_name, d->d_type); diff --git a/Python/_warnings.c b/Python/_warnings.c index 7472ab68c86..d5c4ebe0296 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -61,7 +61,7 @@ get_warnings_attr(const char *attr) } -PyObject * +static PyObject * get_once_registry(void) { PyObject *registry; @@ -378,16 +378,17 @@ warn_explicit(PyObject *category, PyObject *message, show_warning(filename, lineno, text, category, sourceline); } else { - PyObject *result; + PyObject *res; - result = PyObject_CallFunctionObjArgs(show_fxn, message, category, + res = PyObject_CallFunctionObjArgs(show_fxn, message, category, filename, lineno_obj, Py_None, sourceline ? sourceline: Py_None, NULL); - Py_XDECREF(result); - if (result == NULL) + Py_DECREF(show_fxn); + Py_XDECREF(res); + if (res == NULL) goto cleanup; } } diff --git a/Python/getopt.c b/Python/getopt.c index 1baf8724c24..da9341f404d 100644 --- a/Python/getopt.c +++ b/Python/getopt.c @@ -91,7 +91,7 @@ int _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring) if (option == 'X') { fprintf(stderr, - "-X is reserved for non-standard arguments\n"); + "-X is reserved for implementation-specific arguments\n"); return '_'; } diff --git a/Python/graminit.c b/Python/graminit.c index 081a072966f..e26bcc5e261 100644 --- a/Python/graminit.c +++ b/Python/graminit.c @@ -1,3 +1,5 @@ +/* Generated by Parser/pgen */ + #include "pgenheaders.h" #include "grammar.h" static arc arcs_0_0[3] = {