nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 7598b77e75af321065102acdb016d567c00703dd
parent a4132e2e64e2777fe61a437fb4fa398837dca01a
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Sat, 12 Nov 2016 15:57:42 +0100

screen: use the correct width to determine whether a softwrap occurred

This fixes the two bugs reported by Anton Minaev
in https://savannah.gnu.org/bugs/?49511.

Diffstat:
Msrc/nano.c | 6+++---
Msrc/text.c | 4+++-
2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/nano.c b/src/nano.c @@ -1936,10 +1936,10 @@ void do_output(char *output, size_t output_len, bool allow_cntrls) #ifndef NANO_TINY ensure_line_is_visible(); - /* Well, we might also need a full refresh if we've changed the - * line length to be a new multiple of COLS. */ + /* If the number of screen rows that a softwrapped line occupies + * has changed, we need a full refresh. */ if (ISSET(SOFTWRAP) && refresh_needed == FALSE) - if (strlenpt(openfile->current->data) / COLS != orig_lenpt / COLS) + if (strlenpt(openfile->current->data) / editwincols != orig_lenpt / editwincols) refresh_needed = TRUE; #endif diff --git a/src/text.c b/src/text.c @@ -173,8 +173,10 @@ void do_deletion(undo_type action) #ifndef NANO_TINY ensure_line_is_visible(); + /* If the number of screen rows that a softwrapped line occupies + * has changed, we need a full refresh. */ if (ISSET(SOFTWRAP) && refresh_needed == FALSE) - if (strlenpt(openfile->current->data) / COLS != orig_lenpt / COLS) + if (strlenpt(openfile->current->data) / editwincols != orig_lenpt / editwincols) refresh_needed = TRUE; #endif