diff options
-rw-r--r-- | Doc/c-api/exceptions.rst | 25 | ||||
-rw-r--r-- | Doc/data/refcounts.dat | 16 | ||||
-rw-r--r-- | Include/pyerrors.h | 25 | ||||
-rw-r--r-- | Misc/NEWS | 6 | ||||
-rw-r--r-- | Objects/exceptions.c | 4 | ||||
-rw-r--r-- | Python/errors.c | 104 |
6 files changed, 7 insertions, 173 deletions
diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst index 070dd17..989166f 100644 --- a/Doc/c-api/exceptions.rst +++ b/Doc/c-api/exceptions.rst @@ -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 diff --git a/Doc/data/refcounts.dat b/Doc/data/refcounts.dat index 2585a48..6025617 100644 --- a/Doc/data/refcounts.dat +++ b/Doc/data/refcounts.dat @@ -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::: diff --git a/Include/pyerrors.h b/Include/pyerrors.h index f995969..e44fb5f 100644 --- a/Include/pyerrors.h +++ b/Include/pyerrors.h @@ -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 */ @@ -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 ------------- diff --git a/Objects/exceptions.c b/Objects/exceptions.c index 11dcaec..44e60dd 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -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 */ diff --git a/Python/errors.c b/Python/errors.c index 0057e5e..996292a 100644 --- a/Python/errors.c +++ b/Python/errors.c @@ -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 * |