Index: Lib/idlelib/IOBinding.py =================================================================== --- Lib/idlelib/IOBinding.py (revision 74276) +++ Lib/idlelib/IOBinding.py (working copy) @@ -526,6 +526,8 @@ ("All files", "*"), ] + defaultextension = '.py' if sys.platform[:3] == 'win' else '' + def askopenfile(self): dir, base = self.defaultfilename("open") if not self.opendialog: @@ -551,8 +553,10 @@ def asksavefile(self): dir, base = self.defaultfilename("save") if not self.savedialog: - self.savedialog = tkFileDialog.SaveAs(master=self.text, - filetypes=self.filetypes) + self.savedialog = tkFileDialog.SaveAs( + master=self.text, + filetypes=self.filetypes, + defaultextension=self.defaultextension) filename = self.savedialog.show(initialdir=dir, initialfile=base) if isinstance(filename, unicode): filename = filename.encode(filesystemencoding)