##// END OF EJS Templates
Make irunner compatible with upcoming pexpect 3.0 interface
Thomas Kluyver -
Show More
@@ -39,6 +39,16 b' import sys'
39 39 from IPython.external import pexpect
40 40 from IPython.utils import py3compat
41 41
42 # We want to use native strings on both versions of Python, and with two
43 # different versions of pexpect.
44 if py3compat.PY3:
45 try:
46 spawn = pexpect.spawnu # Pexpect 3.0 +
47 except AttributeError:
48 spawn = pexpect.spawn # pexpect-u fork
49 else:
50 spawn = pexpect.spawn
51
42 52 # Global usage strings, to avoid indentation issues when typing it below.
43 53 USAGE = """
44 54 Interactive script runner, type: %s
@@ -134,7 +144,7 b' class InteractiveRunner(object):'
134 144
135 145 # Create child process and hold on to it so we don't have to re-create
136 146 # for every single execution call
137 c = self.child = pexpect.spawn(self.program,self.args,timeout=None)
147 c = self.child = spawn(self.program,self.args,timeout=None)
138 148 c.delaybeforesend = self.delaybeforesend
139 149 # pexpect hard-codes the terminal size as (24,80) (rows,columns).
140 150 # This causes problems because any line longer than 80 characters gets
General Comments 0
You need to be logged in to leave comments. Login now