From 00aa89d8ad9f321e4eb288499a404897eb9188c4 Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Fri, 15 May 2020 18:58:33 +0200 Subject: [PATCH 1/1] Gemini download performance optimization. --- elpher.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/elpher.el b/elpher.el index b02cbbc..be78a0a 100644 --- a/elpher.el +++ b/elpher.el @@ -811,7 +811,7 @@ to ADDRESS." (let* ((kill-buffer-query-functions nil) (port (elpher-address-port address)) (host (elpher-address-host address)) - (response-string "") + (response-string-parts nil) (proc (open-network-stream "elpher-process" nil (if force-ipv4 (dns-query host) host) @@ -832,8 +832,8 @@ to ADDRESS." (when timer (cancel-timer timer) (setq timer nil)) - (setq response-string - (concat response-string string)))) + (setq response-string-parts + (cons string response-string-parts)))) (set-process-sentinel proc (lambda (proc event) (condition-case the-error @@ -845,7 +845,7 @@ to ADDRESS." (concat (elpher-address-to-url address) "\r\n")))) ((string-prefix-p "deleted" event)) ; do nothing - ((and (string-empty-p response-string) + ((and (not response-string-parts) (not force-ipv4)) ; Try again with IPv4 (message "Connection failed. Retrying with IPv4.") @@ -853,7 +853,7 @@ to ADDRESS." (elpher-get-gemini-response address renderer t)) (t (funcall #'elpher-process-gemini-response - response-string + (apply #'concat (reverse response-string-parts)) renderer) (elpher-restore-pos))) (error -- 2.20.1