Fix query selector logic - holymoly - A tor enabled gopher client written in CH… | |
git clone git://vernunftzentrum.de/holymoly.git | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit acf908821b6d484c52f8e9d70f90635d7d2a7a95 | |
parent a9f5e6402e1e1de7edc549f54980f2ebc4e91ce5 | |
Author: Christian Kellermann <[email protected]> | |
Date: Wed, 15 Aug 2018 16:27:02 +0200 | |
Fix query selector logic | |
Diffstat: | |
holymoly.scm | 22 ++++++++++++---------- | |
1 file changed, 12 insertions(+), 10 deletions(-) | |
--- | |
diff --git a/holymoly.scm b/holymoly.scm | |
@@ -307,17 +307,19 @@ | |
(when (equal? (entry-type e) 'url) | |
(xdg-open (entry-selector e)) | |
(select-entry (current-page))) | |
- (when (and (equal? (entry-type e) 'index-search) | |
- (= 1) (length (string-split (entry-selector e) "?"))) | |
- (let* ((query (get-user-input)) | |
- (old-selector (entry-selector e))) | |
- (if (null? query) | |
- (select-entry (current-page)) | |
- (entry-selector-set! e (string-append (car (string-split old-selec… | |
- (unless (equal? e (current-page)) | |
+ (when (equal? (entry-type e) 'index-search) | |
+ (let* ((base+query (string-split (entry-selector e) "?")) | |
+ (query (if (= 1 (length base+query)) | |
+ (get-user-input) | |
+ (cdr base+query))) | |
+ (base-selector (car base+query))) | |
+ (if (null? query) | |
+ (select-entry (current-page)) | |
+ (entry-selector-set! e (string-concatenate `(,base-selector … | |
+ (unless (equal? e (current-page)) | |
(push! e history)) | |
- (let* ((res (request-resource (entry-host e) (entry-selector e) (entry-por… | |
- (handler (or | |
+ (let* ((res (request-resource (entry-host e) (entry-selector e) (entry-port … | |
+ (handler (or | |
(alist-ref (entry-type e) type-handlers) | |
(lambda (c) (save-selector e c)))) | |
(next (begin |