Skip to content

Commit 505e058

Browse files
committed
Set module_completer to reflect the namespace that the PyREPL actually loads
1 parent 7f32756 commit 505e058

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

Lib/_pyrepl/_module_completer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717

1818

1919
def make_default_module_completer() -> ModuleCompleter:
20-
# Inside pyrepl, __package__ is set to '_pyrepl'
21-
return ModuleCompleter(namespace={'__package__': '_pyrepl'})
20+
# Inside pyrepl, __package__ is set to None by default
21+
return ModuleCompleter(namespace={'__package__': None})
2222

2323

2424
class ModuleCompleter:

Lib/_pyrepl/readline.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,7 @@ def _setup(namespace: Mapping[str, Any]) -> None:
606606
# set up namespace in rlcompleter, which requires it to be a bona fide dict
607607
if not isinstance(namespace, dict):
608608
namespace = dict(namespace)
609+
_wrapper.config.module_completer = ModuleCompleter(namespace)
609610
_wrapper.config.readline_completer = RLCompleter(namespace).complete
610611

611612
# this is not really what readline.c does. Better than nothing I guess

0 commit comments

Comments
 (0)