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]

Reply via email to