Author dhalbert
Recipients dhalbert, gvanrossum, serhiy.storchaka, terry.reedy
Date 2019-05-13.00:43:59
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1557708240.11.0.58688595084.issue36807@roundup.psfhosted.org>
In-reply-to
Content
Fix tested and works! Comment from PR duplicated here.

I tested this fix by editing the 3.7.3 IDLE code by hand, and editing this test program as code.py on a CIRCUITPY drive on Windows 10:

import time
i = 0
while True:
    print(i)
    i += 1
    print("""\
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
""")
    time.sleep(1)

I typically test write flushing by editing a short program like this, and duplicating the print lines so that the size of the program grows by >512 bytes. This forces a rewrite of the FAT12 information because the program has increased in size by one or more filesystem blocks. Then I shrink it back down again. If file flushing doesn't happen immediately, the program will often throw a syntax error (because it's missing some blocks), or CircuitPython will get an I/O error, which is what happened before I patched IDLE.

So this looks good!
History
Date User Action Args
2019-05-13 00:44:00dhalbertsetrecipients: + dhalbert, gvanrossum, terry.reedy, serhiy.storchaka
2019-05-13 00:44:00dhalbertsetmessageid: <1557708240.11.0.58688595084.issue36807@roundup.psfhosted.org>
2019-05-13 00:44:00dhalbertlinkissue36807 messages
2019-05-13 00:43:59dhalbertcreate