a string or unicode object in sre.compile() when a different type
pattern with the same value exists.
def _compile(*key):
# internal: compile pattern
- p = _cache.get(key)
+ cachekey = (type(key[0]),) + key
+ p = _cache.get(cachekey)
if p is not None:
return p
pattern, flags = key
raise error, v # invalid expression
if len(_cache) >= _MAXCACHE:
_cache.clear()
- _cache[key] = p
+ _cache[cachekey] = p
return p
def _compile_repl(*key):
Library
-------
+- Bug #926075: Fixed a bug that returns a wrong pattern object
+ for a string or unicode object in sre.compile() when a different
+ type pattern with the same value exists.
+
- Added countcallers arg to trace.Trace class (--trackcalls command line arg
when run from the command prompt).