iFix query selector 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 acf908821b6d484c52f8e9d70f90635d7d2a7a95 /ckeen/repos/holymoly/commit/acf908821b6d484c52f8e9d70f90635d7d2a7a95.gph vernunftzentrum.de 70 1parent a9f5e6402e1e1de7edc549f54980f2ebc4e91ce5 /ckeen/repos/holymoly/commit/a9f5e6402e1e1de7edc549f54980f2ebc4e91ce5.gph vernunftzentrum.de 70 hAuthor: Christian Kellermann URL:mailto:ckeen@pestilenz.org vernunftzentrum.de 70 iDate: Wed, 15 Aug 2018 16:27:02 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iFix query selector logic Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i holymoly.scm | 22 ++++++++++++---------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 12 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@@ -307,17 +307,19 @@ Err vernunftzentrum.de 70 i (when (equal? (entry-type e) 'url) Err vernunftzentrum.de 70 i (xdg-open (entry-selector e)) Err vernunftzentrum.de 70 i (select-entry (current-page))) Err vernunftzentrum.de 70 i- (when (and (equal? (entry-type e) 'index-search) Err vernunftzentrum.de 70 i- (= 1) (length (string-split (entry-selector e) "?"))) Err vernunftzentrum.de 70 i- (let* ((query (get-user-input)) Err vernunftzentrum.de 70 i- (old-selector (entry-selector e))) Err vernunftzentrum.de 70 i- (if (null? query) Err vernunftzentrum.de 70 i- (select-entry (current-page)) Err vernunftzentrum.de 70 i- (entry-selector-set! e (string-append (car (string-split old-selector "?")) "?" (string-intersperse (string-split query) "+")))))) Err vernunftzentrum.de 70 i- (unless (equal? e (current-page)) Err vernunftzentrum.de 70 i+ (when (equal? (entry-type e) 'index-search) Err vernunftzentrum.de 70 i+ (let* ((base+query (string-split (entry-selector e) "?")) Err vernunftzentrum.de 70 i+ (query (if (= 1 (length base+query)) Err vernunftzentrum.de 70 i+ (get-user-input) Err vernunftzentrum.de 70 i+ (cdr base+query))) Err vernunftzentrum.de 70 i+ (base-selector (car base+query))) Err vernunftzentrum.de 70 i+ (if (null? query) Err vernunftzentrum.de 70 i+ (select-entry (current-page)) Err vernunftzentrum.de 70 i+ (entry-selector-set! e (string-concatenate `(,base-selector ,(string #\tab) ,@query)))))) Err vernunftzentrum.de 70 i+ (unless (equal? e (current-page)) Err vernunftzentrum.de 70 i (push! e history)) Err vernunftzentrum.de 70 i- (let* ((res (request-resource (entry-host e) (entry-selector e) (entry-port e) (memq (entry-type e) '(dos-archive binary gif image)))) Err vernunftzentrum.de 70 i- (handler (or Err vernunftzentrum.de 70 i+ (let* ((res (request-resource (entry-host e) (entry-selector e) (entry-port e) (memq (entry-type e) '(dos-archive binary gif image)))) Err vernunftzentrum.de 70 i+ (handler (or Err vernunftzentrum.de 70 i (alist-ref (entry-type e) type-handlers) Err vernunftzentrum.de 70 i (lambda (c) (save-selector e c)))) Err vernunftzentrum.de 70 i (next (begin Err vernunftzentrum.de 70 .