Dan Halbert <halb...@halwitz.org> added the comment:

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!

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36807>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to