[Python-3000-checkins] r65171 - in python/branches/py3k: Lib/rlcompleter.py

benjamin.peterson python-3000-checkins at python.org
Mon Jul 21 18:32:11 CEST 2008


Author: benjamin.peterson
Date: Mon Jul 21 18:32:10 2008
New Revision: 65171

Log:
Merged revisions 65168 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r65168 | facundo.batista | 2008-07-21 09:28:17 -0500 (Mon, 21 Jul 2008) | 5 lines
  
  
  Issue 3396. Fixed the autocompletion of 'int.', and worked
  a little that part of the code, fixing a detail and enhancing
  a bit others.
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/rlcompleter.py

Modified: python/branches/py3k/Lib/rlcompleter.py
==============================================================================
--- python/branches/py3k/Lib/rlcompleter.py	(original)
+++ python/branches/py3k/Lib/rlcompleter.py	Mon Jul 21 18:32:10 2008
@@ -128,18 +128,23 @@
             return []
         expr, attr = m.group(1, 3)
         try:
-            object = eval(expr, self.namespace)
+            thisobject = eval(expr, self.namespace)
         except Exception:
             return []
-        words = dir(object)
-        if hasattr(object,'__class__'):
+
+        # get the content of the object, except __builtins__
+        words = dir(thisobject)
+        if "__builtins__" in words:
+            words.remove("__builtins__")
+
+        if hasattr(thisobject, '__class__'):
             words.append('__class__')
-            words = words + get_class_members(object.__class__)
+            words.extend(get_class_members(thisobject.__class__))
         matches = []
         n = len(attr)
         for word in words:
-            if word[:n] == attr and word != "__builtins__":
-                val = getattr(object, word)
+            if word[:n] == attr and hasattr(thisobject, word):
+                val = getattr(thisobject, word)
                 word = self._callable_postfix(val, "%s.%s" % (expr, word))
                 matches.append(word)
         return matches


More information about the Python-3000-checkins mailing list