further work on dynamic reconfiguration;
keybindings
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 99f40a7..49f9869 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -492,6 +492,39 @@
                 idleConf.GetOption('main','EditorWindow','font-size'),
                 fontWeight))
 
+    def ResetKeybindings(self):
+        #this function is called from configDialog.py
+        #to update the keybindings if they are changed
+        self.Bindings.default_keydefs=idleConf.GetCurrentKeySet()
+        keydefs = self.Bindings.default_keydefs
+        for event, keylist in keydefs.items():
+            self.text.event_delete(event)
+        self.apply_bindings()
+        #update menu accelerators
+        menuEventDict={}
+        for menu in self.Bindings.menudefs:
+            menuEventDict[menu[0]]={}
+            for item in menu[1]:
+                if item:
+                    menuEventDict[menu[0]][prepstr(item[0])[1]]=item[1]
+        for menubarItem in self.menudict.keys():
+            menu=self.menudict[menubarItem]
+            end=menu.index(END)+1
+            for index in range(0,end):
+                if menu.type(index)=='command':
+                    accel=menu.entrycget(index,'accelerator')
+                    if accel:
+                        itemName=menu.entrycget(index,'label')
+                        event=''
+                        if menuEventDict.has_key(menubarItem):
+                            if menuEventDict[menubarItem].has_key(itemName):
+                                event=menuEventDict[menubarItem][itemName]
+                        if event:
+                            #print 'accel was:',accel
+                            accel=get_accelerator(keydefs, event)
+                            menu.entryconfig(index,accelerator=accel)
+                            #print 'accel now:',accel,'\n'
+
     def saved_change_hook(self):
         short = self.short_title()
         long = self.long_title()
diff --git a/Lib/idlelib/configDialog.py b/Lib/idlelib/configDialog.py
index a7ad530..bff86d9 100644
--- a/Lib/idlelib/configDialog.py
+++ b/Lib/idlelib/configDialog.py
@@ -1096,6 +1096,7 @@
         for instance in winInstances:
             instance.ResetColorizer()
             instance.ResetFont()
+            instance.ResetKeybindings()
         
     def Cancel(self):
         self.destroy()