Skip to content

Commit de47a92

Browse files
committed
Merge from 5.x: PR #20288
Fixes #20284
2 parents a9163c2 + 9c37bf3 commit de47a92

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
@@ -2494,17 +2494,32 @@ def revert(self):
24942494
filename = finfo.filename
24952495
if finfo.editor.document().isModified():
24962496
self.msgbox = QMessageBox(
2497-
QMessageBox.Warning,
2498-
self.title,
2499-
_("All changes to <b>%s</b> will be lost."
2500-
"<br>Do you want to revert file from disk?"
2501-
) % osp.basename(filename),
2502-
QMessageBox.Yes | QMessageBox.No,
2503-
self)
2497+
QMessageBox.Warning,
2498+
self.title,
2499+
_("All changes to file <b>%s</b> will be lost.<br>"
2500+
"Do you want to revert it from disk?") %
2501+
osp.basename(filename),
2502+
QMessageBox.Yes | QMessageBox.No,
2503+
self
2504+
)
2505+
25042506
answer = self.msgbox.exec_()
25052507
if answer != QMessageBox.Yes:
25062508
return
2507-
self.reload(index)
2509+
2510+
# This is necessary to catch an error when trying to revert the
2511+
# contents of files not saved on disk (e.g. untitled ones).
2512+
# Fixes spyder-ide/spyder#20284
2513+
try:
2514+
self.reload(index)
2515+
except FileNotFoundError:
2516+
QMessageBox.critical(
2517+
self,
2518+
_("Error"),
2519+
_("File <b>%s</b> is not saved on disk, so it can't be "
2520+
"reverted.") % osp.basename(filename),
2521+
QMessageBox.Ok
2522+
)
25082523

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

0 commit comments

Comments
 (0)