[issue14824] reprlib documentation references string module
New submission from Jasper St. Pierre <jstpierre@mecheye.net>: http://docs.python.org/dev/library/reprlib.html """ Formatting methods for specific types are implemented as methods with a name based on the type name. In the method name, TYPE is replaced by string.join(string.split(type(obj).__name__, '_')). Dispatch to these methods is handled by repr1(). Type-specific methods which need to recursively format a value should call self.repr1(subobj, level - 1). """ Outstanding. ---------- assignee: docs@python components: Documentation messages: 160805 nosy: docs@python, magcius priority: normal severity: normal status: open title: reprlib documentation references string module versions: Python 3.4 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Chris Rebert <pybugs@rebertia.com> added the comment: Patch. Though I ponder whether the expression in question might be equivalent to simply: type(obj).__name__.replace('_', ' ') ---------- keywords: +patch nosy: +cvrebert Added file: http://bugs.python.org/file25607/reprlib.rst.patch _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Jasper St. Pierre <jstpierre@mecheye.net> added the comment: Yes. Yes it would. In my opinion, it really shouldn't do this sort of name mangling, as it's a terrible idea, but whatever. ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Changes by Éric Araujo <merwok@netwok.org>: ---------- nosy: +eric.araujo versions: +Python 3.2, Python 3.3 -Python 3.4 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Jasper St. Pierre <jstpierre@mecheye.net> added the comment: The documentation is just flat out wrong, actually: if ' ' in typename: parts = typename.split() typename = '_'.join(parts) The documentation is claiming the inverse. I don't know why we would ever have a space in a typename, ever (and if someone does awful hacks to get to that state, he should probably also do awful hacks to make reprlib work properly). It would be for the best if we could just remove this brain damage, but whatever. ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Chris Rebert added the comment: Updated patch. I concur that anyone creating a type whose name has whitespace in it is just asking for trouble. ---------- Added file: http://bugs.python.org/file27009/reprlib.rst.patch _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Changes by Berker Peksag <berker.peksag@gmail.com>: ---------- stage: -> patch review versions: +Python 3.4, Python 3.5 -Python 3.2, Python 3.3 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Roundup Robot added the comment: New changeset e9968782c9ba by Berker Peksag in branch '3.4': Issue #14824: Update Repr.repr_TYPE documentation to use correct name mangling implementation. https://hg.python.org/cpython/rev/e9968782c9ba New changeset a0372781eafb by Berker Peksag in branch 'default': Issue #14824: Update Repr.repr_TYPE documentation to use correct name mangling implementation. https://hg.python.org/cpython/rev/a0372781eafb ---------- nosy: +python-dev _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
Berker Peksag added the comment:
I don't know why we would ever have a space in a typename, ever (and if someone does awful hacks to get to that state, he should probably also do awful hacks to make reprlib work properly).
That part of the code has been added 22 years ago: https://hg.python.org/cpython/rev/a0d4c5ef1d5d#l9.22 So probably the reason is that the code is just old. Thanks for the patch, Chris! ---------- assignee: docs@python -> berker.peksag nosy: +berker.peksag resolution: -> fixed stage: patch review -> resolved status: open -> closed _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue14824> _______________________________________
participants (5)
-
Berker Peksag
-
Chris Rebert
-
Jasper St. Pierre
-
Roundup Robot
-
Éric Araujo