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 = |
|
3199 | mod = Module(nodelist, []) | |
3192 |
async_wrapper_code = compiler(mod, |
|
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 = |
|
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