mirror of https://github.com/python/cpython
[3.13] gh-123228: fix return type for _ReadlineWrapper.get_line_buffer() (GH-123281) (#123293)
gh-123228: fix return type for _ReadlineWrapper.get_line_buffer() (GH-123281)
(cherry picked from commit ca18ff2a34
)
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Carl Friedrich Bolz-Tereick <cfbolz@gmx.de>
This commit is contained in:
parent
a65fe07db4
commit
31fae8c94f
|
@ -479,15 +479,14 @@ class _ReadlineWrapper:
|
|||
def set_startup_hook(self, function: Callback | None = None) -> None:
|
||||
self.startup_hook = function
|
||||
|
||||
def get_line_buffer(self) -> bytes:
|
||||
buf_str = self.get_reader().get_unicode()
|
||||
return buf_str.encode(ENCODING)
|
||||
def get_line_buffer(self) -> str:
|
||||
return self.get_reader().get_unicode()
|
||||
|
||||
def _get_idxs(self) -> tuple[int, int]:
|
||||
start = cursor = self.get_reader().pos
|
||||
buf = self.get_line_buffer()
|
||||
for i in range(cursor - 1, -1, -1):
|
||||
if str(buf[i]) in self.get_completer_delims():
|
||||
if buf[i] in self.get_completer_delims():
|
||||
break
|
||||
start = i
|
||||
return start, cursor
|
||||
|
|
|
@ -26,7 +26,8 @@ from .support import (
|
|||
make_clean_env,
|
||||
)
|
||||
from _pyrepl.console import Event
|
||||
from _pyrepl.readline import ReadlineAlikeReader, ReadlineConfig
|
||||
from _pyrepl.readline import (ReadlineAlikeReader, ReadlineConfig,
|
||||
_ReadlineWrapper)
|
||||
from _pyrepl.readline import multiline_input as readline_multiline_input
|
||||
|
||||
try:
|
||||
|
@ -516,6 +517,11 @@ class TestPyReplOutput(TestCase):
|
|||
self.assertEqual(output, "1+1")
|
||||
self.assertEqual(clean_screen(reader.screen), "1+1")
|
||||
|
||||
def test_get_line_buffer_returns_str(self):
|
||||
reader = self.prepare_reader(code_to_events("\n"))
|
||||
wrapper = _ReadlineWrapper(reader=reader)
|
||||
self.assertIs(type(wrapper.get_line_buffer()), str)
|
||||
|
||||
def test_multiline_edit(self):
|
||||
events = itertools.chain(
|
||||
code_to_events("def f():\n...\n\n"),
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Fix return type for
|
||||
:func:`!_pyrepl.readline._ReadlineWrapper.get_line_buffer` to be
|
||||
:func:`str`. Patch by Sergey B Kirpichev.
|
Loading…
Reference in New Issue