commit bf64514283d671687bacfde6a8b167cdd6dd110a
parent b0a2f9853ba5d4e881ac977c86b8bfe3041154e1
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Thu, 29 Oct 2015 17:02:13 +0000
Checking for "nothing to redo" earlier, in order to restore the
possible warning about an internal error.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5380 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -2,6 +2,8 @@
* src/text.c (add_undo): Only skip adding an undo when the current
action equals the last action. This condition is needed for when
typing text is broken by an undo+redo. Fixes Savannah bug #46323.
+ * src/text.c (do_redo): Check for "nothing to redo" earlier, so we
+ can restore the possible warning about an internal error.
2015-10-29 David Lawrence Ramsey <pooka109@gmail.com>
* src/files.c (do_writeout), src/nano.c (no_current_file_name_warning,
diff --git a/src/text.c b/src/text.c
@@ -628,12 +628,17 @@ void do_redo(void)
char *data, *redidmsg = NULL;
undo *u = openfile->undotop;
+ if (u == NULL || u == openfile->current_undo) {
+ statusbar(_("Nothing to re-do!"));
+ return;
+ }
+
/* Get the previous undo item. */
while (u != NULL && u->next != openfile->current_undo)
u = u->next;
- if (u == NULL) {
- statusbar(_("Nothing to re-do!"));
+ if (u->next != openfile->current_undo) {
+ statusbar(_("Internal error: cannot set up redo. Please save your work."));
return;
}