Skip to content

Commit b3138ab

Browse files
authored
Fix/re-enable quoted_insert: use self.evt.data (#17)
Reverts a59f338cc7b6c. Fixes: File "/usr/lib/python3.7/cmd.py", line 126, in cmdloop line = input(self.prompt) File "…/src/pyrepl/pyrepl/readline.py", line 229, in raw_input ret = reader.readline(startup_hook=self.startup_hook) File "…/src/pyrepl/pyrepl/reader.py", line 605, in readline self.handle1() File "…/src/pyrepl/pyrepl/reader.py", line 588, in handle1 self.do_cmd(cmd) File "…/src/pyrepl/pyrepl/reader.py", line 535, in do_cmd cmd.do() File "…/src/pyrepl/pyrepl/commands.py", line 373, in do r.insert((self.event + r.console.getpending().data) * r.get_arg()) TypeError: can't concat str to bytearray
1 parent f0b4b78 commit b3138ab

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

pyrepl/commands.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,12 @@ def do(self):
369369

370370
class qIHelp(Command):
371371
def do(self):
372+
from .reader import disp_str
373+
372374
r = self.reader
373-
r.insert((bytes(self.event) + r.console.getpending().data) * r.get_arg())
375+
pending = r.console.getpending().data
376+
disp = disp_str((self.event + pending))[0]
377+
r.insert(disp * r.get_arg())
374378
r.pop_input_trans()
375379

376380
from pyrepl import input
@@ -379,7 +383,7 @@ class QITrans(object):
379383
def push(self, evt):
380384
self.evt = evt
381385
def get(self):
382-
return ('qIHelp', self.evt.raw)
386+
return ('qIHelp', self.evt.data)
383387

384388
class quoted_insert(Command):
385389
kills_digit_arg = 0

testing/infrastructure.py

+4
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ def get_event(self, block=1):
5555
print("event", ev)
5656
return Event(*ev)
5757

58+
def getpending(self):
59+
"""Nothing pending, but do not return None here."""
60+
return Event('key', '', b'')
61+
5862

5963
class TestReader(Reader):
6064
__test__ = False

testing/test_wishes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ def test_quoted_insert_repeat():
2727
read_spec([
2828
(('digit-arg', '3'), ['']),
2929
(('quoted-insert', None), ['']),
30-
(('self-insert', '\033'), ['^[^[^[']),
30+
(('key', '\033'), ['^[^[^[']),
3131
(('accept', None), None)])

0 commit comments

Comments
 (0)