From 7a9afc54e859947a43f4c4bcefd928fa66ab7694 Mon Sep 17 00:00:00 2001 From: Lysandros Nikolaou Date: Tue, 21 May 2024 16:30:45 -0400 Subject: [PATCH] [3.13] gh-111201: Remove readline dependency from the PyREPL (GH-119262) (cherry picked from commit 561ff1fa710493dee8c6482f990bd17535b27040) Co-authored-by: Lysandros Nikolaou --- Lib/_pyrepl/readline.py | 4 ++-- Lib/test/test_pyrepl/__init__.py | 1 - .../Library/2024-05-20-20-30-57.gh-issue-111201.DAA5lC.rst | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2024-05-20-20-30-57.gh-issue-111201.DAA5lC.rst diff --git a/Lib/_pyrepl/readline.py b/Lib/_pyrepl/readline.py index d28a7f3779f302..8de60ffd2bd025 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 @@ -81,7 +81,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. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy