From 619666460ef108b42d6600f3157fa858b9226531 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Mon, 6 Jul 2015 18:03:14 +0000 Subject: [PATCH] Making it more transparent what WAS_FINAL_BACKSPACE does. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5283 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 1 + README | 3 +++ src/text.c | 9 +++++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0f2f9c6c..5c73b25b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ src/rcfile.c (parse_binding): When defining the toggles, give each of them a sequence number, so that, when they are rebound, they can still be listed in the original order in the help text. + * src/text.c (do_undo): Make it clearer what WAS_FINAL_BACKSPACE does. GNU nano 2.4.2 - 2015.07.05 2015-06-28 Benno Schulenberg diff --git a/README b/README index a8a007ac..f221b8b0 100644 --- a/README +++ b/README @@ -71,3 +71,6 @@ Current Status GNU nano has reached its fifth stable milestone, 2.4.x. Development of new features will continue in the 2.5.x branch, while 2.4.x versions are dedicated to bug-fixing and polishing. + + + diff --git a/src/text.c b/src/text.c index 36cec500..4dae07a2 100644 --- a/src/text.c +++ b/src/text.c @@ -493,8 +493,13 @@ void do_undo(void) case JOIN: 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 (ISSET(NO_NEWLINES) || u->xflags != WAS_FINAL_BACKSPACE) { + * and the nonewlines flag isn't set, do not re-add a newline that + * wasn't actually deleted; just position the cursor. */ + if (u->xflags == WAS_FINAL_BACKSPACE && !ISSET(NO_NEWLINES)) { + goto_line_posx(openfile->filebot->lineno, 0); + break; + } + {/*FIXME: unindent*/ t = make_new_node(f); t->data = mallocstrcpy(NULL, u->strdata); data = mallocstrncpy(NULL, f->data, u->mark_begin_x + 1); -- 2.39.5