Backed out changeset dafca4714298
diff --git a/Lib/glob.py b/Lib/glob.py
index 2d3132d..3431a69 100644
--- a/Lib/glob.py
+++ b/Lib/glob.py
@@ -14,7 +14,6 @@
     """
     return list(iglob(pathname))
 
-
 def iglob(pathname):
     """Return an iterator which yields the paths matching a pathname pattern.
 
@@ -25,24 +24,21 @@
         if os.path.lexists(pathname):
             yield pathname
         return
-    pathnames = expand_braces(pathname)
-    for pathname in pathnames:
-      dirname, basename = os.path.split(pathname)
-      if not dirname:
-          yield from glob1(None, basename)
-          return
-
-      if has_magic(dirname):
-          dirs = iglob(dirname)
-      else:
-          dirs = [dirname]
-      if has_magic(basename):
-          glob_in_dir = glob1
-      else:
-          glob_in_dir = glob0
-      for dirname in dirs:
-          for name in glob_in_dir(dirname, basename):
-              yield os.path.join(dirname, name)
+    dirname, basename = os.path.split(pathname)
+    if not dirname:
+        yield from glob1(None, basename)
+        return
+    if has_magic(dirname):
+        dirs = iglob(dirname)
+    else:
+        dirs = [dirname]
+    if has_magic(basename):
+        glob_in_dir = glob1
+    else:
+        glob_in_dir = glob0
+    for dirname in dirs:
+        for name in glob_in_dir(dirname, basename):
+            yield os.path.join(dirname, name)
 
 # These 2 helper functions non-recursively glob inside a literal directory.
 # They return a list of basenames. `glob1` accepts a pattern while `glob0`
@@ -74,37 +70,12 @@
     return []
 
 
-magic_check = re.compile('[*?[{]')
-magic_check_bytes = re.compile(b'[*?[{]')
+magic_check = re.compile('[*?[]')
+magic_check_bytes = re.compile(b'[*?[]')
+
 def has_magic(s):
     if isinstance(s, bytes):
         match = magic_check_bytes.search(s)
     else:
         match = magic_check.search(s)
     return match is not None
-
-brace_matcher = re.compile(r'.*(\{.+?[^\\]\})')
-def expand_braces(text):
-    """Find the rightmost, innermost set of braces and, if it contains a
-    comma-separated list, expand its contents recursively (any of its items
-    may itself be a list enclosed in braces).
-
-    Return the full set of expanded strings.
-    """
-    res = set()
-
-    match = brace_matcher.search(text)
-    if match is not None:
-        sub = match.group(1)
-        open_brace, close_brace = match.span(1)
-        if "," in sub:
-            for pat in sub.strip('{}').split(','):
-                res.update(expand_braces(text[:open_brace] + pat + text[close_brace:]))
-
-        else:
-            res.update(expand_braces(text[:open_brace] + sub.replace('}', '\\}') + text[close_brace:]))
-
-    else:
-        res.add(text.replace('\\}', '}'))
-
-    return res