summaryrefslogtreecommitdiffstats
path: root/Lib/sre.py
diff options
context:
space:
mode:
authorHye-Shik Chang <hyeshik@gmail.com>2004-04-20 21:11:11 (GMT)
committerHye-Shik Chang <hyeshik@gmail.com>2004-04-20 21:11:11 (GMT)
commit0f5bf1ebdd426fb17f92d00b319a55b014021c30 (patch)
tree029762db31287daade4951c75dada746b19e3bb5 /Lib/sre.py
parent1660e0c1f162efcc2a19e07ca87193e071bca311 (diff)
downloadcpython-0f5bf1ebdd426fb17f92d00b319a55b014021c30.zip
cpython-0f5bf1ebdd426fb17f92d00b319a55b014021c30.tar.gz
cpython-0f5bf1ebdd426fb17f92d00b319a55b014021c30.tar.bz2
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.
Diffstat (limited to 'Lib/sre.py')
-rw-r--r--Lib/sre.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/sre.py b/Lib/sre.py
index ffe2bc3..0ff70dc 100644
--- a/Lib/sre.py
+++ b/Lib/sre.py
@@ -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):