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>master
parent
d5f9be7dc8
commit
91073be49c
|
@ -1619,8 +1619,9 @@ bool do_wrap(filestruct *line)
|
||||||
/* When requested, snip trailing blanks off the wrapped line. */
|
/* When requested, snip trailing blanks off the wrapped line. */
|
||||||
if (ISSET(TRIM_BLANKS)) {
|
if (ISSET(TRIM_BLANKS)) {
|
||||||
size_t cur_x = move_mbleft(line->data, wrap_loc);
|
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;
|
openfile->current_x = cur_x;
|
||||||
do_delete();
|
do_delete();
|
||||||
cur_x = move_mbleft(line->data, cur_x);
|
cur_x = move_mbleft(line->data, cur_x);
|
||||||
|
|
Loading…
Reference in New Issue