[pyrepl-checkins] pyrepl/pyrepl commands.py,1.7,1.8 input.py,1.3,1.4 reader.py,1.10,1.11

mwh@codespeak.net mwh@codespeak.net
Thu, 29 Apr 2004 15:08:52 +0200 (MEST)


Update of /cvs/pyrepl/pyrepl/pyrepl
In directory thoth.codespeak.net:/tmp/cvs-serv5911

Modified Files:
	commands.py input.py reader.py 
Log Message:
Fixes for reporting unbound commands (problem reported by DogWalker).


Index: commands.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/commands.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** commands.py	16 May 2003 13:45:09 -0000	1.7
--- commands.py	29 Apr 2004 13:08:50 -0000	1.8
***************
*** 33,39 ****
      finish = 0
      kills_digit_arg = 1
!     def __init__(self, reader, event):
          self.reader = reader
          self.event = event
      def do(self):
          pass
--- 33,40 ----
      finish = 0
      kills_digit_arg = 1
!     def __init__(self, reader, (event_name, event)):
          self.reader = reader
          self.event = event
+         self.event_name = event_name
      def do(self):
          pass
***************
*** 349,352 ****
--- 350,358 ----
          self.reader.error("`%s' not bound"%s)
  
+ class invalid_command(Command):
+     def do(self):
+         s = self.event_name
+         self.reader.error("command `%s' not known"%s)
+ 
  class qIHelp(Command):
      def do(self):

Index: input.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/input.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** input.py	10 Jun 2003 13:12:34 -0000	1.3
--- input.py	29 Apr 2004 13:08:50 -0000	1.4
***************
*** 50,54 ****
              if self.verbose:
                  print "transition"
!             self.stack.append((key, self.stack + [key]))
              self.k = d
          else:
--- 50,54 ----
              if self.verbose:
                  print "transition"
!             self.stack.append(key)
              self.k = d
          else:

Index: reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/reader.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** reader.py	20 May 2003 13:18:19 -0000	1.10
--- reader.py	29 Apr 2004 13:08:50 -0000	1.11
***************
*** 469,475 ****
          #print cmd
          if isinstance(cmd[0], str):
!             cmd = self.commands[cmd[0]](self, cmd[1])
          elif isinstance(cmd[0], type):
!             cmd = cmd[0](self, cmd[1])
  
          cmd.do()
--- 469,476 ----
          #print cmd
          if isinstance(cmd[0], str):
!             cmd = self.commands.get(cmd[0],
!                                     commands.invalid_command)(self, cmd)
          elif isinstance(cmd[0], type):
!             cmd = cmd[0](self, cmd)
  
          cmd.do()