[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)