iUse a saner navigation logic - holymoly - A tor enabled gopher client written in CHICKEN scheme Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/holymoly.git URL:git://vernunftzentrum.de/holymoly.git vernunftzentrum.de 70 1Log /ckeen/repos/holymoly/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/holymoly/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/holymoly/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/holymoly/file/README.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/holymoly/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit 144b5565d9b5dcc88bb2a209546d363f5efe64b6 /ckeen/repos/holymoly/commit/144b5565d9b5dcc88bb2a209546d363f5efe64b6.gph vernunftzentrum.de 70 1parent ba38ca12811a4b1c0fe67ea6fae55314ff036035 /ckeen/repos/holymoly/commit/ba38ca12811a4b1c0fe67ea6fae55314ff036035.gph vernunftzentrum.de 70 hAuthor: Christian Kellermann URL:mailto:ckeen@pestilenz.org vernunftzentrum.de 70 iDate: Wed, 25 Apr 2018 09:58:56 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iUse a saner navigation logic Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i holymoly.scm | 16 ++++++---------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 6 insertions(+), 10 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/holymoly.scm b/holymoly.scm /ckeen/repos/holymoly/file/holymoly.scm.gph vernunftzentrum.de 70 i@@ -89,7 +89,7 @@ Err vernunftzentrum.de 70 i ((#x106) (when use-cursor (set! cursor (list->cursor selectables))) (set! pos 0)) ; HOME Err vernunftzentrum.de 70 i ((#x168) (when use-cursor #; Err vernunftzentrum.de 70 i (set! cursor (sub1 (length dlines)))) (set! pos (max pos (- nlines pos rows)))) ; end Err vernunftzentrum.de 70 i- ((260) (if use-cursor (k (previous-page)) (k #f))) Err vernunftzentrum.de 70 i+ ((260) (k 'back)) Err vernunftzentrum.de 70 i ((32) Err vernunftzentrum.de 70 i (set! pos (if (> (+ pos rows) nlines) pos (+ pos (sub1 rows)))) Err vernunftzentrum.de 70 i (when use-cursor Err vernunftzentrum.de 70 i@@ -111,7 +111,7 @@ Err vernunftzentrum.de 70 i ((< (+ pos (length dlines)) (current-cursor cursor)) Err vernunftzentrum.de 70 i (prev-cursor! cursor) Err vernunftzentrum.de 70 i (adjust-cursor!)))))) ; backspace Err vernunftzentrum.de 70 i- ((113) (k #f)) ; q Err vernunftzentrum.de 70 i+ ((113) (k 'quit)) ; q Err vernunftzentrum.de 70 i ((#x47 #x67) (k (uri->entry (get-user-input "New uri:" (uri->string (entry->uri (current-page)))))) pos) ; G Err vernunftzentrum.de 70 i (else pos))))))))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -287,14 +287,10 @@ Err vernunftzentrum.de 70 i (new-status "~a" (uri->string (entry->uri e))) Err vernunftzentrum.de 70 i (handler res)))) Err vernunftzentrum.de 70 i (new-status "~a" next) Err vernunftzentrum.de 70 i- (if next Err vernunftzentrum.de 70 i- (select-entry next) Err vernunftzentrum.de 70 i- (unless (equal? 'directory (entry-type (current-page))) Err vernunftzentrum.de 70 i- (select-entry (current-page)))))) Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-(define (index-entry server #!optional (port gopher-port)) Err vernunftzentrum.de 70 i- (make-entry 'directory "" index server port '())) Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i+ (cond Err vernunftzentrum.de 70 i+ ((equal? next 'quit) (exit 0)) Err vernunftzentrum.de 70 i+ ((equal? next 'back) (select-entry (previous-page))) Err vernunftzentrum.de 70 i+ (else (select-entry next))))) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i (define (uri->entry uri-string) Err vernunftzentrum.de 70 i (let* ((u (uri-reference uri-string)) Err vernunftzentrum.de 70 .