Issue41378
Created on 2020-07-24 00:42 by rhettinger, last changed 2022-04-11 14:59 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| 0001-Fix-eol_convention-when-file-does-not-exist.patch | eamanu, 2020-07-24 02:28 | |||
| Messages (4) | |||
|---|---|---|---|
| msg374155 - (view) | Author: Raymond Hettinger (rhettinger) * ![]() |
Date: 2020-07-24 00:42 | |
I think this is a new bug, present in Python 3.8.5 but not present in 3.8.3.
Steps to reproduce:
* $ touch xyzpdq.py # Creates new file, zero bytes in length
* $ python3.8 -m idlelib.idle xyzdpq.py
* 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 qwerty.py
~/tmp $ python3.8 -m idlelib.idle qwerty.py
Exception in Tkinter callback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 1883, in __call__
return self.func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/multicall.py", line 176, in handler
r = l[i](event)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/iomenu.py", line 200, in save
if self.writefile(self.filename):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/iomenu.py", line 232, in writefile
text = self.fixnewlines()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/idlelib/iomenu.py", line 252, in fixnewlines
text = text.replace("\n", self.eol_convention)
TypeError: replace() argument 2 must be str, not None
|
|||
| msg374156 - (view) | Author: Emmanuel Arias (eamanu) * | Date: 2020-07-24 02:28 | |
Hello everybody! When a new file is loaded, the current loadfile read for the newline to set the eol_convention. As does not exist for a empty file a None is saved and for that reason the exception is raised If you consider that this patch is correct I cant submit a PR Cheers |
|||
| msg374157 - (view) | Author: Raymond Hettinger (rhettinger) * ![]() |
Date: 2020-07-24 03:41 | |
This may have been caused by https://github.com/python/cpython/commit/c3fa7534c7173d338880a1727f17795670518610 for https://bugs.python.org/issue41378 |
|||
| msg374159 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * ![]() |
Date: 2020-07-24 05:50 | |
It is a duplicate of issue41373 (and the problem is not only with empty files). |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:59:34 | admin | set | github: 85550 |
| 2020-07-24 05:50:02 | serhiy.storchaka | set | status: open -> closed superseder: IDLE: edit/save files created by Windows Explorer messages: + msg374159 resolution: duplicate |
| 2020-07-24 04:25:58 | rhettinger | set | nosy:
+ lukasz.langa |
| 2020-07-24 03:41:29 | rhettinger | set | messages: + msg374157 |
| 2020-07-24 03:38:47 | rhettinger | set | nosy:
+ serhiy.storchaka |
| 2020-07-24 02:28:51 | eamanu | set | files:
+ 0001-Fix-eol_convention-when-file-does-not-exist.patch nosy:
+ eamanu keywords: + patch |
| 2020-07-24 00:42:59 | rhettinger | create | |
