Commits

Jack Jansen  committed 95ea661

Patch by Mark Day to allow from __future__ imports. Looks harmless
enough, but may have side-effects because it preallocates a single
codeop.Compiler() to compile all statements the user enters.

Just: please review and retract/modify if necessary.

  • Participants
  • Parent commits e2e9f17
  • Branches legacy-trunk

Comments (0)

Files changed (1)

File Mac/Tools/IDE/PyInteractive.py

 class PyInteractive:
 	
 	def __init__(self):
+		import codeop
 		self._pybuf = ""
+		self._compile = codeop.Compile()
 	
 	def executeline(self, stuff, out = None, env = None):
 		if env is None:
 				return
 			
 			try:
-				code = compile(self._pybuf, "<input>", "single")
+				code = self._compile(self._pybuf, "<input>", "single")
 			except SyntaxError, err:
 				pass
 			except:
 				return
 			
 			try:
-				code1 = compile(self._pybuf + "\n", "<input>", "single")
+				code1 = self._compile(self._pybuf + "\n", "<input>", "single")
 			except SyntaxError, err1:
 				pass
 			
 			try:
-				code2 = compile(self._pybuf + "\n\n", "<input>", "single")
+				code2 = self._compile(self._pybuf + "\n\n", "<input>", "single")
 			except SyntaxError, err2:
 				pass