[Python-checkins] r85336 - in python/branches/py3k: Doc/c-api/exceptions.rst Include/pyerrors.h Misc/NEWS

victor.stinner python-checkins at python.org
Sat Oct 9 12:12:11 CEST 2010


Author: victor.stinner
Date: Sat Oct 9 12:12:11 2010
New Revision: 85336
Log:
Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
encodings
Modified:
 python/branches/py3k/Doc/c-api/exceptions.rst
 python/branches/py3k/Include/pyerrors.h
 python/branches/py3k/Misc/NEWS
Modified: python/branches/py3k/Doc/c-api/exceptions.rst
==============================================================================
--- python/branches/py3k/Doc/c-api/exceptions.rst	(original)
+++ python/branches/py3k/Doc/c-api/exceptions.rst	Sat Oct 9 12:12:11 2010
@@ -134,7 +134,7 @@
 This is the most common way to set the error indicator. The first argument
 specifies the exception type; it is normally one of the standard exceptions,
 e.g. :c:data:`PyExc_RuntimeError`. You need not increment its reference count.
- The second argument is an error message; it is converted to a string object.
+ The second argument is an error message; it is decoded from ``'utf-8``'.
 
 
 .. c:function:: void PyErr_SetObject(PyObject *type, PyObject *value)
@@ -261,6 +261,8 @@
 *filename* is not *NULL*, it is passed to the constructor of *type* as a third
 parameter. In the case of exceptions such as :exc:`IOError` and :exc:`OSError`,
 this is used to define the :attr:`filename` attribute of the exception instance.
+ *filename* is decoded from the filesystem encoding
+ (:func:`sys.getfilesystemencoding`).
 
 
 .. c:function:: PyObject* PyErr_SetFromWindowsErr(int ierr)
Modified: python/branches/py3k/Include/pyerrors.h
==============================================================================
--- python/branches/py3k/Include/pyerrors.h	(original)
+++ python/branches/py3k/Include/pyerrors.h	Sat Oct 9 12:12:11 2010
@@ -60,7 +60,10 @@
 
 PyAPI_FUNC(void) PyErr_SetNone(PyObject *);
 PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);
-PyAPI_FUNC(void) PyErr_SetString(PyObject *, const char *);
+PyAPI_FUNC(void) PyErr_SetString(
+ PyObject *exception,
+ const char *string /* decoded from utf-8 */
+ );
 PyAPI_FUNC(PyObject *) PyErr_Occurred(void);
 PyAPI_FUNC(void) PyErr_Clear(void);
 PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
@@ -177,7 +180,9 @@
 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject(
 PyObject *, PyObject *);
 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
- PyObject *, const char *);
+ PyObject *exc,
+ const char *filename /* decoded from the filesystem encoding */
+ );
 #ifdef MS_WINDOWS
 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
 PyObject *, const Py_UNICODE *);
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Sat Oct 9 12:12:11 2010
@@ -10,6 +10,9 @@
 Core and Builtins
 -----------------
 
+- Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
+ encodings
+
 - ast.literal_eval() can now handle negative numbers. It is also a little
 more liberal in what it accepts without compromising the safety of the
 evaluation. For example, 3j+4 and 3+4+5 are both accepted.


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /