diff --git a/ChangeLog b/ChangeLog index eacfe3ca..0fea0a7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,7 +10,8 @@ 2016-02-22 Chris Allegretta * Add the ability to kill the trailing spaces when justifying text, by adding a new nanorc option 'kill_spaces_on_justify' -- we'll see - whether this warrants a command-line flag or not. + whether this warrants a command-line flag or not. Now with slightly + better logic for multi-spaced lines. 2016-02-22 Benno Schulenberg * src/nano.c (free_openfilestruct): Elide this function. diff --git a/src/text.c b/src/text.c index ac12f351..e419616a 100644 --- a/src/text.c +++ b/src/text.c @@ -2176,10 +2176,13 @@ void do_justify(bool full_justify) #endif /* Break the current line. */ - if (ISSET(KILL_TRAILING_SPACES)) - null_at(&openfile->current->data, break_pos - 1); - else - null_at(&openfile->current->data, break_pos); + if (ISSET(KILL_TRAILING_SPACES)) { + while (break_pos > 0 && + is_blank_mbchar(&openfile->current->data[break_pos-1])) { + break_pos--; + } + } + null_at(&openfile->current->data, break_pos); /* Go to the next line. */ par_len--;