(unwind-protect
(let ((url (url-generic-parse-url url-string)))
(unless (and (not (url-fullness url)) (url-type url))
- (setf (url-fullness url) t)
(unless (url-type url)
(setf (url-type url) default-scheme))
(unless (url-host url)
(if (cdr p)
(concat "/" (mapconcat #'identity (cdr p) "/"))
""))))
- (when (url-host url)
+ (when (not (string-empty-p (url-host url)))
+ (setf (url-fullness url) t)
(setf (url-host url) (puny-encode-domain (url-host url))))
(when (or (equal "gopher" (url-type url))
(equal "gophers" (url-type url)))
(let ((address (url-generic-parse-url url))
(current-address (elpher-page-address elpher-current-page)))
(unless (and (url-type address) (not (url-fullness address))) ;avoid mangling mailto: urls
- (setf (url-fullness address) t)
(if (url-host address) ;if there is an explicit host, filenames are absolute
(if (string-empty-p (url-filename address))
(setf (url-filename address) "/")) ;ensure empty filename is marked as absolute
(setf (url-host address) (url-host current-address))
+ (setf (url-fullness address) (url-host address)) ; set fullness to t if host is set
(setf (url-portspec address) (url-portspec current-address)) ; (url-port) too slow!
(unless (string-prefix-p "/" (url-filename address)) ;deal with relative links
(setf (url-filename address)
(address (elpher-address-from-gemini-url url))
(type (if address (elpher-address-type address) nil))
(type-map-entry (cdr (assoc type elpher-type-map)))
- (fill-prefix (make-string (+ 1 (length elpher-gemini-link-string)) ?\s))
- (insert elpher-gemini-link-string))
+ (fill-prefix (make-string (+ 1 (length elpher-gemini-link-string)) ?\s)))
+ (insert elpher-gemini-link-string)
(if type-map-entry
(let* ((face (elt type-map-entry 3))
(display-string (or given-display-string
(url (read-string (format "Visit URL (default scheme %s): " (elpher-get-default-url-scheme))
(elpher-address-to-url address))))
(unless (string-empty-p (string-trim url))
- (elpher-visit-page (elpher-page-from-url url) (elpher-get-default-url-scheme)))))
+ (elpher-visit-page (elpher-page-from-url url)))))
(defun elpher-redraw ()
"Redraw current page."