summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInada Naoki <songofacandy@gmail.com>2019-04-09 12:49:49 (GMT)
committerGitHub <noreply@github.com>2019-04-09 12:49:49 (GMT)
commit4e8e8aabc6e6ae1c989ef288be7bddfdbbc3187d (patch)
treee43ab76f49e1b4ecc8feda8b197a3fcc256e43a2
parent87ed1beb3e15c619f25b9a9308d1ec35659feffd (diff)
downloadcpython-4e8e8aabc6e6ae1c989ef288be7bddfdbbc3187d.zip
cpython-4e8e8aabc6e6ae1c989ef288be7bddfdbbc3187d.tar.gz
cpython-4e8e8aabc6e6ae1c989ef288be7bddfdbbc3187d.tar.bz2
bpo-30134: fix BytesWarning doc, docstring and message (GH-12739)
-rw-r--r--Doc/library/exceptions.rst2
-rw-r--r--Doc/library/warnings.rst2
-rw-r--r--Include/code.h2
-rw-r--r--Objects/bytearrayobject.c10
-rw-r--r--Objects/exceptions.c4
-rw-r--r--Python/pythonrun.c2
6 files changed, 7 insertions, 15 deletions
diff --git a/Doc/library/exceptions.rst b/Doc/library/exceptions.rst
index 2bc2bce..3cb9445 100644
--- a/Doc/library/exceptions.rst
+++ b/Doc/library/exceptions.rst
@@ -526,7 +526,7 @@ module for more information.
.. 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
diff --git a/Doc/library/warnings.rst b/Doc/library/warnings.rst
index b5b89c9..2f699ea 100644
--- a/Doc/library/warnings.rst
+++ b/Doc/library/warnings.rst
@@ -92,7 +92,7 @@ following warnings category classes are currently defined:
| | Unicode. |
+----------------------------------+-----------------------------------------------+
| :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,
diff --git a/Include/code.h b/Include/code.h
index 7456fd6..26c571a 100644
--- a/Include/code.h
+++ b/Include/code.h
@@ -104,7 +104,7 @@ PyAPI_FUNC(int) _PyCode_CheckLineNumber(PyCodeObject* co,
*
* 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
- * 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_Optimize(PyObject *code, PyObject* consts,
diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c
index a96d6d9..5824832 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -1027,14 +1027,6 @@ bytearray_repr(PyByteArrayObject *self)
static PyObject *
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));
}
@@ -1059,7 +1051,7 @@ bytearray_richcompare(PyObject *self, PyObject *other, int op)
if (rc) {
if (Py_BytesWarningFlag && op == Py_EQ) {
if (PyErr_WarnEx(PyExc_BytesWarning,
- "Comparison between bytearray and string", 1))
+ "Comparison between bytearray and unicode", 1))
return NULL;
}
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index 224d1ba..fc60152 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -2014,8 +2014,8 @@ SimpleExtendsException(PyExc_Warning, UnicodeWarning,
* BytesWarning extends Warning
*/
SimpleExtendsException(PyExc_Warning, BytesWarning,
- "Base class for warnings about bytes and buffer related problems, mostly\n"
- "related to conversion from str or comparing to str.");
+ "Base class for warnings about bytes and bytearray related problems, \n"
+ "mostly related to comparing to str.");
/* Pre-computed MemoryError instance. Best to create this as early as
* possible and not wait until a MemoryError is actually raised!
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 2c9f55f..abdfb14 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -70,7 +70,7 @@ int Py_VerboseFlag; /* Needed by import.c */
int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
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_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */
int Py_FrozenFlag; /* Needed by getpath.c */