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] = {