SF bug #476912: flag repeated use of the same groupname as
the error it really is (and always has been)
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index 7d9b889..4596f3b 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -81,6 +81,8 @@
         gid = self.groups
         self.groups = gid + 1
         if name:
+            if self.groupdict.has_key(name):
+                raise error, "can only use each group name once"
             self.groupdict[name] = gid
         self.open.append(gid)
         return gid
@@ -189,7 +191,7 @@
             try:
                 c = self.string[self.index + 1]
             except IndexError:
-                raise error, "bogus escape"
+                raise error, "bogus escape (end of line)"
             char = char + c
         self.index = self.index + len(char)
         self.next = char