summaryrefslogtreecommitdiff
path: root/Lib/sre_parse.py
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-11-03 19:35:43 +0000
committerTim Peters <tim.peters@gmail.com>2001-11-03 19:35:43 +0000
commit8a74047e3a9ebfcd1d7a5ebd7a7c7030fa6d0633 (patch)
treeed28f2085d062021f516bf86815e5bb302e65c3e /Lib/sre_parse.py
parent37fbc56f9701a2f2098b04a2859a509e6e0d9022 (diff)
downloadcpython-8a74047e3a9ebfcd1d7a5ebd7a7c7030fa6d0633.tar.gz
Improved error msg when a symbolic group name is redefined. Added docs
and NEWS. Bugfix candidate? That's a dilemma for Anthony <wink>: /F did fix a longstanding bug here, but the fix can cause code to raise an exception that previously worked by accident.
Diffstat (limited to 'Lib/sre_parse.py')
-rw-r--r--Lib/sre_parse.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index 4596f3b458..7313a1feca 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -81,8 +81,10 @@ class Pattern:
gid = self.groups
self.groups = gid + 1
if name:
- if self.groupdict.has_key(name):
- raise error, "can only use each group name once"
+ ogid = self.groupdict.get(name, None)
+ if ogid is not None:
+ raise error, ("redefinition of group name %s as group %d; " +
+ "was group %d") % (`name`, gid, ogid)
self.groupdict[name] = gid
self.open.append(gid)
return gid