;;; Global constants
;;
-(defconst elpher-version "2.10.2"
+(defconst elpher-version "2.11.0"
"Current version of elpher.")
(defconst elpher-margin-width 6
;;
;; buffer-local
-(defvar elpher--gemini-page-headings '()
- "Interval variable containing list of headings on page.")
+(defvar elpher--gemini-page-headings nil
+ "List of headings on the page.")
-(defvar elpher--gemini-page-links '()
- "Internal variable containing list of links on page.")
+(defvar elpher--gemini-page-links nil
+ "List of links on the page.")
(defvar elpher--gemini-page-links-cache (make-hash-table :test 'equal)
- "Internal variable containing hash of addresses and page links.")
+ "Hash of addresses and page links.")
;;; Customization group
;;
:type '(file))
(defcustom elpher-default-url-type "gopher"
- "Default URL type (i.e. schema) to assume if not explicitly given."
+ "Default URL type (i.e. scheme) to assume if not explicitly given."
:type '(choice (const "gopher")
(const "gemini")))
"Alternatively, select a search engine and enter some search terms:\n")
(elpher-insert-index-record "Gopher Search Engine (Veronica-2)"
(elpher-make-gopher-address ?7 "/v2/vs" "gopher.floodgap.com" 70))
- (elpher-insert-index-record "Gemini Search Engine (GUS)"
- (elpher-address-from-url "gemini://gus.guru/search"))
+ (elpher-insert-index-record "Gemini Search Engine (geminispace.info)"
+ (elpher-address-from-url "gemini://geminispace.info/search"))
(insert "\n"
"This page contains your bookmarked sites (also visit with B):\n")
(elpher-insert-index-record "Your Bookmarks" 'bookmarks)
;; Use elpher to open gopher, finger and gemini links
(when (boundp 'browse-url-default-handlers)
(add-to-list 'browse-url-default-handlers
- '("^\\(gopher\\|finger\\|gemini\\)://" . browse-url-elpher)))
+ '("^\\(gopher\\|finger\\|gemini\\)://" . browse-url-elpher))))
+
+(with-eval-after-load "thingatpt"
;; Register "gemini://" as a URI scheme so `browse-url' does the right thing
(add-to-list 'thing-at-point-uri-schemes "gemini://"))
"Go to a particular site read from the minibuffer, initialized with the current URL."
(interactive)
(let ((address (elpher-page-address elpher-current-page)))
- (if (elpher-address-special-p address)
- (error "Command invalid for this page")
- (let ((url (read-string "Gopher or Gemini URL: " (elpher-address-to-url address))))
- (elpher-visit-page (elpher-make-page url (elpher-address-from-url url)))))))
+ (let ((url (read-string "Gopher or Gemini URL: "
+ (unless (elpher-address-special-p address)
+ (elpher-address-to-url address)))))
+ (elpher-visit-page (elpher-make-page url (elpher-address-from-url url))))))
(defun elpher-visit-gemini-numbered-link (n)
"Visit link designated by a number."