From: Barry Warsaw Date: Tue, 6 Oct 1998 15:47:45 +0000 (+0000) Subject: __normalize(): Preserve the location of the icursor and restore it so X-Git-Tag: v1.5.2a2~150 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a398924c6a6273c2311835fb8ba16a7f4dbf0b55;p=python __normalize(): Preserve the location of the icursor and restore it so that Left/Right arrow keys and C-a C-e all work. --- diff --git a/Tools/pynche/TypeinViewer.py b/Tools/pynche/TypeinViewer.py index 63df363791..ee3aa21f91 100644 --- a/Tools/pynche/TypeinViewer.py +++ b/Tools/pynche/TypeinViewer.py @@ -74,6 +74,7 @@ class TypeinViewer: def __normalize(self, event=None): ew = event.widget contents = ew.get() + icursor = ew.index(INSERT) if contents == '': contents = '0' # figure out what the contents value is in the current base @@ -90,12 +91,14 @@ class TypeinViewer: i = ew.index(INSERT) contents = contents[:i-1] + contents[i:] ew.bell() + icursor = icursor-1 elif self.__hexp.get(): contents = hex(v) else: contents = int(v) ew.delete(0, END) ew.insert(0, contents) + ew.icursor(icursor) def __maybeupdate(self, event=None): if self.__uwtyping.get() or event.keysym in ('Return', 'Tab'):