From: Benno Schulenberg Date: Wed, 17 Jun 2015 10:47:00 +0000 (+0000) Subject: Adjusting whitespace after the previous change. X-Git-Tag: v2.4.2~26 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=67667af2333df5dbc1c30119077efd487770c36d;p=nano.git Adjusting whitespace after the previous change. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5251 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/ChangeLog b/ChangeLog index 75691fc6..afa0a2fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ the appearance of an extra newline when undoing the Backspace/Delete. Patch partially by Mark Majeres. The problem was first reported in https://lists.gnu.org/archive/html/nano-devel/2015-06/msg00003.html. + * src/text.c (do_undo): Adjust whitespace after the previous change. 2015-06-14 Benno Schulenberg * src/winio.c (edit_draw): Add some debugging code to track which diff --git a/src/text.c b/src/text.c index a0e801d4..5d00702f 100644 --- a/src/text.c +++ b/src/text.c @@ -503,17 +503,17 @@ void do_undo(void) undidmsg = _("line join"); /* When the join was done by a Backspace at the tail of the file, * don't actually add another line; just position the cursor. */ - if (f->next != openfile->filebot || u->xflags != UNdel_backspace || - ISSET(NO_NEWLINES)) { - t = make_new_node(f); - t->data = mallocstrcpy(NULL, u->strdata); - data = mallocstrncpy(NULL, f->data, u->mark_begin_x + 1); - data[u->mark_begin_x] = '\0'; - free(f->data); - f->data = data; - splice_node(f, t, f->next); - if (f == openfile->filebot) - openfile->filebot = t; + if (f->next != openfile->filebot || ISSET(NO_NEWLINES) || + u->xflags != UNdel_backspace) { + t = make_new_node(f); + t->data = mallocstrcpy(NULL, u->strdata); + data = mallocstrncpy(NULL, f->data, u->mark_begin_x + 1); + data[u->mark_begin_x] = '\0'; + free(f->data); + f->data = data; + splice_node(f, t, f->next); + if (f == openfile->filebot) + openfile->filebot = t; } goto_line_posx(u->lineno, u->begin); break;