[Python-checkins] cpython (3.6): Closes #27781: Removes special cases for the experimental aspect of PEP 529

steve.dower python-checkins at python.org
Sun Nov 6 22:36:02 EST 2016


https://hg.python.org/cpython/rev/b26c8104e54f
changeset:   104943:b26c8104e54f
branch:      3.6
parent:      104941:048f82c86928
user:        Steve Dower <steve.dower at microsoft.com>
date:        Sun Nov 06 19:35:08 2016 -0800
summary:
  Closes #27781: Removes special cases for the experimental aspect of PEP 529

files:
  Doc/whatsnew/3.6.rst    |   5 -----
  Lib/test/test_os.py     |   9 ++-------
  Misc/NEWS               |   4 ++--
  Objects/unicodeobject.c |  11 +----------
  4 files changed, 5 insertions(+), 24 deletions(-)


diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -355,11 +355,6 @@
 See :pep:`529` for more information and discussion of code modifications that
 may be required.
 
-.. note::
-
-   This change is considered experimental for 3.6.0 beta releases. The default
-   encoding may change before the final release.
-
 .. _whatsnew-pep487:
 
 PEP 487: Simpler customization of class creation
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -2860,13 +2860,8 @@
                             func(name, *func_args)
                 except OSError as err:
                     self.assertIs(err.filename, name, str(func))
-                except RuntimeError as err:
-                    if sys.platform != 'win32':
-                        raise
-
-                    # issue27781: undecodable bytes currently raise RuntimeError
-                    # by 3.6.0b4 this will become UnicodeDecodeError or nothing
-                    self.assertIsInstance(err.__context__, UnicodeDecodeError)
+                except UnicodeDecodeError:
+                    pass
                 else:
                     self.fail("No exception thrown by {}".format(func))
 
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -3270,7 +3270,7 @@
 - Issue #24774: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.
 
 - Issue #21159: Improve message in configparser.InterpolationMissingOptionError.
-  Patch from �?ukasz Langa.
+  Patch from Łukasz Langa.
 
 - Issue #20362: Honour TestCase.longMessage correctly in assertRegex.
   Patch from Ilia Kurenkov.
@@ -5198,7 +5198,7 @@
   Based on patch by Martin Panter.
 
 - Issue #17293: uuid.getnode() now determines MAC address on AIX using netstat.
-  Based on patch by Aivars Kalv�?ns.
+  Based on patch by Aivars Kalvāns.
 
 - Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments.
 
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -3843,18 +3843,9 @@
        cannot only rely on it: check also interp->fscodec_initialized for
        subinterpreters. */
     if (Py_FileSystemDefaultEncoding && interp->fscodec_initialized) {
-        PyObject *res = PyUnicode_Decode(s, size,
+        return PyUnicode_Decode(s, size,
                                 Py_FileSystemDefaultEncoding,
                                 Py_FileSystemDefaultEncodeErrors);
-#ifdef MS_WINDOWS
-        if (!res && PyErr_ExceptionMatches(PyExc_UnicodeDecodeError)) {
-            _PyErr_FormatFromCause(PyExc_RuntimeError,
-                "filesystem path bytes were not correctly encoded with '%s'. "
-                "Please report this at http://bugs.python.org/issue27781",
-                Py_FileSystemDefaultEncoding);
-        }
-#endif
-        return res;
     }
     else {
         return PyUnicode_DecodeLocaleAndSize(s, size, Py_FileSystemDefaultEncodeErrors);

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list