Fixed bugs introduced by last commit.
[elpher.git] / elpher.el
index 307647a..a107f07 100644 (file)
--- a/elpher.el
+++ b/elpher.el
@@ -4,7 +4,7 @@
 
 ;; Author: Tim Vaughan <plugd@thelambdalab.xyz>
 ;; Created: 11 April 2019
-;; Version: 2.10.2
+;; Version: 2.10.3
 ;; Keywords: comm gopher
 ;; Homepage: http://thelambdalab.xyz/elpher
 ;; Package-Requires: ((emacs "26.2"))
@@ -71,7 +71,7 @@
 ;;; Global constants
 ;;
 
-(defconst elpher-version "2.10.2"
+(defconst elpher-version "2.10.3"
   "Current version of elpher.")
 
 (defconst elpher-margin-width 6
@@ -269,8 +269,6 @@ some servers which do not support IPv6 can take a long time to time-out."
         (let ((url (url-generic-parse-url url-string)))
           (unless (and (not (url-fullness url)) (url-type url))
             (setf (url-fullness url) t)
-            (setf (url-filename url)
-                  (url-unhex-string (url-filename url)))
             (unless (url-type url)
               (setf (url-type url) "gopher"))
             (when (or (equal "gopher" (url-type url))
@@ -368,7 +366,7 @@ address refers to, via the table `elpher-type-map'."
 For gopher addresses this is a combination of the selector type and selector."
   (if (symbolp address)
       nil
-    (url-filename address)))
+    (url-unhex-string (url-filename address))))
 
 (defun elpher-address-host (address)
   "Retrieve host from ADDRESS object."
@@ -392,7 +390,7 @@ If no address is defined, returns 0.  (This is for compatibility with the URL li
 (defun elpher-address-gopher-p (address)
   "Return non-nill if ADDRESS object is a gopher address."
   (and (not (elpher-address-special-p address))
-       (member (elpher-address-protocol address) '("gopher gophers"))))
+       (member (elpher-address-protocol address) '("gopher" "gophers"))))
 
 (defun elpher-gopher-address-selector (address)
   "Retrieve gopher selector from ADDRESS object."
@@ -516,6 +514,7 @@ unless NO-HISTORY is non-nil."
 
 (defmacro elpher-with-clean-buffer (&rest args)
   "Evaluate ARGS with a clean *elpher* buffer as current."
+  (declare (debug (body)))
   (list 'with-current-buffer "*elpher*"
         '(elpher-mode)
         (append (list 'let '((inhibit-read-only t))
@@ -1372,9 +1371,11 @@ by HEADER-LINE."
                    (2 'elpher-gemini-heading2)
                    (3 'elpher-gemini-heading3)
                    (_ 'default)))
-          (fill-column (/ (* fill-column
-                             (font-get (font-spec :name (face-font 'default)) :size))
-                          (font-get (font-spec :name (face-font face)) :size))))
+          (fill-column (if (display-graphic-p)
+                            (/ (* fill-column
+                                  (font-get (font-spec :name (face-font 'default)) :size))
+                               (font-get (font-spec :name (face-font face)) :size))
+                          fill-column)))
       (unless (display-graphic-p)
         (insert (make-string level ?#) " "))
       (insert (propertize header 'face face))