diff -r 416cd57d38cf Lib/idlelib/IOBinding.py --- a/Lib/idlelib/IOBinding.py Sun Jul 15 00:38:43 2012 +1000 +++ b/Lib/idlelib/IOBinding.py Sun Jul 15 19:05:12 2012 -0500 @@ -497,15 +497,19 @@ def defaultfilename(self, mode="open"): if self.filename: - return os.path.split(self.filename) + dir, base = os.path.split(self.filename) elif self.dirname: - return self.dirname, "" + dir, base = self.dirname, "" else: try: pwd = os.getcwd() except os.error: pwd = "" - return pwd, "" + dir, base = pwd, "" + if base.startswith('~') and sys.platform[:3] == 'win': + # Fix Tcl/Tk Tilde Substitution problem on Windows + base = '\\' + base # escape the tilde + return dir, base def asksavefile(self): dir, base = self.defaultfilename("save")