nano

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

commit d01756bb69f42f324e5e56fb5d76a900d13444b6
parent 644fedcb61a404ccf37bc7620312788cec46003d
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Mon, 27 Mar 2017 15:50:46 -0500

moving: determine the correct leftedge when paging up/down too

The change in commit 244a503d for the <Up> and <Down> keys
needs to be done for <PageUp> and <PageDown> too.

Diffstat:
Msrc/move.c | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/move.c b/src/move.c @@ -65,7 +65,12 @@ void do_page_up(void) #ifndef NANO_TINY if (ISSET(SOFTWRAP)) { - leftedge = (openfile->placewewant / editwincols) * editwincols; + size_t realspan = strlenpt(openfile->current->data); + + if (openfile->placewewant < realspan) + realspan = openfile->placewewant; + + leftedge = (realspan / editwincols) * editwincols; target_column = openfile->placewewant % editwincols; } else #endif @@ -103,7 +108,12 @@ void do_page_down(void) #ifndef NANO_TINY if (ISSET(SOFTWRAP)) { - leftedge = (openfile->placewewant / editwincols) * editwincols; + size_t realspan = strlenpt(openfile->current->data); + + if (openfile->placewewant < realspan) + realspan = openfile->placewewant; + + leftedge = (realspan / editwincols) * editwincols; target_column = openfile->placewewant % editwincols; } else #endif