--- /dev/null
+.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
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::
: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.
.. ======================================================================
A = foo(bar(A))
-XXX need to find a good motivating example.
-
.. seealso::
:pep:`3129` - Class Decorators
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
--------------------------------------------------
Bill Janssen made extensive improvements to Python 2.6's support for
-SSL.
-
-XXX use ssl.sslsocket - subclass of socket.socket.
+the Secure Sockets Layer by adding a new module, :mod:`ssl`, on top of
+the `OpenSSL <http://www.openssl.org/>`__ 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.
+
+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.
+/* Generated by Parser/pgen */
+
#define single_input 256
#define file_input 257
#define eval_input 258
"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__)
skipfirstline = 1;
break;
- /* case 'X': reserved for non-standard arguments */
+ /* case 'X': reserved for implementation-specific arguments */
case 'h':
case '?':
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);
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);
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);
# End Source File\r
# Begin Source File\r
\r
+SOURCE=..\..\Python\_warnings.c\r
+# End Source File\r
+# Begin Source File\r
+\r
SOURCE=..\..\Python\asdl.c\r
# End Source File\r
# Begin Source File\r
<File
RelativePath="..\..\Modules\arraymodule.c">
</File>
+ <File
+ RelativePath="..\..\Python\_warnings.c">
+ </File>
<File
RelativePath="..\..\Python\asdl.c">
</File>
<Filter\r
Name="Python"\r
>\r
+ <File\r
+ RelativePath="..\..\Python\_warnings.c"\r
+ >\r
+ </File>\r
<File\r
RelativePath="..\..\Python\asdl.c"\r
>\r
<Filter
Name="Python"
>
+ <File
+ RelativePath="..\Python\_warnings.c"
+ >
+ </File>
<File
RelativePath="..\Python\asdl.c"
>
RelativePath="..\Python\traceback.c"
>
</File>
- <File
- RelativePath="..\Python\_warnings.c"
- >
- </File>
</Filter>
<Filter
Name="Resource Files"
void
printgrammar(grammar *g, FILE *fp)
{
+ fprintf(fp, "/* Generated by Parser/pgen */\n\n");
fprintf(fp, "#include \"pgenheaders.h\"\n");
fprintf(fp, "#include \"grammar.h\"\n");
printdfas(g, fp);
dfa *d;
int i;
+ fprintf(fp, "/* Generated by Parser/pgen */\n\n");
+
d = g->g_dfa;
for (i = g->g_ndfas; --i >= 0; d++)
fprintf(fp, "#define %s %d\n", d->d_name, d->d_type);
}
-PyObject *
+static PyObject *
get_once_registry(void)
{
PyObject *registry;
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;
}
}
if (option == 'X') {
fprintf(stderr,
- "-X is reserved for non-standard arguments\n");
+ "-X is reserved for implementation-specific arguments\n");
return '_';
}
+/* Generated by Parser/pgen */
+
#include "pgenheaders.h"
#include "grammar.h"
static arc arcs_0_0[3] = {