[pyrepl-checkins] pyrepl/pyrepl reader.py,1.4,1.5 commands.py,1.3,1.4
mwh@codespeak.net
mwh@codespeak.net
Fri, 17 Jan 2003 14:58:30 +0100 (MET)
Update of /cvs/pyrepl/pyrepl/pyrepl
In directory thoth.codespeak.net:/tmp/cvs-serv2599
Modified Files:
reader.py commands.py
Log Message:
Allow things like "M-3 C-q a" to do what you might expect, by changing
how we decide to reset the prefix arg.
Index: reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/reader.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** reader.py 17 Jan 2003 13:52:48 -0000 1.4
--- reader.py 17 Jan 2003 13:58:26 -0000 1.5
***************
*** 399,403 ****
def after_command(self, cmd):
"""This function is called to allow post command cleanup."""
! if not isinstance(cmd, commands.digit_arg):
if self.arg is not None:
self.dirty = 1
--- 399,403 ----
def after_command(self, cmd):
"""This function is called to allow post command cleanup."""
! if getattr(cmd, "kills_digit_arg", 1):
if self.arg is not None:
self.dirty = 1
Index: commands.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/commands.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** commands.py 17 Jan 2003 13:44:08 -0000 1.3
--- commands.py 17 Jan 2003 13:58:26 -0000 1.4
***************
*** 32,35 ****
--- 32,36 ----
class Command:
finish = 0
+ kills_digit_arg = 1
def __init__(self, reader, event):
self.reader = reader
***************
*** 78,81 ****
--- 79,83 ----
class digit_arg(Command):
+ kills_digit_arg = 0
def do(self):
r = self.reader
***************
*** 335,339 ****
def do(self):
r = self.reader
! r.insert(self.event.chars + r.console.getpending())
self.reader.install_keymap()
--- 337,341 ----
def do(self):
r = self.reader
! r.insert((self.event.chars + r.console.getpending()) * r.get_arg())
self.reader.install_keymap()
***************
*** 342,345 ****
--- 344,348 ----
class quoted_insert(Command):
+ kills_digit_arg = 0
def do(self):
self.reader.console.install_keymap(_qikeymap)