Commit c6c1f478 authored by Brett Cannon's avatar Brett Cannon

pydoc.stripid() is now case-insensitive for its regex to support platforms that

have pointer addresses in uppercase.

Closes bug #934282.  Thanks Robin Becker.
parent 2b2fe94c
......@@ -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.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment