From a398924c6a6273c2311835fb8ba16a7f4dbf0b55 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Tue, 6 Oct 1998 15:47:45 +0000 Subject: [PATCH] __normalize(): Preserve the location of the icursor and restore it so that Left/Right arrow keys and C-a C-e all work. --- Tools/pynche/TypeinViewer.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Tools/pynche/TypeinViewer.py b/Tools/pynche/TypeinViewer.py index 63df3637911..ee3aa21f91b 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'):