Show More
@@ -107,6 +107,14 b' class ProvisionalWarning(DeprecationWarning):' | |||
|
107 | 107 | """ |
|
108 | 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 | 118 | if sys.version_info > (3,6): |
|
111 | 119 | _assign_nodes = (ast.AugAssign, ast.AnnAssign, ast.Assign) |
|
112 | 120 | _single_targets_nodes = (ast.AugAssign, ast.AnnAssign) |
@@ -3188,15 +3196,15 b' class InteractiveShell(SingletonConfigurable):' | |||
|
3188 | 3196 | if _async: |
|
3189 | 3197 | # If interactivity is async the semantics of run_code are |
|
3190 | 3198 | # completely different Skip usual machinery. |
|
3191 |
mod = |
|
|
3192 |
async_wrapper_code = compiler(mod, |
|
|
3199 | mod = Module(nodelist, []) | |
|
3200 | async_wrapper_code = compiler(mod, cell_name, 'exec') | |
|
3193 | 3201 | exec(async_wrapper_code, self.user_global_ns, self.user_ns) |
|
3194 | 3202 | async_code = removed_co_newlocals(self.user_ns.pop('async-def-wrapper')).__code__ |
|
3195 | 3203 | if (yield from self.run_code(async_code, result, async_=True)): |
|
3196 | 3204 | return True |
|
3197 | 3205 | else: |
|
3198 | 3206 | for i, node in enumerate(to_run_exec): |
|
3199 |
mod = |
|
|
3207 | mod = Module([node], []) | |
|
3200 | 3208 | code = compiler(mod, cell_name, "exec") |
|
3201 | 3209 | if (yield from self.run_code(code, result)): |
|
3202 | 3210 | return True |
General Comments 0
You need to be logged in to leave comments.
Login now