summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorBatuhan Taşkaya <47358913+isidentical@users.noreply.github.com>2020-03-19 11:35:44 (GMT)
committerGitHub <noreply@github.com>2020-03-19 11:35:44 (GMT)
commit9052f7a41b90f2d34011c8da68f9a4facebc8a97 (patch)
treead9b4d2fee6c56940a7a73482629ddb23342036b /Python
parent0ac59f93c0e3f91fd994d7245578cce65654fb22 (diff)
downloadcpython-9052f7a41b90f2d34011c8da68f9a4facebc8a97.zip
cpython-9052f7a41b90f2d34011c8da68f9a4facebc8a97.tar.gz
cpython-9052f7a41b90f2d34011c8da68f9a4facebc8a97.tar.bz2
bpo-39562: Allow executing asynchronous comprehensions in the asyncio REPL (GH-18968)
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
Diffstat (limited to 'Python')
-rw-r--r--Python/compile.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Python/compile.c b/Python/compile.c
index a8ab873..fa4313a 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -4520,11 +4520,14 @@ compiler_comprehension(struct compiler *c, expr_ty e, int type,
PyCodeObject *co = NULL;
comprehension_ty outermost;
PyObject *qualname = NULL;
- int is_async_function = c->u->u_ste->ste_coroutine;
int is_async_generator = 0;
- outermost = (comprehension_ty) asdl_seq_GET(generators, 0);
+ if (IS_TOP_LEVEL_AWAIT(c)) {
+ c->u->u_ste->ste_coroutine = 1;
+ }
+ int is_async_function = c->u->u_ste->ste_coroutine;
+ outermost = (comprehension_ty) asdl_seq_GET(generators, 0);
if (!compiler_enter_scope(c, name, COMPILER_SCOPE_COMPREHENSION,
(void *)e, e->lineno))
{