diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-11-03 19:35:43 +0000 |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-11-03 19:35:43 +0000 |
commit | 8a74047e3a9ebfcd1d7a5ebd7a7c7030fa6d0633 (patch) | |
tree | ed28f2085d062021f516bf86815e5bb302e65c3e /Lib/sre_parse.py | |
parent | 37fbc56f9701a2f2098b04a2859a509e6e0d9022 (diff) | |
download | cpython-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.py | 6 |
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 |