pydoc.stripid() is now case-insensitive for its regex to support platforms that
have pointer addresses in uppercase. Closes bug #934282. Thanks Robin Becker.
This commit is contained in:
parent
2b2fe94cde
commit
c6c1f478d9
12
Lib/pydoc.py
12
Lib/pydoc.py
|
@ -113,16 +113,16 @@ def cram(text, maxlen):
|
|||
return text[:pre] + '...' + text[len(text)-post:]
|
||||
return text
|
||||
|
||||
_re_stripid = re.compile(r' at 0x[0-9a-f]{6,}(>+)$', re.IGNORECASE)
|
||||
def stripid(text):
|
||||
"""Remove the hexadecimal id from a Python object representation."""
|
||||
# The behaviour of %p is implementation-dependent; we check two cases.
|
||||
for pattern in [' at 0x[0-9a-f]{6,}(>+)$', ' at [0-9A-F]{8,}(>+)$']:
|
||||
if re.search(pattern, repr(Exception)):
|
||||
return re.sub(pattern, '\\1', text)
|
||||
# The behaviour of %p is implementation-dependent in terms of case.
|
||||
if _re_stripid.search(repr(Exception)):
|
||||
return _re_stripid.sub(r'\1', text)
|
||||
return text
|
||||
|
||||
def _is_some_method(object):
|
||||
return inspect.ismethod(object) or inspect.ismethoddescriptor(object)
|
||||
def _is_some_method(obj):
|
||||
return inspect.ismethod(obj) or inspect.ismethoddescriptor(obj)
|
||||
|
||||
def allmethods(cl):
|
||||
methods = {}
|
||||
|
|
|
@ -43,6 +43,7 @@ Samuel L. Bayer
|
|||
Donald Beaudry
|
||||
David Beazley
|
||||
Neal Becker
|
||||
Robin Becker
|
||||
Bill Bedford
|
||||
Reimer Behrends
|
||||
Thomas Bellman
|
||||
|
|
|
@ -336,8 +336,10 @@ Extension modules
|
|||
Library
|
||||
-------
|
||||
|
||||
- Bug #934282: pydoc.stripid() is now case-insensitive. Thanks Robin Becker.
|
||||
|
||||
- Bug #823209: cmath.log() now takes an optional base argument so that its
|
||||
API matches math.log().
|
||||
API matches math.log().
|
||||
|
||||
- Bug #957381: distutils bdist_rpm no longer fails on recent RPM versions
|
||||
that generate a *-debuginfo.rpm.
|
||||
|
|
Loading…
Reference in New Issue