Add bytes/bytearray.maketrans() to mirror str.maketrans(), and deprecate
string.maketrans() which actually works on bytes. (Also closes #5675.)
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index d5c2bea..1239680 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -1950,6 +1950,12 @@
}
+static PyObject *
+string_maketrans(PyObject *null, PyObject *args)
+{
+ return _Py_bytes_maketrans(args);
+}
+
#define FORWARD 1
#define REVERSE -1
@@ -2851,6 +2857,8 @@
{"ljust", (PyCFunction)stringlib_ljust, METH_VARARGS, ljust__doc__},
{"lower", (PyCFunction)stringlib_lower, METH_NOARGS, _Py_lower__doc__},
{"lstrip", (PyCFunction)string_lstrip, METH_VARARGS, lstrip__doc__},
+ {"maketrans", (PyCFunction)string_maketrans, METH_VARARGS|METH_STATIC,
+ _Py_maketrans__doc__},
{"partition", (PyCFunction)string_partition, METH_O, partition__doc__},
{"replace", (PyCFunction)string_replace, METH_VARARGS, replace__doc__},
{"rfind", (PyCFunction)string_rfind, METH_VARARGS, rfind__doc__},