homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: reprlib documentation references string module
Type: Stage: resolved
Components: Documentation Versions: Python 3.4, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: berker.peksag Nosy List: berker.peksag, cvrebert, docs@python, eric.araujo, magcius, python-dev
Priority: normal Keywords: patch

Created on 2012年05月16日 05:52 by magcius, last changed 2022年04月11日 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
reprlib.rst.patch cvrebert, 2012年05月16日 08:07 straightforward patch review
reprlib.rst.patch cvrebert, 2012年08月27日 05:59 corrected patch per Jasper review
Messages (7)
msg160805 - (view) Author: Jasper St. Pierre (magcius) Date: 2012年05月16日 05:52
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.
msg160810 - (view) Author: Chris Rebert (cvrebert) * Date: 2012年05月16日 08:07
Patch. Though I ponder whether the expression in question might be equivalent to simply:
 type(obj).__name__.replace('_', ' ')
msg160867 - (view) Author: Jasper St. Pierre (magcius) Date: 2012年05月16日 14:18
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.
msg161083 - (view) Author: Jasper St. Pierre (magcius) Date: 2012年05月18日 20:38
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.
msg169181 - (view) Author: Chris Rebert (cvrebert) * Date: 2012年08月27日 05:59
Updated patch. I concur that anyone creating a type whose name has whitespace in it is just asking for trouble.
msg227025 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014年09月18日 03:04
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 
msg227026 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014年09月18日 03:08
> 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!
History
Date User Action Args
2022年04月11日 14:57:30adminsetgithub: 59029
2014年09月18日 03:08:22berker.peksagsetstatus: open -> closed

assignee: docs@python -> berker.peksag

nosy: + berker.peksag
messages: + msg227026
resolution: fixed
stage: patch review -> resolved
2014年09月18日 03:04:57python-devsetnosy: + python-dev
messages: + msg227025
2014年09月18日 02:31:19berker.peksagsetstage: patch review
versions: + Python 3.4, Python 3.5, - Python 3.2, Python 3.3
2012年08月27日 05:59:42cvrebertsetfiles: + reprlib.rst.patch

messages: + msg169181
2012年05月18日 20:38:54magciussetmessages: + msg161083
2012年05月18日 20:34:51eric.araujosetnosy: + eric.araujo

versions: + Python 3.2, Python 3.3, - Python 3.4
2012年05月16日 14:18:23magciussetmessages: + msg160867
2012年05月16日 08:07:20cvrebertsetfiles: + reprlib.rst.patch

nosy: + cvrebert
messages: + msg160810

keywords: + patch
2012年05月16日 05:52:23magciuscreate

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