Display both URL and IRI for page info when they differ.
[elpher.git] / elpher.el
index 8c07b85..7df595d 100644 (file)
--- a/elpher.el
+++ b/elpher.el
@@ -6,6 +6,7 @@
 ;; Copyright (C) 2021 Omar Polo <op@omarpolo.com>
 ;; Copyright (C) 2021 Noodles! <nnoodle@chiru.no>
 ;; Copyright (C) 2021 Abhiseck Paira <abhiseckpaira@disroot.org>
+;; Copyright (C) 2021 Daniel Semyonov <daniel@dsemy.com>
 ;; Copyright (C) 2020-2021 Alex Schroeder <alex@gnu.org>
 ;; Copyright (C) 2020 Zhiwei Chen <chenzhiwei03@kuaishou.com>
 ;; Copyright (C) 2020 condy0919 <condy0919@gmail.com>
@@ -1175,14 +1176,16 @@ If ADDRESS is not supplied or nil the record is rendered as an
     (if (display-images-p)
         (let* ((image (create-image
                        data
-                       nil t))
-               (window (get-buffer-window elpher-buffer-name)))
-          (when window
-            (setf (image-property image :max-width) (window-body-width window t))
-            (setf (image-property image :max-height) (window-body-height window t)))
-          (elpher-with-clean-buffer
-           (insert-image image)
-           (elpher-restore-pos)))
+                       nil t)))
+          (if (not image)
+              (error "Unsupported image format")
+            (let ((window (get-buffer-window elpher-buffer-name)))
+              (when window
+                (setf (image-property image :max-width) (window-body-width window t))
+                (setf (image-property image :max-height) (window-body-height window t))))
+            (elpher-with-clean-buffer
+             (insert-image image)
+             (elpher-restore-pos))))
       (elpher-render-download data))))
 
 ;; Search retrieval and rendering
@@ -2170,7 +2173,7 @@ When run interactively HOST-OR-URL is read from the minibuffer."
          (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."
@@ -2278,8 +2281,12 @@ When run interactively HOST-OR-URL is read from the minibuffer."
 
 (defun elpher-info-page (page)
   "Display URL of PAGE in minibuffer."
-  (let ((address (elpher-page-address page)))
-    (message "%s" (elpher-address-to-url address))))
+  (let* ((address (elpher-page-address page))
+         (url (elpher-address-to-url address))
+         (iri (elpher-address-to-iri address)))
+    (if (equal url iri)
+        (message "%s" url)
+      (message "%s (Raw: %s)" iri url))))
 
 (defun elpher-info-link ()
   "Display information on page corresponding to link at point."