From 4c7fc69dc891ed7d0fe479612e54c2cc06cca7e6 2010-09-18 00:07:41
From: Fernando Perez <Fernando.Perez@berkeley.edu>
Date: 2010-09-18 00:07:41
Subject: [PATCH] Initialize input_splitter automatically via traitlets mechanism.

---

diff --git a/IPython/core/interactiveshell.py b/IPython/core/interactiveshell.py
index 700bfa1..0e752a5 100644
--- a/IPython/core/interactiveshell.py
+++ b/IPython/core/interactiveshell.py
@@ -155,7 +155,11 @@ class InteractiveShell(Configurable, Magic):
     exit_now = CBool(False)
     filename = Str("<ipython console>")
     ipython_dir= Unicode('', config=True) # Set to get_ipython_dir() in __init__
-    input_splitter = Instance('IPython.core.inputsplitter.IPythonInputSplitter')
+
+    # Input splitter, to split entire cells of input into either individual
+    # interactive statements or whole blocks.
+    input_splitter = Instance('IPython.core.inputsplitter.IPythonInputSplitter',
+                              (), {})
     logstart = CBool(False, config=True)
     logfile = Str('', config=True)
     logappend = Str('', config=True)
@@ -393,10 +397,6 @@ class InteractiveShell(Configurable, Magic):
         # Indentation management
         self.indent_current_nsp = 0
 
-        # Input splitter, to split entire cells of input into either individual
-        # interactive statements or whole blocks.
-        self.input_splitter = IPythonInputSplitter()
-
     def init_environment(self):
         """Any changes we need to make to the user's environment."""
         pass
@@ -1058,6 +1058,7 @@ class InteractiveShell(Configurable, Magic):
     #-------------------------------------------------------------------------
     # Things related to object introspection
     #-------------------------------------------------------------------------
+
     def _ofind(self, oname, namespaces=None):
         """Find an object in the available namespaces.