diff --git a/src/gui/client/main-window.lisp b/src/gui/client/main-window.lisp index 3e9f202..07483f2 100644 --- a/src/gui/client/main-window.lisp +++ b/src/gui/client/main-window.lisp @@ -338,15 +338,17 @@ (to-s copy))) (defun absolutize-link (request-iri link-value) - (let ((parsed-request-iri (iri:iri-parse request-iri))) - (multiple-value-bind (x host path query port y w z) - (gemini-client:displace-iri parsed-request-iri) - (declare (ignore x y w z)) - (gemini-parser:absolutize-link link-value - host - port - path - query)))) + (if (iri:absolute-url-p link-value) + link-value + (let ((parsed-request-iri (iri:iri-parse request-iri))) + (multiple-value-bind (x host path query port y w z) + (gemini-client:displace-iri parsed-request-iri) + (declare (ignore x y w z)) + (gemini-parser:absolutize-link link-value + host + port + path + query))))) (defun slurp-iri (main-window iri) (if (not (iri:absolute-url-p iri))