Author rhettinger
Recipients rhettinger, terry.reedy
Date 2020-07-24.00:42:59
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
I think this is a new bug, present in Python 3.8.5 but not present in 3.8.3.

Steps to reproduce:

    * $ touch             # Creates new file, zero bytes in length
    * $ python3.8 -m idlelib.idle
    * Enter text:   print('hello world')
    * Attempt to save the file with Cmd-S
    * This seems to be unrecoverable and results
      in losing all the code that was entered.

---------------- example session ---------------
~ $ cd tmp
~/tmp $ touch
~/tmp $ python3.8 -m idlelib.idle
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/", line 1883, in __call__
    return self.func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/", line 176, in handler
    r = l[i](event)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/", line 200, in save
    if self.writefile(self.filename):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/", line 232, in writefile
    text = self.fixnewlines()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/", line 252, in fixnewlines
    text = text.replace("\n", self.eol_convention)
TypeError: replace() argument 2 must be str, not None
Date User Action Args
2020-07-24 00:42:59rhettingersetrecipients: + rhettinger, terry.reedy
2020-07-24 00:42:59rhettingersetmessageid: <>
2020-07-24 00:42:59rhettingerlinkissue41378 messages
2020-07-24 00:42:59rhettingercreate