Add pgup/pgdown to pager - holymoly - A tor enabled gopher client written in CHICKEN scheme
 (HTM) git clone git://vernunftzentrum.de/holymoly.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 0e386a089cc8a0c68eb21fc15ed14f75dc791fa1
 (DIR) parent 59a87406a397fb9ac51bc978cf041ea80ade5b21
 (HTM) Author: Christian Kellermann <ckeen@pestilenz.org>
       Date:   Tue, 11 Sep 2018 14:46:30 +0200
       
       Add pgup/pgdown to pager
       
       Diffstat:
         holymoly.scm                        |      26 ++++++++++++++------------
       
       1 file changed, 14 insertions(+), 12 deletions(-)
       ---
 (DIR) diff --git a/holymoly.scm b/holymoly.scm
       @@ -109,19 +109,21 @@
                           ((#x106) (when use-cursor (set! cursor (list->cursor selectables))) 0) ; HOME
                           ((#x168) (max newp (- nlines newp rows))) ; end
                           ((260) (k (previous-page)))
       -                   ((32) (let* ((np (if (> (+ newp rows) nlines) newp (+ newp (sub1 rows))))
       -                                (nsteps left (partition (lambda (x) (< x np)) selectables)))
       -                           (when use-cursor
       -                             (set! cursor (list->cursor selectables))
       -                             (repeat (length nsteps) (next-cursor! cursor)))
       -                            np)) ; space
       +                   ((32 338)
       +                    (let* ((np (if (> (+ newp rows) nlines) newp (+ newp (sub1 rows))))
       +                                    (nsteps left (partition (lambda (x) (< x np)) selectables)))
       +                               (when use-cursor
       +                                 (set! cursor (list->cursor selectables))
       +                                 (repeat (length nsteps) (next-cursor! cursor)))
       +                               np)) ; space / pgup
                           ((10 261) (when use-cursor (k (list-ref lines (current-cursor cursor)))) newp)
       -                   ((263) (let* ((np (if (< (- newp rows) 0) 0 (- newp (sub1 rows))))
       -                                 (nsteps left (partition (lambda (x) (< x np)) selectables)))
       -                            (when use-cursor
       -                              (set! cursor (list->cursor selectables))
       -                              (repeat (length nsteps) (next-cursor! cursor)))
       -                            np)) ; backspace
       +                   ((263 339)
       +                    (let* ((np (if (< (- newp rows) 0) 0 (- newp (sub1 rows))))
       +                                     (nsteps left (partition (lambda (x) (< x np)) selectables)))
       +                                (when use-cursor
       +                                  (set! cursor (list->cursor selectables))
       +                                  (repeat (length nsteps) (next-cursor! cursor)))
       +                                np)) ; backspace / pgdown
                           ((113) (k 'quit)) ; q
                           ((#x47 #x67) (k (uristring->entry (get-user-input "New uri:" (entry->string (current-page))))) newp) ; G
                           (else newp)))))))))