Commit 4aa15a0d authored by Serhiy Storchaka's avatar Serhiy Storchaka

Merge heads

parents f0ee5ccd 98e90515
......@@ -321,7 +321,7 @@ The special characters are:
The special sequences consist of ``'\'`` and a character from the list below.
If the ordinary character is not ASCII digit or ASCII letter, then the
If the ordinary character is not an ASCII digit or an ASCII letter, then the
resulting RE will match the second character. For example, ``\$`` matches the
character ``'$'``.
......@@ -444,7 +444,7 @@ three digits in length.
The ``'\u'`` and ``'\U'`` escape sequences have been added.
.. versionchanged:: 3.6
Unknown escapes consisting of ``'\'`` and ASCII letter now are errors.
Unknown escapes consisting of ``'\'`` and an ASCII letter now are errors.
.. seealso::
......@@ -743,7 +743,7 @@ form.
Unmatched groups are replaced with an empty string.
.. versionchanged:: 3.6
Unknown escapes consisting of ``'\'`` and ASCII letter now are errors.
Unknown escapes consisting of ``'\'`` and an ASCII letter now are errors.
.. function:: subn(pattern, repl, string, count=0, flags=0)
......
......@@ -506,7 +506,7 @@ arguments and/or a dictionary of keyword arguments. In Python 1.5 and earlier,
you'd use the :func:`apply` built-in function: ``apply(f, args, kw)`` calls the
function :func:`f` with the argument tuple *args* and the keyword arguments in
the dictionary *kw*. :func:`apply` is the same in 2.0, but thanks to a patch
from Greg Ewing, ``f(*args, **kw)`` as a shorter and clearer way to achieve the
from Greg Ewing, ``f(*args, **kw)`` is a shorter and clearer way to achieve the
same effect. This syntax is symmetrical with the syntax for defining
functions::
......
......@@ -8,6 +8,7 @@ import sys
import os
import codecs
import io
import re
import tempfile
import shutil
import unittest
......@@ -222,8 +223,8 @@ from __future__ import print_function"""
actually_write=False)
# Testing that it logged this message when write=False was passed is
# sufficient to see that it did not bail early after "No changes".
message_regex = r"Not writing changes to .*%s%s" % (
os.sep, os.path.basename(test_file))
message_regex = r"Not writing changes to .*%s" % \
re.escape(os.sep + os.path.basename(test_file))
for message in debug_messages:
if "Not writing changes" in message:
self.assertRegex(message, message_regex)
......
......@@ -1423,7 +1423,7 @@ class CoroutineTest(unittest.TestCase):
with warnings.catch_warnings():
warnings.simplefilter("error")
# Test that __aiter__ that returns an asyncronous iterator
# Test that __aiter__ that returns an asynchronous iterator
# directly does not throw any warnings.
run_async(main())
self.assertEqual(I, 111011)
......
......@@ -62,7 +62,7 @@ Library
- Issue #27029: Removed deprecated support of universal newlines mode from
ZipFile.open().
- Issue #27030: Unknown escapes consisting of ``'\'`` and ASCII letter in
- Issue #27030: Unknown escapes consisting of ``'\'`` and an ASCII letter in
regular expressions now are errors. The re.LOCALE flag now can be used
only with bytes patterns.
......@@ -3046,8 +3046,8 @@ Library
writer failed in BufferedRWPair.close().
- Issue #23622: Unknown escapes in regular expressions that consist of ``'\'``
and ASCII letter now raise a deprecation warning and will be forbidden in
Python 3.6.
and an ASCII letter now raise a deprecation warning and will be forbidden
in Python 3.6.
- Issue #23671: string.Template now allows specifying the "self" parameter as
a keyword argument. string.Formatter now allows specifying the "self" and
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment