tvi: page forward and backword on the last and first pages - neatvi - [fork] simple vi-type editor with UTF-8 support
 (HTM) git clone git://src.adamsgaard.dk/neatvi
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit 4b1b940dae17628b3ae84a84ae69d76df471662b
 (DIR) parent 9eea97a38d9862f405e00ab6a5b830a19a0df101
 (HTM) Author: Ali Gholami Rudi <ali@rudi.ir>
       Date:   Mon, 11 May 2015 18:45:44 +0430
       
       vi: page forward and backword on the last and first pages
       
       Diffstat:
         M vi.c                                |      13 +++++++------
       
       1 file changed, 7 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/vi.c b/vi.c
       t@@ -641,17 +641,18 @@ static void vi(void)
                                        redraw = 1;
                                        break;
                                case TERMCTRL('b'):
       +                                if (xtop == 0)
       +                                        break;
                                        xtop = MAX(0, xtop - xrows + 1);
       -                                xrow = xtop + xrows - 1;
       +                                xrow = MIN(xrow, xtop + xrows - 1);
                                        lbuf_postindents(xb, &xrow, &xcol);
                                        redraw = 1;
                                        break;
                                case TERMCTRL('f'):
       -                                if (lbuf_len(xb))
       -                                        xtop = MIN(lbuf_len(xb) - 1, xtop + xrows - 1);
       -                                else
       -                                        xtop = 0;
       -                                xrow = xtop;
       +                                if (xtop >= lbuf_len(xb) - 1)
       +                                        break;
       +                                xtop = MIN(lbuf_len(xb) - 1, xtop + xrows - 1);
       +                                xrow = MAX(xrow, xtop);
                                        lbuf_postindents(xb, &xrow, &xcol);
                                        redraw = 1;
                                        break;