diff -r cf6e782a7f94 Lib/test/test_unicode.py --- a/Lib/test/test_unicode.py Sun May 31 20:21:00 2015 +0300 +++ b/Lib/test/test_unicode.py Sun May 31 20:56:24 2015 +0300 @@ -1036,10 +1036,12 @@ class UnicodeTest( self.assertRaises(UnicodeError, unicode, 'Andr\202 x', 'ascii','strict') 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(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 -r cf6e782a7f94 Objects/unicodeobject.c --- a/Objects/unicodeobject.c Sun May 31 20:21:00 2015 +0300 +++ b/Objects/unicodeobject.c Sun May 31 20:56:24 2015 +0300 @@ -1288,6 +1288,9 @@ PyObject *PyUnicode_AsDecodedObject(PyOb goto onError; } + if (PyErr_WarnPy3k("decoding Unicode is not supported in 3.x", 1) < 0) + goto onError; + if (encoding == NULL) encoding = PyUnicode_GetDefaultEncoding();