X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=3c8db4a8925798a778d55befc127797eea937091;hp=6b9e0d29726e762d5f6e64e3092059f108d14819;hb=8c6839a51a399ccb45fd2c9d7387bf324eb38a67;hpb=4d710f13c449a0312cdcf9329c736a3c5bf41f3e diff --git a/elpher.el b/elpher.el index 6b9e0d2..3c8db4a 100644 --- a/elpher.el +++ b/elpher.el @@ -4,7 +4,7 @@ ;; Author: Tim Vaughan ;; Created: 11 April 2019 -;; Version: 2.7.7 +;; Version: 2.7.8 ;; Keywords: comm gopher ;; Homepage: http://thelambdalab.xyz/elpher ;; Package-Requires: ((emacs "26")) @@ -70,7 +70,7 @@ ;;; Global constants ;; -(defconst elpher-version "2.7.7" +(defconst elpher-version "2.7.8" "Current version of elpher.") (defconst elpher-margin-width 6 @@ -358,7 +358,7 @@ If no address is defined, returns 0. (This is for compatibility with the URL li "Retrieve gopher selector from ADDRESS object." (if (member (url-filename address) '("" "/")) "" - (substring (url-filename address) 2))) + (url-unhex-string (substring (url-filename address) 2)))) ;; Cache @@ -1151,11 +1151,8 @@ by HEADER-LINE." This function uses Emacs' auto-fill to wrap text sensibly to a maximum width defined by elpher-gemini-max-fill-width." (insert (elpher-process-text-for-display text-line)) - (let* ((prefix-end-idx (string-match "[^ \t*]" text-line)) - (fill-prefix (if prefix-end-idx - (let ((raw-prefix (substring text-line 0 prefix-end-idx))) - (replace-regexp-in-string "\*" " " raw-prefix)) - nil))) + (let* ((prefix-end-idx (string-match "^[ \t]*\\(\*+[ \t]\\)?" text-line)) + (fill-prefix (replace-regexp-in-string "\*" " " (match-string 0 text-line)))) (newline))) (defun elpher-render-gemini-map (data _parameters) @@ -1791,6 +1788,7 @@ functions which initialize the gopher client, namely (switch-to-buffer "*elpher*") (switch-to-buffer "*elpher*") (setq elpher-current-page nil) + (setq elpher-history nil) (let ((start-page (elpher-make-page "Elpher Start Page" (elpher-make-special-address 'start)))) (elpher-visit-page start-page)))