Skip to content

Commit 9c37bf3

Browse files
authored
Merge pull request #20288 from ccordoba12/issue-20284
PR: Catch error when trying to revert unexisting files (Editor)
2 parents 4306894 + 4a5566c commit 9c37bf3

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

spyder/plugins/editor/widgets/editor.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2496,17 +2496,32 @@ def revert(self):
24962496
filename = finfo.filename
24972497
if finfo.editor.document().isModified():
24982498
self.msgbox = QMessageBox(
2499-
QMessageBox.Warning,
2500-
self.title,
2501-
_("All changes to <b>%s</b> will be lost."
2502-
"<br>Do you want to revert file from disk?"
2503-
) % osp.basename(filename),
2504-
QMessageBox.Yes | QMessageBox.No,
2505-
self)
2499+
QMessageBox.Warning,
2500+
self.title,
2501+
_("All changes to file <b>%s</b> will be lost.<br>"
2502+
"Do you want to revert it from disk?") %
2503+
osp.basename(filename),
2504+
QMessageBox.Yes | QMessageBox.No,
2505+
self
2506+
)
2507+
25062508
answer = self.msgbox.exec_()
25072509
if answer != QMessageBox.Yes:
25082510
return
2509-
self.reload(index)
2511+
2512+
# This is necessary to catch an error when trying to revert the
2513+
# contents of files not saved on disk (e.g. untitled ones).
2514+
# Fixes spyder-ide/spyder#20284
2515+
try:
2516+
self.reload(index)
2517+
except FileNotFoundError:
2518+
QMessageBox.critical(
2519+
self,
2520+
_("Error"),
2521+
_("File <b>%s</b> is not saved on disk, so it can't be "
2522+
"reverted.") % osp.basename(filename),
2523+
QMessageBox.Ok
2524+
)
25102525

25112526
def create_new_editor(self, fname, enc, txt, set_current, new=False,
25122527
cloned_from=None, add_where='end'):

0 commit comments

Comments
 (0)