Solve the tab-emulation bug.

This commit is contained in:
vds
2008-08-17 12:29:22 +02:00
parent 62bbb25600
commit 84d5ee1480
3 changed files with 11 additions and 2 deletions
+1
View File
@@ -25,6 +25,7 @@ class BaseMode(object):
self.key_dispatch = {}
self.argument=1
self.prevargument=None
self.tabstop = 4 # vds
def __repr__(self):
return "<BaseMode>"
+5 -1
View File
@@ -283,7 +283,11 @@ class EmacsMode(basemode.BaseMode):
def tab_insert(self, e): # (M-TAB)
'''Insert a tab character. '''
ws = ' ' * (self.tabstop - (self.line_cursor%self.tabstop))
# vds: >>
line_cursor = len(self.l_buffer)
ws = ' ' * (self.tabstop - (line_cursor%self.tabstop))
#ws = ' ' * (self.tabstop - (self.line_cursor%self.tabstop))
# vds: <<
self.insert_text(ws)
def transpose_chars(self, e): # (C-t)
+5 -1
View File
@@ -272,7 +272,11 @@ class NotEmacsMode(basemode.BaseMode):
def tab_insert(self, e): # (M-TAB)
'''Insert a tab character. '''
ws = ' ' * (self.tabstop - (self.line_cursor%self.tabstop))
# vds: >>
line_cursor = len(self.l_buffer)
ws = ' ' * (self.tabstop - (line_cursor%self.tabstop))
#ws = ' ' * (self.tabstop - (self.line_cursor%self.tabstop))
# vds: <<
self.insert_text(ws)
def self_insert(self, e): # (a, b, A, 1, !, ...)