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