commit 16c037fdb0f450500b9d78ef074074d3ddbc1be5
parent 6fef9208da375a350fe058e55e1797d84290de30
Author: Chris Allegretta <chrisa@asty.org>
Date: Wed, 24 Feb 2016 04:46:44 +0000
Tweak KILL_TRAILING_SPACES. Still deciding on name...
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5675 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -10,7 +10,8 @@
2016-02-22 Chris Allegretta <chrisa@asty.org>
* 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 <bensberg@justemail.net>
* src/nano.c (free_openfilestruct): Elide this function.
diff --git 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--;