Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 71707f3

Browse files
committed
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.
1 parent 51e2651 commit 71707f3

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

Mac/Tools/IDE/PyInteractive.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ def print_exc(limit=None, file=None):
3636
class PyInteractive:
3737

3838
def __init__(self):
39+
import codeop
3940
self._pybuf = ""
41+
self._compile = codeop.Compile()
4042

4143
def executeline(self, stuff, out = None, env = None):
4244
if env is None:
@@ -72,7 +74,7 @@ def executeline(self, stuff, out = None, env = None):
7274
return
7375

7476
try:
75-
code = compile(self._pybuf, "<input>", "single")
77+
code = self._compile(self._pybuf, "<input>", "single")
7678
except SyntaxError, err:
7779
pass
7880
except:
@@ -84,12 +86,12 @@ def executeline(self, stuff, out = None, env = None):
8486
return
8587

8688
try:
87-
code1 = compile(self._pybuf + "\n", "<input>", "single")
89+
code1 = self._compile(self._pybuf + "\n", "<input>", "single")
8890
except SyntaxError, err1:
8991
pass
9092

9193
try:
92-
code2 = compile(self._pybuf + "\n\n", "<input>", "single")
94+
code2 = self._compile(self._pybuf + "\n\n", "<input>", "single")
9395
except SyntaxError, err2:
9496
pass
9597

0 commit comments

Comments
 (0)