[pyrepl-checkins] r44298 - pyrepl/trunk/pyrepl/pyrepl

fijal at codespeak.net fijal at codespeak.net
Fri Jun 15 17:27:33 CEST 2007


Author: fijal
Date: Fri Jun 15 17:27:33 2007
New Revision: 44298

Modified:
   pyrepl/trunk/pyrepl/pyrepl/python_reader.py
Log:
Make module_list lazy, created first time tab is pressed after import


Modified: pyrepl/trunk/pyrepl/pyrepl/python_reader.py
==============================================================================
--- pyrepl/trunk/pyrepl/pyrepl/python_reader.py	(original)
+++ pyrepl/trunk/pyrepl/pyrepl/python_reader.py	Fri Jun 15 17:27:33 2007
@@ -114,6 +114,10 @@
         b = self.get_unicode()
         m = import_line_prog.match(b)
         if m:
+            if not self._module_list_ready:
+                module_lister._make_module_list()
+                self._module_list_ready = True
+
             mod = m.group("mod")
             try:
                 return module_lister.find_modules(mod)
@@ -361,15 +365,13 @@
                     else:
                         encoding = None
                 else:
-                    encoding = None # so you get ASCII...
+                    encoding = 'UTF-8' # so you get ASCII...
             con = UnixConsole(0, 1, None, encoding)
         print "Python", sys.version, "on", sys.platform
         print 'Type "help", "copyright", "credits" or "license" '\
               'for more information.'
         sys.path.insert(0, os.getcwd())
 
-        module_lister._make_module_list()
-
         if __name__ != '__main__':
             mainmod = new.module('__main__')
             sys.modules['__main__'] = mainmod
@@ -377,6 +379,7 @@
             mainmod = sys.modules['__main__']
 
         rc = ReaderConsole(con, mainmod.__dict__)
+        rc.reader._module_list_ready = False
         rc.run_user_init_file()
         getattr(rc, interactmethod)()
     finally:


More information about the pyrepl-checkins mailing list