Avoid listing files more than once (e.g. foomodule.so has two hits:
once for foo + module.so, once for foomodule + .so).
diff --git a/Tools/idle/PathBrowser.py b/Tools/idle/PathBrowser.py
index b24977f..62470b2 100644
--- a/Tools/idle/PathBrowser.py
+++ b/Tools/idle/PathBrowser.py
@@ -56,13 +56,14 @@
         sorted = []
         for suff, mode, flag in suffixes:
             i = -len(suff)
-            for name in allnames:
+            for name in allnames[:]:
                 normed_name = os.path.normcase(name)
                 if normed_name[i:] == suff:
                     mod_name = name[:i]
                     if not modules.has_key(mod_name):
                         modules[mod_name] = None
                         sorted.append((normed_name, name))
+                        allnames.remove(name)
         sorted.sort()
         names = []
         for nn, name in sorted: