mirror of
https://github.com/python/cpython.git
synced 2025-07-19 09:15:34 +00:00
SF #926075: Fixed the 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.
This commit is contained in:
parent
1660e0c1f1
commit
0f5bf1ebdd
2 changed files with 7 additions and 2 deletions
|
@ -215,7 +215,8 @@ def _join(seq, sep):
|
|||
|
||||
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
|
||||
|
@ -229,7 +230,7 @@ def _compile(*key):
|
|||
raise error, v # invalid expression
|
||||
if len(_cache) >= _MAXCACHE:
|
||||
_cache.clear()
|
||||
_cache[key] = p
|
||||
_cache[cachekey] = p
|
||||
return p
|
||||
|
||||
def _compile_repl(*key):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue