##// END OF EJS Templates
Mock the new module API on <38 and ignore second argument....
Matthias Bussonnier -
Show More
@@ -107,6 +107,14 b' class ProvisionalWarning(DeprecationWarning):'
107 """
107 """
108 pass
108 pass
109
109
110 if sys.version_info > (3,8):
111 from ast import Module
112 else :
113 # mock the new API, ignore second argument
114 # see https://github.com/ipython/ipython/issues/11590
115 from ast import Module as OriginalModule
116 Module = lambda nodelist, type_ignores: OriginalModule(nodelist)
117
110 if sys.version_info > (3,6):
118 if sys.version_info > (3,6):
111 _assign_nodes = (ast.AugAssign, ast.AnnAssign, ast.Assign)
119 _assign_nodes = (ast.AugAssign, ast.AnnAssign, ast.Assign)
112 _single_targets_nodes = (ast.AugAssign, ast.AnnAssign)
120 _single_targets_nodes = (ast.AugAssign, ast.AnnAssign)
@@ -3188,15 +3196,15 b' class InteractiveShell(SingletonConfigurable):'
3188 if _async:
3196 if _async:
3189 # If interactivity is async the semantics of run_code are
3197 # If interactivity is async the semantics of run_code are
3190 # completely different Skip usual machinery.
3198 # completely different Skip usual machinery.
3191 mod = ast.Module(nodelist)
3199 mod = Module(nodelist, [])
3192 async_wrapper_code = compiler(mod, 'cell_name', 'exec')
3200 async_wrapper_code = compiler(mod, cell_name, 'exec')
3193 exec(async_wrapper_code, self.user_global_ns, self.user_ns)
3201 exec(async_wrapper_code, self.user_global_ns, self.user_ns)
3194 async_code = removed_co_newlocals(self.user_ns.pop('async-def-wrapper')).__code__
3202 async_code = removed_co_newlocals(self.user_ns.pop('async-def-wrapper')).__code__
3195 if (yield from self.run_code(async_code, result, async_=True)):
3203 if (yield from self.run_code(async_code, result, async_=True)):
3196 return True
3204 return True
3197 else:
3205 else:
3198 for i, node in enumerate(to_run_exec):
3206 for i, node in enumerate(to_run_exec):
3199 mod = ast.Module([node])
3207 mod = Module([node], [])
3200 code = compiler(mod, cell_name, "exec")
3208 code = compiler(mod, cell_name, "exec")
3201 if (yield from self.run_code(code, result)):
3209 if (yield from self.run_code(code, result)):
3202 return True
3210 return True
General Comments 0
You need to be logged in to leave comments. Login now