Issue #3832: backport 677a9326b4d4 to 2.7 (and delete some obsolete code).
diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py
index e3affa8..e7d747c 100644
--- a/Lib/idlelib/IOBinding.py
+++ b/Lib/idlelib/IOBinding.py
@@ -19,11 +19,7 @@
from idlelib.configHandler import idleConf
-try:
- from codecs import BOM_UTF8
-except ImportError:
- # only available since Python 2.3
- BOM_UTF8 = '\xef\xbb\xbf'
+from codecs import BOM_UTF8
# Try setting the locale, so that we can find out
# what encoding to use
@@ -532,6 +528,8 @@
("All files", "*"),
]
+ defaultextension = '.py' if sys.platform == 'darwin' else ''
+
def askopenfile(self):
dir, base = self.defaultfilename("open")
if not self.opendialog:
@@ -557,8 +555,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)