[pyrepl-checkins] pyrepl/pyrepl historical_reader.py,1.6,1.7 input.py,1.1,1.2 python_reader.py,1.10,1.11 reader.py,1.9,1.10

mwh@codespeak.net mwh@codespeak.net
Tue, 20 May 2003 15:18:21 +0200 (MEST)


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

Modified Files:
	historical_reader.py input.py python_reader.py reader.py 
Log Message:
changes to actually get the unicode support to work :-/


Index: historical_reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/historical_reader.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** historical_reader.py	16 May 2003 13:51:14 -0000	1.6
--- historical_reader.py	20 May 2003 13:18:19 -0000	1.7
***************
*** 216,220 ****
          from pyrepl import input
          self.isearch_trans = input.KeymapTranslator(
!             isearch_keymap, invalid_cls=isearch_end)
          
      def select_item(self, i):
--- 216,221 ----
          from pyrepl import input
          self.isearch_trans = input.KeymapTranslator(
!             isearch_keymap, invalid_cls=isearch_end,
!             character_cls=isearch_add_character)
          
      def select_item(self, i):

Index: input.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/input.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** input.py	16 May 2003 13:45:09 -0000	1.1
--- input.py	20 May 2003 13:18:19 -0000	1.2
***************
*** 15,18 ****
--- 15,20 ----
  # class does quite a lot towards emulating a unix terminal.
  
+ import unicodedata
+ 
  class InputTranslator(object):
      def push(self, evt):
***************
*** 24,32 ****
  
  class KeymapTranslator(InputTranslator):
!     def __init__(self, keymap, verbose=0, invalid_cls=None):
          self.verbose = verbose
          from pyrepl.keymap import compile_keymap, parse_keys
          self.keymap = keymap
          self.invalid_cls = invalid_cls
          d = {}
          for keyspec, command in keymap:
--- 26,36 ----
  
  class KeymapTranslator(InputTranslator):
!     def __init__(self, keymap, verbose=0,
!                  invalid_cls=None, character_cls=None):
          self.verbose = verbose
          from pyrepl.keymap import compile_keymap, parse_keys
          self.keymap = keymap
          self.invalid_cls = invalid_cls
+         self.character_cls = character_cls
          d = {}
          for keyspec, command in keymap:
***************
*** 52,63 ****
                  if self.verbose:
                      print "invalid"
!                 self.results.append(
!                     (self.invalid_cls,
!                      self.stack + [key]))
              else:
                  if self.verbose:
                      print "matched", d
!                 self.results.append((d,
!                                      self.stack + [key]))
              self.stack = []
              self.k = self.ck
--- 56,71 ----
                  if self.verbose:
                      print "invalid"
!                 if self.stack or unicodedata.category(key) == 'C':
!                     self.results.append(
!                         (self.invalid_cls, self.stack + [key]))
!                 else:
!                     # small optimization:
!                     self.k[key] = self.character_cls
!                     self.results.append(
!                         (self.character_cls, [key]))
              else:
                  if self.verbose:
                      print "matched", d
!                 self.results.append((d, self.stack + [key]))
              self.stack = []
              self.k = self.ck
***************
*** 69,71 ****
      def empty(self):
          return not self.results
-             
--- 77,78 ----

Index: python_reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/python_reader.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** python_reader.py	16 May 2003 13:56:26 -0000	1.10
--- python_reader.py	20 May 2003 13:18:19 -0000	1.11
***************
*** 288,292 ****
      si, se, so = sys.stdin, sys.stderr, sys.stdout
      try:
!         if use_pygame_console:
              from pyrepl.pygame_console import PyGameConsole, FakeStdin, FakeStdout
              con = PyGameConsole()
--- 288,292 ----
      si, se, so = sys.stdin, sys.stderr, sys.stdout
      try:
!         if 0 and use_pygame_console: # pygame currently borked
              from pyrepl.pygame_console import PyGameConsole, FakeStdin, FakeStdout
              con = PyGameConsole()
***************
*** 310,313 ****
--- 310,316 ----
                      if code == 4:
                          encoding = 'utf-8'
+                         # More could go here -- and what's here isn't
+                         # bulletproof.  What would be?  AppleScript?
+                         # Doesn't seem to be possible.
                      else:
                          encoding = None

Index: reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/reader.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** reader.py	16 May 2003 13:51:14 -0000	1.9
--- reader.py	20 May 2003 13:18:19 -0000	1.10
***************
*** 245,249 ****
          self.input_trans_stack = []
          self.input_trans = input.KeymapTranslator(
!             self.keymap, invalid_cls='invalid-key')
  
      def calc_screen(self):
--- 245,251 ----
          self.input_trans_stack = []
          self.input_trans = input.KeymapTranslator(
!             self.keymap,
!             invalid_cls='invalid-key',
!             character_cls='self-insert')
  
      def calc_screen(self):
***************
*** 537,541 ****
      def bind(self, spec, command):
          self.keymap = self.keymap + ((spec, command),)
!         self.input_trans = input.KeymapTranslator(self.keymap)
  
      def get_buffer(self, encoding=None):
--- 539,546 ----
      def bind(self, spec, command):
          self.keymap = self.keymap + ((spec, command),)
!         self.input_trans = input.KeymapTranslator(
!             self.keymap,
!             invalid_cls='invalid-key',
!             character_cls='self-insert')
  
      def get_buffer(self, encoding=None):