Skip to content

Commit a33259e

Browse files
committed
Set console for run_interactive, fix asyncio repl
1 parent aa31d56 commit a33259e

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

Lib/_pyrepl/main.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,9 @@ def interactive_console(mainmodule=None, quiet=False, pythonstartup=False):
5252
CAN_USE_PYREPL = False
5353
if run_interactive is None:
5454
return sys._baserepl()
55-
run_interactive(namespace)
55+
56+
57+
console = InteractiveColoredConsole(
58+
namespace, filename="<stdin>"
59+
)
60+
run_interactive(console=console)

Lib/_pyrepl/readline.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252

5353
# types
5454
Command = commands.Command
55-
from collections.abc import Callable, Collection
55+
from collections.abc import Callable, Collection, Mapping
5656
from .types import Callback, Completer, KeySpec, CommandName
5757

5858
TYPE_CHECKING = False

Lib/_pyrepl/simple_interact.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,15 @@ def _clear_screen():
8282

8383

8484
def run_multiline_interactive_console(
85-
namespace: dict[str, Any],
85+
*,
86+
console: code.InteractiveConsole,
8687
future_flags: int = 0,
87-
console: code.InteractiveConsole | None = None,
8888
) -> None:
8989
from .readline import _setup
90+
91+
namespace = console.locals if isinstance(console.locals, dict) else dict(console.locals)
9092
_setup(namespace)
9193

92-
if console is None:
93-
console = InteractiveColoredConsole(
94-
namespace, filename="<stdin>"
95-
)
9694
if future_flags:
9795
console.compile.compiler.flags |= future_flags
9896

0 commit comments

Comments
 (0)