diff -r f33b4770a078 Lib/idlelib/IOBinding.py --- a/Lib/idlelib/IOBinding.py Sun Oct 12 01:11:05 2014 -0400 +++ b/Lib/idlelib/IOBinding.py Sun Oct 12 03:56:36 2014 -0400 @@ -500,15 +500,19 @@ def defaultfilename(self, mode="open"): if self.filename: - return os.path.split(self.filename) + dirname, base = os.path.split(self.filename) + if base.startswith('~') and sys.platform[:3] == 'win': + # Fix Tcl/Tk Tilde Substitution problem on Windows + base = './' + base # Escape the tilde + return dirname, base elif self.dirname: return self.dirname, "" else: try: - pwd = os.getcwd() + dirname = os.getcwd() except OSError: - pwd = "" - return pwd, "" + dirname = "" + return dirname, "" def asksavefile(self): dir, base = self.defaultfilename("save")