Issue #20517: Removed unnecessary new (short-lived) functions from PyErr.
authorLarry Hastings <larry@hastings.org>
Mon, 10 Feb 2014 11:43:57 +0000 (03:43 -0800)
committerLarry Hastings <larry@hastings.org>
Mon, 10 Feb 2014 11:43:57 +0000 (03:43 -0800)
Doc/c-api/exceptions.rst
Doc/data/refcounts.dat
Include/pyerrors.h
Misc/NEWS
Objects/exceptions.c
Python/errors.c

index 070dd1782b24e4219821b7bd8c9bea234e52a36f..989166f543aff1a650aaf27a1a959d1d5ce64c34 100644 (file)
@@ -257,14 +257,6 @@ in various ways.  There is a separate error indicator for each thread.
    (:func:`os.fsdecode`).
 
 
-.. c:function:: PyObject* PyErr_SetFromErrnoWithFilenames(PyObject *type, const char *filename, const char *filename2)
-
-   Similar to :c:func:`PyErr_SetFromErrnoWithFilename`, but accepts a
-   second filename.
-
-.. versionadded:: 3.4
-
-
 .. c:function:: PyObject* PyErr_SetFromWindowsErr(int ierr)
 
    This is a convenience function to raise :exc:`WindowsError`. If called with
@@ -290,14 +282,6 @@ in various ways.  There is a separate error indicator for each thread.
    encoding (:func:`os.fsdecode`).  Availability: Windows.
 
 
-.. c:function:: PyObject* PyErr_SetFromWindowsErrWithFilenames(int ierr, const char *filename, const char *filename2)
-
-   Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, but accepts
-   a second filename.  Availability: Windows.
-
-.. versionadded:: 3.4
-
-
 .. c:function:: PyObject* PyErr_SetExcFromWindowsErrWithFilenameObject(PyObject *type, int ierr, PyObject *filename)
 
    Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, with an
@@ -320,15 +304,6 @@ in various ways.  There is a separate error indicator for each thread.
    parameter specifying the exception type to be raised. Availability: Windows.
 
 
-.. c:function:: PyObject* PyErr_SetExcFromWindowsErrWithFilenames(PyObject *type, int ierr, const char *filename, const char *filename2)
-
-   Similar to :c:func:`PyErr_SetExcFromWindowsErrWithFilename`,
-   but accepts a second filename object.
-   Availability: Windows.
-
-.. versionadded:: 3.4
-
-
 .. c:function:: PyObject* PyErr_SetImportError(PyObject *msg, PyObject *name, PyObject *path)
 
    This is a convenience function to raise :exc:`ImportError`. *msg* will be
index 2585a48620f816529ea851069625088b14628789..6025617a1bedb411108b238d9fd43cb18503dd29 100644 (file)
@@ -317,12 +317,6 @@ PyErr_SetExcFromWindowsErrWithFilename:PyObject*:type:0:
 PyErr_SetExcFromWindowsErrWithFilename:int:ierr::
 PyErr_SetExcFromWindowsErrWithFilename:const char*:filename::
 
-PyErr_SetExcFromWindowsErrWithFilenames:PyObject*::null:
-PyErr_SetExcFromWindowsErrWithFilenames:PyObject*:type:0:
-PyErr_SetExcFromWindowsErrWithFilenames:int:ierr::
-PyErr_SetExcFromWindowsErrWithFilenames:const char*:filename::
-PyErr_SetExcFromWindowsErrWithFilenames:const char*:filename2::
-
 PyErr_SetFromErrno:PyObject*::null:
 PyErr_SetFromErrno:PyObject*:type:0:
 
@@ -330,11 +324,6 @@ PyErr_SetFromErrnoWithFilename:PyObject*::null:
 PyErr_SetFromErrnoWithFilename:PyObject*:type:0:
 PyErr_SetFromErrnoWithFilename:const char*:filename::
 
-PyErr_SetFromErrnoWithFilenames:PyObject*::null:
-PyErr_SetFromErrnoWithFilenames:PyObject*:type:0:
-PyErr_SetFromErrnoWithFilenames:const char*:filename::
-PyErr_SetFromErrnoWithFilenames:const char*:filename2::
-
 PyErr_SetFromWindowsErr:PyObject*::null:
 PyErr_SetFromWindowsErr:int:ierr::
 
@@ -342,11 +331,6 @@ PyErr_SetFromWindowsErrWithFilename:PyObject*::null:
 PyErr_SetFromWindowsErrWithFilename:int:ierr::
 PyErr_SetFromWindowsErrWithFilename:const char*:filename::
 
-PyErr_SetFromWindowsErrWithFilenames:PyObject*::null:
-PyErr_SetFromWindowsErrWithFilenames:int:ierr::
-PyErr_SetFromWindowsErrWithFilenames:const char*:filename::
-PyErr_SetFromWindowsErrWithFilenames:const char*:filename2::
-
 PyErr_SetInterrupt:void:::
 
 PyErr_SetNone:void:::
index f9959699dc20bf194dbbb07a464600e8898e2d3a..e44fb5f0ebff8a0c3bb232e3de527403c88a1643 100644 (file)
@@ -232,17 +232,9 @@ PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
     PyObject *exc,
     const char *filename   /* decoded from the filesystem encoding */
     );
-PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenames(
-    PyObject *exc,
-    /* decoded from the filesystem encoding */
-    const char *filename,
-    const char *filename2
-    );
 #if defined(MS_WINDOWS) && !defined(Py_LIMITED_API)
 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
     PyObject *, const Py_UNICODE *);
-PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilenames(
-    PyObject *, const Py_UNICODE *, const Py_UNICODE *);
 #endif /* MS_WINDOWS */
 
 PyAPI_FUNC(PyObject *) PyErr_Format(
@@ -256,18 +248,10 @@ PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename(
     int ierr,
     const char *filename        /* decoded from the filesystem encoding */
     );
-PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilenames(
-    int ierr,
-    /* decoded from the filesystem encoding */
-    const char *filename,
-    const char *filename2
-    );
 #ifndef Py_LIMITED_API
 /* XXX redeclare to use WSTRING */
 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilename(
     int, const Py_UNICODE *);
-PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilenames(
-    int, const Py_UNICODE *, const Py_UNICODE *);
 #endif
 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int);
 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject(
@@ -279,18 +263,9 @@ PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
     int ierr,
     const char *filename        /* decoded from the filesystem encoding */
     );
-PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenames(
-    PyObject *exc,
-    int ierr,
-    /* decoded from the filesystem encoding */
-    const char *filename,
-    const char *filename2
-    );
 #ifndef Py_LIMITED_API
 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilename(
     PyObject *,int, const Py_UNICODE *);
-PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilenames(
-    PyObject *,int, const Py_UNICODE *, const Py_UNICODE *);
 #endif
 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int);
 #endif /* MS_WINDOWS */
index 6fb02cd536ad95f90c40e529c8c80dc874013419..30abc7f5be2a74bd67cfd881bd79eb6984f5ca32 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -246,10 +246,8 @@ C-API
 -----
 
 - Issue #20517: Added new functions allowing OSError exceptions to reference
-  two filenames instead of one: PyErr_SetFromErrnoWithFilenameObjects(),
-  PyErr_SetFromErrnoWithFilenames(), PyErr_SetFromWindowsErrWithFilenames(),
-  PyErr_SetExcFromWindowsErrWithFilenameObjects(), and
-  PyErr_SetExcFromWindowsErrWithFilenames().
+  two filenames instead of one: PyErr_SetFromErrnoWithFilenameObjects() and
+  PyErr_SetExcFromWindowsErrWithFilenameObjects().
 
 Documentation
 -------------
index 11dcaec2775e612b745ee52e696f77a00ff67125..44e60dd0440c3f75c47cc59e0a2390832a177902 100644 (file)
@@ -726,8 +726,8 @@ ComplexExtendsException(PyExc_Exception, ImportError,
  * when it was supplied.
  *
  * (If a function has two filenames, such as rename(), symlink(),
- * or copy(), PyErr_SetFromErrnoWithFilenames() is called, which
- * allows passing in a second filename.)
+ * or copy(), PyErr_SetFromErrnoWithFilenameObjects() is called,
+ * which allows passing in a second filename.)
  */
 
 /* This function doesn't cleanup on error, the caller should */
index 0057e5eb36ff39a9ace1243fd60ef6194662a9c9..996292a04479a2cf3897b94bbea453f2e9c602bc 100644 (file)
@@ -520,17 +520,6 @@ PyErr_SetFromErrnoWithFilename(PyObject *exc, const char *filename)
     return result;
 }
 
-PyObject *
-PyErr_SetFromErrnoWithFilenames(PyObject *exc, const char *filename, const char *filename2)
-{
-    PyObject *name = filename ? PyUnicode_DecodeFSDefault(filename) : NULL;
-    PyObject *name2 = filename2 ? PyUnicode_DecodeFSDefault(filename2) : NULL;
-    PyObject *result = PyErr_SetFromErrnoWithFilenameObjects(exc, name, name2);
-    Py_XDECREF(name);
-    Py_XDECREF(name2);
-    return result;
-}
-
 #ifdef MS_WINDOWS
 PyObject *
 PyErr_SetFromErrnoWithUnicodeFilename(PyObject *exc, const Py_UNICODE *filename)
@@ -542,21 +531,6 @@ PyErr_SetFromErrnoWithUnicodeFilename(PyObject *exc, const Py_UNICODE *filename)
     Py_XDECREF(name);
     return result;
 }
-
-PyObject *
-PyErr_SetFromErrnoWithUnicodeFilenames(PyObject *exc, const Py_UNICODE *filename, const Py_UNICODE *filename2)
-{
-    PyObject *name = filename ?
-                     PyUnicode_FromUnicode(filename, wcslen(filename)) :
-             NULL;
-    PyObject *name2 = filename2 ?
-                     PyUnicode_FromUnicode(filename2, wcslen(filename2)) :
-             NULL;
-    PyObject *result = PyErr_SetFromErrnoWithFilenameObjects(exc, name, name2);
-    Py_XDECREF(name);
-    Py_XDECREF(name2);
-    return result;
-}
 #endif /* MS_WINDOWS */
 
 PyObject *
@@ -654,23 +628,6 @@ PyObject *PyErr_SetExcFromWindowsErrWithFilename(
     return ret;
 }
 
-PyObject *PyErr_SetExcFromWindowsErrWithFilenames(
-    PyObject *exc,
-    int ierr,
-    const char *filename,
-    const char *filename2)
-{
-    PyObject *name = filename ? PyUnicode_DecodeFSDefault(filename) : NULL;
-    PyObject *name2 = filename2 ? PyUnicode_DecodeFSDefault(filename2) : NULL;
-    PyObject *ret = PyErr_SetExcFromWindowsErrWithFilenameObjects(exc,
-                                                                 ierr,
-                                                                 name,
-                                                                 name2);
-    Py_XDECREF(name);
-    Py_XDECREF(name2);
-    return ret;
-}
-
 PyObject *PyErr_SetExcFromWindowsErrWithUnicodeFilename(
     PyObject *exc,
     int ierr,
@@ -687,51 +644,15 @@ PyObject *PyErr_SetExcFromWindowsErrWithUnicodeFilename(
     return ret;
 }
 
-PyObject *PyErr_SetExcFromWindowsErrWithUnicodeFilenames(
-    PyObject *exc,
-    int ierr,
-    const Py_UNICODE *filename,
-    const Py_UNICODE *filename2)
-{
-    PyObject *name = filename ?
-                     PyUnicode_FromUnicode(filename, wcslen(filename)) :
-             NULL;
-    PyObject *name2 = filename2 ?
-                     PyUnicode_FromUnicode(filename2, wcslen(filename2)) :
-             NULL;
-    PyObject *ret = PyErr_SetExcFromWindowsErrWithFilenameObjects(exc,
-                                                                 ierr,
-                                                                 name,
-                                                                 name2);
-    Py_XDECREF(name);
-    Py_XDECREF(name2);
-    return ret;
-}
-
 PyObject *PyErr_SetExcFromWindowsErr(PyObject *exc, int ierr)
 {
-    return PyErr_SetExcFromWindowsErrWithFilenames(exc, ierr, NULL, NULL);
+    return PyErr_SetExcFromWindowsErrWithFilename(exc, ierr, NULL);
 }
 
 PyObject *PyErr_SetFromWindowsErr(int ierr)
 {
-    return PyErr_SetExcFromWindowsErrWithFilenames(PyExc_OSError,
-                                                  ierr, NULL, NULL);
-}
-
-PyObject *PyErr_SetFromWindowsErrWithFilenames(
-    int ierr,
-    const char *filename,
-    const char *filename2)
-{
-    PyObject *name = filename ? PyUnicode_DecodeFSDefault(filename) : NULL;
-    PyObject *name2 = filename2 ? PyUnicode_DecodeFSDefault(filename2) : NULL;
-    PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObjects(
-                                                  PyExc_OSError,
-                                                  ierr, name, name2);
-    Py_XDECREF(name);
-    Py_XDECREF(name2);
-    return result;
+    return PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError,
+                                                  ierr, NULL);
 }
 
 PyObject *PyErr_SetFromWindowsErrWithFilename(
@@ -759,25 +680,6 @@ PyObject *PyErr_SetFromWindowsErrWithUnicodeFilename(
     Py_XDECREF(name);
     return result;
 }
-
-PyObject *PyErr_SetFromWindowsErrWithUnicodeFilenames(
-    int ierr,
-    const Py_UNICODE *filename,
-    const Py_UNICODE *filename2)
-{
-    PyObject *name = filename ?
-                     PyUnicode_FromUnicode(filename, wcslen(filename)) :
-             NULL;
-    PyObject *name2 = filename2 ?
-                     PyUnicode_FromUnicode(filename2, wcslen(filename2)) :
-             NULL;
-    PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObjects(
-                                                  PyExc_OSError,
-                                                  ierr, name, name2);
-    Py_XDECREF(name);
-    Py_XDECREF(name2);
-    return result;
-}
 #endif /* MS_WINDOWS */
 
 PyObject *