https://github.com/python/cpython/commit/561ff1fa710493dee8c6482f990bd17535b27040
commit: 561ff1fa710493dee8c6482f990bd17535b27040
branch: main
author: Lysandros Nikolaou <[email protected]>
committer: ambv <[email protected]>
date: 2024-05-21T22:30:45+02:00
summary:
gh-111201: Remove readline dependency from the PyREPL (#119262)
files:
A Misc/NEWS.d/next/Library/2024-05-20-20-30-57.gh-issue-111201.DAA5lC.rst
M Lib/_pyrepl/readline.py
M Lib/test/test_pyrepl/__init__.py
diff --git a/Lib/_pyrepl/readline.py b/Lib/_pyrepl/readline.py
index 0adecf235a4eb4..9c85ce175fd6d6 100644
--- a/Lib/_pyrepl/readline.py
+++ b/Lib/_pyrepl/readline.py
@@ -31,9 +31,9 @@
from dataclasses import dataclass, field
import os
-import readline
from site import gethistoryfile # type: ignore[attr-defined]
import sys
+from rlcompleter import Completer as RLCompleter
from . import commands, historical_reader
from .completing_reader import CompletingReader
@@ -84,7 +84,7 @@
@dataclass
class ReadlineConfig:
- readline_completer: Completer | None = readline.get_completer()
+ readline_completer: Completer | None = RLCompleter().complete
completer_delims: frozenset[str] = frozenset("
\t\n`~!@#$%^&*()-=+[{]}\\|;:'\",<>/?")
diff --git a/Lib/test/test_pyrepl/__init__.py b/Lib/test/test_pyrepl/__init__.py
index a9bc41f4d39f60..fa38b86b847dd9 100644
--- a/Lib/test/test_pyrepl/__init__.py
+++ b/Lib/test/test_pyrepl/__init__.py
@@ -7,7 +7,6 @@
# option. Additionally, we need to attempt to import curses and readline.
requires("curses")
curses = import_module("curses")
-readline = import_module("readline")
def load_tests(*args):
diff --git
a/Misc/NEWS.d/next/Library/2024-05-20-20-30-57.gh-issue-111201.DAA5lC.rst
b/Misc/NEWS.d/next/Library/2024-05-20-20-30-57.gh-issue-111201.DAA5lC.rst
new file mode 100644
index 00000000000000..15cd79dec378ee
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-05-20-20-30-57.gh-issue-111201.DAA5lC.rst
@@ -0,0 +1 @@
+Remove dependency to :mod:`readline` from the new Python REPL.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]