Issue #19543: Added Py3k warning for decoding unicode.
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index b12f982..63fb831 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -1037,10 +1037,12 @@
self.assertEqual(unicode('Andr\202 x','ascii','ignore'), u"Andr x")
self.assertEqual(unicode('Andr\202 x','ascii','replace'), u'Andr\uFFFD x')
self.assertEqual(unicode('\202 x', 'ascii', 'replace'), u'\uFFFD x')
- self.assertEqual(u'abcde'.decode('ascii', 'ignore'),
- u'abcde'.decode('ascii', errors='ignore'))
- self.assertEqual(u'abcde'.decode('ascii', 'replace'),
- u'abcde'.decode(encoding='ascii', errors='replace'))
+ with test_support.check_py3k_warnings():
+ self.assertEqual(u'abcde'.decode('ascii', 'ignore'),
+ u'abcde'.decode('ascii', errors='ignore'))
+ with test_support.check_py3k_warnings():
+ self.assertEqual(u'abcde'.decode('ascii', 'replace'),
+ u'abcde'.decode(encoding='ascii', errors='replace'))
# Error handling (unknown character names)
self.assertEqual("\\N{foo}xx".decode("unicode-escape", "ignore"), u"xx")
diff --git a/Misc/NEWS b/Misc/NEWS
index 716be23..ee3fcca 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@
Core and Builtins
-----------------
+- Issue #19543: Added Py3k warning for decoding unicode.
+
- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
__getattr__.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 9368a3a..2925651 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1288,6 +1288,9 @@
goto onError;
}
+ if (PyErr_WarnPy3k("decoding Unicode is not supported in 3.x", 1) < 0)
+ goto onError;
+
if (encoding == NULL)
encoding = PyUnicode_GetDefaultEncoding();