On 7/22/2020 6:51 AM, Eason Zhang wrote:
Hello,

I created a new py file that can be saved and run on IDLE v3.8.3.
I also created a new py file on IDLE v3.8.4 but it can NOT be saved!
Tried to edited an old version(e.g. v3.8.3) created py file on IDLE v3.8.4 , it can be saved! That's so strange!

It still cannot save on current latest version v3.8.5!! I tested this function both on 32-bits and 64-bits and they are all CANNOT work!!

In response to my response about missing 'import io' and the fix on 3.8.5/3.9.0b5, Eason privately sent me
QUOTE"""""""""""""""""""""""""""""""""""""""""""""
Video1 (No bug on v3.8.3): https://www.screencast.com/users/lonlon29/folders/Default/media/a0626e93-2c1c-4921-9560-955eb6111466

Video2(Bug was found on v3.8.5):
https://www.screencast.com/t/xrbA7bQpRbuZ

System environment:
Windows 8.1 64-bits OS and Windows 7 64-bits OS.
"""""""""""""""""""""""""""""""""""""""""""""""

System has Chinese set as its language. Video2 shows existing C:/Users/Administrators/Documents/test.py containing Chinese characters being edited, saved, and run multiple times with 3.8.5. So he is not running into the 3.8.4 no non-ascii chars bug.

In my response, I said Eason might be running into another issue. Videa2 continues with Windows 7/8.1 File Explorer > Create New > Text file* > name 385.py > right click > Edit with IDLE 3.8. (*I cannot read Chinese but recognize positions of clicks. 'Edit ...' is the English installed by the python Windows installer.)

I did the same with 'Edit with IDLE 3.9' as for some reason my installation of 3.8 did not add 'Edit with IDLE 3.8'. I had the same no-save problem. When I tried editing the file from a command line with
C:\Users\Terry>py -3.8 -m idlelib f:/python/a/385.py
I got a traceback in Command Prompt ending with

File "C:\Programs\Python38\lib\idlelib\iomenu.py", line 252, in fixnewlines
    text = text.replace("\n", self.eol_convention)
TypeError: replace() argument 2 must be str, not None

I suspect that this is only a Windows issue. Someone with *nix or Mac could check.

An immediate fix is to change the condition on the previous line, iomenu.py, line 251.
        if self.eol_convention not in (None, '', "\n"):
This or a better fix should be in the next release, likely 3.9.0rc1.

A new file created with File => New can be saved as usual.

--
Terry Jan Reedy

_______________________________________________
IDLE-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/idle-dev

Reply via email to