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 <schamane@fam.tuwien.ac.at>
This commit is contained in:
Benno Schulenberg 2018-01-22 11:33:19 +01:00
parent d5f9be7dc8
commit 91073be49c

View File

@ -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);