diff --git a/pyreadline/modes/emacs.py b/pyreadline/modes/emacs.py index 802716e..44ec75d 100644 --- a/pyreadline/modes/emacs.py +++ b/pyreadline/modes/emacs.py @@ -284,9 +284,8 @@ class EmacsMode(basemode.BaseMode): def tab_insert(self, e): # (M-TAB) '''Insert a tab character. ''' # vds: >> - line_cursor = len(self.l_buffer) - ws = ' ' * (self.tabstop - (line_cursor%self.tabstop)) - #ws = ' ' * (self.tabstop - (self.line_cursor%self.tabstop)) + cursor = min(self.l_buffer.point, len(self.l_buffer.line_buffer)) + ws = ' ' * (self.tabstop - (cursor % self.tabstop)) # vds: << self.insert_text(ws) diff --git a/pyreadline/modes/notemacs.py b/pyreadline/modes/notemacs.py index a6a4c9f..60ddea7 100644 --- a/pyreadline/modes/notemacs.py +++ b/pyreadline/modes/notemacs.py @@ -273,9 +273,8 @@ class NotEmacsMode(basemode.BaseMode): def tab_insert(self, e): # (M-TAB) '''Insert a tab character. ''' # vds: >> - line_cursor = len(self.l_buffer) - ws = ' ' * (self.tabstop - (line_cursor%self.tabstop)) - #ws = ' ' * (self.tabstop - (self.line_cursor%self.tabstop)) + cursor = min(self.l_buffer.point, len(self.l_buffer.line_buffer)) + ws = ' ' * (self.tabstop - (cursor % self.tabstop)) # vds: << self.insert_text(ws)