diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py index d749788fb26..e2f75aa1f98 100644 --- a/Lib/idlelib/IOBinding.py +++ b/Lib/idlelib/IOBinding.py @@ -123,6 +123,8 @@ def coding_spec(str): Raise LookupError if the encoding is declared but unknown. """ + # perform string manipulation in latin-1 + str = str.decode("latin-1") # Only consider the first two lines str = str.split("\n")[:2] str = "\n".join(str) @@ -386,7 +388,7 @@ def writefile(self, filename): return False def encode(self, chars): - if isinstance(chars, types.StringType): + if isinstance(chars, bytes): # This is either plain ASCII, or Tk was returning mixed-encoding # text to us. Don't try to guess further. return chars @@ -544,8 +546,6 @@ def asksavefile(self): self.savedialog = tkFileDialog.SaveAs(master=self.text, filetypes=self.filetypes) filename = self.savedialog.show(initialdir=dir, initialfile=base) - if isinstance(filename, str): - filename = filename.encode(filesystemencoding) return filename def updaterecentfileslist(self,filename):