From 91073be49c5d23c7e54ba4e09098d5b56d7a22e3 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Mon, 22 Jan 2018 11:33:19 +0100 Subject: [PATCH] wrapping: don't trim a blank character that the user just typed Trimming trailing spaces is good, but we should not trim the space (or tab or other blank) that the user just typed and that caused the hard-wrapping to occur. This fixes https://savannah.gnu.org/bugs/?52948. Reported-by: Andreas Schamanek --- src/text.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/text.c b/src/text.c index 28c26d59..4de48bde 100644 --- a/src/text.c +++ b/src/text.c @@ -1619,8 +1619,9 @@ bool do_wrap(filestruct *line) /* When requested, snip trailing blanks off the wrapped line. */ if (ISSET(TRIM_BLANKS)) { size_t cur_x = move_mbleft(line->data, wrap_loc); + size_t typed_x = move_mbleft(line->data, old_x); - while (is_blank_mbchar(line->data + cur_x)) { + while (is_blank_mbchar(line->data + cur_x) && cur_x != typed_x) { openfile->current_x = cur_x; do_delete(); cur_x = move_mbleft(line->data, cur_x);