SF patch #768187:  replace apply(f, args, kwds) with f(*args, **kwds)
diff --git a/Lib/idlelib/ColorDelegator.py b/Lib/idlelib/ColorDelegator.py
index cc92259..d72d90c 100644
--- a/Lib/idlelib/ColorDelegator.py
+++ b/Lib/idlelib/ColorDelegator.py
@@ -50,7 +50,7 @@
     def config_colors(self):
         for tag, cnf in self.tagdefs.items():
             if cnf:
-                apply(self.tag_configure, (tag,), cnf)
+                self.tag_configure(tag, **cnf)
         self.tag_raise('sel')
 
     def LoadTagDefs(self):
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 6deb4f2..d574b05 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -792,7 +792,7 @@
         text.keydefs = keydefs
         for event, keylist in keydefs.items():
             if keylist:
-                apply(text.event_add, (event,) + tuple(keylist))
+                text.event_add(event, *keylist)
 
     def fill_menus(self, defs=None, keydefs=None):
         """Add appropriate entries to the menus and submenus
diff --git a/Lib/idlelib/MultiStatusBar.py b/Lib/idlelib/MultiStatusBar.py
index dd6d041..2d4c547 100644
--- a/Lib/idlelib/MultiStatusBar.py
+++ b/Lib/idlelib/MultiStatusBar.py
@@ -5,7 +5,7 @@
     def __init__(self, master=None, **kw):
         if master is None:
             master = Tk()
-        apply(Frame.__init__, (self, master), kw)
+        Frame.__init__(self, master, **kw)
         self.labels = {}
 
     def set_label(self, name, text='', side=LEFT):
diff --git a/Lib/idlelib/OutputWindow.py b/Lib/idlelib/OutputWindow.py
index 99e47e4..787e9b0 100644
--- a/Lib/idlelib/OutputWindow.py
+++ b/Lib/idlelib/OutputWindow.py
@@ -13,7 +13,7 @@
     """
 
     def __init__(self, *args):
-        apply(EditorWindow.__init__, (self,) + args)
+        EditorWindow.__init__(self, *args)
         self.text.bind("<<goto-file-line>>", self.goto_file_line)
 
     # Customize EditorWindow
@@ -136,7 +136,7 @@
         text = owin.text
         for tag, cnf in self.tagdefs.items():
             if cnf:
-                apply(text.tag_configure, (tag,), cnf)
+                text.tag_configure(tag, **cnf)
         text.tag_raise('sel')
         self.write = self.owin.write
 
diff --git a/Lib/idlelib/Percolator.py b/Lib/idlelib/Percolator.py
index 5682111..ebbcba9 100644
--- a/Lib/idlelib/Percolator.py
+++ b/Lib/idlelib/Percolator.py
@@ -59,10 +59,10 @@
             Delegator.__init__(self, None)
         def insert(self, *args):
             print self.name, ": insert", args
-            apply(self.delegate.insert, args)
+            self.delegate.insert(*args)
         def delete(self, *args):
             print self.name, ": delete", args
-            apply(self.delegate.delete, args)
+            self.delegate.delete(*args)
     root = Tk()
     root.wm_protocol("WM_DELETE_WINDOW", root.quit)
     text = Text()
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 48b912d..47028bd 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -77,7 +77,7 @@
 
     def __init__(self, *args):
         self.breakpoints = []
-        apply(EditorWindow.__init__, (self,) + args)
+        EditorWindow.__init__(self, *args)
         self.text.bind("<<set-breakpoint-here>>", self.set_breakpoint_here)
         self.text.bind("<<clear-breakpoint-here>>", self.clear_breakpoint_here)
         self.text.bind("<<open-python-shell>>", self.flist.open_shell)
diff --git a/Lib/idlelib/TreeWidget.py b/Lib/idlelib/TreeWidget.py
index e30eeae..824bdca 100644
--- a/Lib/idlelib/TreeWidget.py
+++ b/Lib/idlelib/TreeWidget.py
@@ -414,7 +414,7 @@
         self.frame = Frame(master)
         self.frame.rowconfigure(0, weight=1)
         self.frame.columnconfigure(0, weight=1)
-        self.canvas = apply(Canvas, (self.frame,), opts)
+        self.canvas = Canvas(self.frame, **opts)
         self.canvas.grid(row=0, column=0, sticky="nsew")
         self.vbar = Scrollbar(self.frame, name="vbar")
         self.vbar.grid(row=0, column=1, sticky="nse")
diff --git a/Lib/idlelib/WidgetRedirector.py b/Lib/idlelib/WidgetRedirector.py
index b49ccf1..be74668 100644
--- a/Lib/idlelib/WidgetRedirector.py
+++ b/Lib/idlelib/WidgetRedirector.py
@@ -51,7 +51,7 @@
         m = self.dict.get(cmd)
         try:
             if m:
-                return apply(m, args)
+                return m(*args)
             else:
                 return self.tk.call((self.orig, cmd) + args)
         except TclError:
@@ -84,7 +84,7 @@
     global orig_insert
     def my_insert(*args):
         print "insert", args
-        apply(orig_insert, args)
+        orig_insert(*args)
     orig_insert = redir.register("insert", my_insert)
     root.mainloop()
 
diff --git a/Lib/idlelib/configDialog.py b/Lib/idlelib/configDialog.py
index af3e98a..8c3eb3e 100644
--- a/Lib/idlelib/configDialog.py
+++ b/Lib/idlelib/configDialog.py
@@ -794,8 +794,7 @@
         if self.fgHilite.get(): plane='foreground'
         else: plane='background'
         sampleElement=self.themeElements[self.highlightTarget.get()][0]
-        apply(self.textHighlightSample.tag_config,
-                (sampleElement,),{plane:newColour})
+        self.textHighlightSample.tag_config(sampleElement, **{plane:newColour})
         theme=self.customTheme.get()
         themeElement=sampleElement+'-'+plane
         self.AddChangedItem('highlight',theme,themeElement,newColour)
@@ -890,7 +889,7 @@
                     colours['foreground']=themeDict[element+'-foreground']
                 if themeDict.has_key(element+'-background'):
                     colours['background']=themeDict[element+'-background']
-            apply(self.textHighlightSample.tag_config,(element,),colours)
+            self.textHighlightSample.tag_config(element, **colours)
         self.SetColourSample()
 
 ##     def OnCheckUserHelpBrowser(self):
diff --git a/Lib/idlelib/keybindingDialog.py b/Lib/idlelib/keybindingDialog.py
index df024e7..b550ec1 100644
--- a/Lib/idlelib/keybindingDialog.py
+++ b/Lib/idlelib/keybindingDialog.py
@@ -188,8 +188,7 @@
         #make a tuple of most of the useful common 'final' keys
         keys=(self.alphanumKeys+self.punctuationKeys+self.functionKeys+
                 self.whitespaceKeys+self.editKeys+self.moveKeys)
-        apply(self.listKeysFinal.insert,
-            (END,)+keys)
+        self.listKeysFinal.insert(END, *keys)
 
     def TranslateKey(self,key):
         #translate from key list value to tkinter key-id