diff --git a/src/cmd.js b/src/cmd.js index 7ea902f..fe9b420 100644 --- a/src/cmd.js +++ b/src/cmd.js @@ -742,8 +742,8 @@ const move_cursor = (s, index) => { return {state: with_cursor} } - if(s.loading_external_imports_state != null) { - // Code will be executed when imports will load, do not do it right now + if(s.loading_external_imports_state != null || s.eval_modules_state != null) { + // Code will be executed when imports will load, do not do it right now return {state: with_cursor} } diff --git a/test/test.js b/test/test.js index e9e25af..a96caf4 100644 --- a/test/test.js +++ b/test/test.js @@ -2943,12 +2943,12 @@ const y = x()` ) }), - /* TODO - test('async/await move_cursor bug', async () => { - const i = await test_initial_state_async(` + test('async/await move_cursor before code evaluated', async () => { + const i = test_initial_state(` await new Promise(resolve => globalThis.setTimeout(resolve, 1)) `) + const moved = COMMANDS.move_cursor(i, 0) + // No assertion, must not throw }), - */ ]