From: Benno Schulenberg Date: Thu, 29 Oct 2015 17:02:13 +0000 (+0000) Subject: Checking for "nothing to redo" earlier, in order to restore the X-Git-Tag: v2.5.0~82 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=bf64514283d671687bacfde6a8b167cdd6dd110a;p=nano.git 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 --- diff --git a/ChangeLog b/ChangeLog index 830386f0..785da688 100644 --- 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 * src/files.c (do_writeout), src/nano.c (no_current_file_name_warning, diff --git a/src/text.c b/src/text.c index 1fed0638..c24ddeb1 100644 --- 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; }