Commit 4e8e8aab authored by Inada Naoki's avatar Inada Naoki Committed by GitHub

bpo-30134: fix BytesWarning doc, docstring and message (GH-12739)

parent 87ed1beb
...@@ -526,7 +526,7 @@ module for more information. ...@@ -526,7 +526,7 @@ module for more information.
.. exception:: BytesWarning .. exception:: BytesWarning
Base class for warnings related to :class:`str` and :class:`bytearray`. Base class for warnings related to bytes and bytearray.
.. versionadded:: 2.6 .. versionadded:: 2.6
......
...@@ -92,7 +92,7 @@ following warnings category classes are currently defined: ...@@ -92,7 +92,7 @@ following warnings category classes are currently defined:
| | Unicode. | | | Unicode. |
+----------------------------------+-----------------------------------------------+ +----------------------------------+-----------------------------------------------+
| :exc:`BytesWarning` | Base category for warnings related to | | :exc:`BytesWarning` | Base category for warnings related to |
| | str and bytearray. | | | bytes and bytearray. |
+----------------------------------+-----------------------------------------------+ +----------------------------------+-----------------------------------------------+
While these are technically built-in exceptions, they are documented here, While these are technically built-in exceptions, they are documented here,
......
...@@ -104,7 +104,7 @@ PyAPI_FUNC(int) _PyCode_CheckLineNumber(PyCodeObject* co, ...@@ -104,7 +104,7 @@ PyAPI_FUNC(int) _PyCode_CheckLineNumber(PyCodeObject* co,
* *
* Return (type(obj), obj, ...): a tuple with variable size (at least 2 items) * Return (type(obj), obj, ...): a tuple with variable size (at least 2 items)
* depending on the type and the value. The type is the first item to not * depending on the type and the value. The type is the first item to not
* compare bytes and str which can raise a BytesWarning exception. */ * compare bytes and unicode which can raise a BytesWarning exception. */
PyAPI_FUNC(PyObject*) _PyCode_ConstantKey(PyObject *obj); PyAPI_FUNC(PyObject*) _PyCode_ConstantKey(PyObject *obj);
PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts, PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts,
......
...@@ -1027,14 +1027,6 @@ bytearray_repr(PyByteArrayObject *self) ...@@ -1027,14 +1027,6 @@ bytearray_repr(PyByteArrayObject *self)
static PyObject * static PyObject *
bytearray_str(PyObject *op) bytearray_str(PyObject *op)
{ {
#if 0
if (Py_BytesWarningFlag) {
if (PyErr_WarnEx(PyExc_BytesWarning,
"str() on a bytearray instance", 1))
return NULL;
}
return bytearray_repr((PyByteArrayObject*)op);
#endif
return PyBytes_FromStringAndSize(((PyByteArrayObject*)op)->ob_bytes, Py_SIZE(op)); return PyBytes_FromStringAndSize(((PyByteArrayObject*)op)->ob_bytes, Py_SIZE(op));
} }
...@@ -1059,7 +1051,7 @@ bytearray_richcompare(PyObject *self, PyObject *other, int op) ...@@ -1059,7 +1051,7 @@ bytearray_richcompare(PyObject *self, PyObject *other, int op)
if (rc) { if (rc) {
if (Py_BytesWarningFlag && op == Py_EQ) { if (Py_BytesWarningFlag && op == Py_EQ) {
if (PyErr_WarnEx(PyExc_BytesWarning, if (PyErr_WarnEx(PyExc_BytesWarning,
"Comparison between bytearray and string", 1)) "Comparison between bytearray and unicode", 1))
return NULL; return NULL;
} }
......
...@@ -2014,8 +2014,8 @@ SimpleExtendsException(PyExc_Warning, UnicodeWarning, ...@@ -2014,8 +2014,8 @@ SimpleExtendsException(PyExc_Warning, UnicodeWarning,
* BytesWarning extends Warning * BytesWarning extends Warning
*/ */
SimpleExtendsException(PyExc_Warning, BytesWarning, SimpleExtendsException(PyExc_Warning, BytesWarning,
"Base class for warnings about bytes and buffer related problems, mostly\n" "Base class for warnings about bytes and bytearray related problems, \n"
"related to conversion from str or comparing to str."); "mostly related to comparing to str.");
/* Pre-computed MemoryError instance. Best to create this as early as /* Pre-computed MemoryError instance. Best to create this as early as
* possible and not wait until a MemoryError is actually raised! * possible and not wait until a MemoryError is actually raised!
......
...@@ -70,7 +70,7 @@ int Py_VerboseFlag; /* Needed by import.c */ ...@@ -70,7 +70,7 @@ int Py_VerboseFlag; /* Needed by import.c */
int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */ int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */ int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
int Py_NoSiteFlag; /* Suppress 'import site' */ int Py_NoSiteFlag; /* Suppress 'import site' */
int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */ int Py_BytesWarningFlag; /* Warn on comparison between bytearray and unicode */
int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.py[co]) */ int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.py[co]) */
int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */ int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */
int Py_FrozenFlag; /* Needed by getpath.c */ int Py_FrozenFlag; /* Needed by getpath.c */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment