X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=8a420e16309678369ff3d138d3e330234597698c;hp=27a0295ad01a79d8cc1dee129c319403868689de;hb=dbc47ac2e135a0220ebe2f208f37843d89881f7c;hpb=70aa33aa021a46a8337348de253b83aa6a11c71c diff --git a/elpher.el b/elpher.el index 27a0295..8a420e1 100644 --- a/elpher.el +++ b/elpher.el @@ -21,8 +21,8 @@ ;; Created: 11 April 2019 ;; Version: 2.11.0 ;; Keywords: comm gopher -;; Homepage: http://thelambdalab.xyz/elpher -;; Package-Requires: ((emacs "26.2")) +;; Homepage: https://alexschroeder.ch/cgit/elpher +;; Package-Requires: ((emacs "27.1")) ;; This file is not part of GNU Emacs. @@ -1779,6 +1779,11 @@ If ADDRESS is already bookmarked, update the label only." ;;; Integrations ;; +;; Avoid byte compilation warnings. +(eval-when-compile + (declare-function org-link-store-props "ol") + (declare-function org-link-set-parameters "ol")) + (defun elpher-org-link-store () "Store link to an `elpher' page in `org'." (when (eq major-mode 'elpher-mode) @@ -1799,14 +1804,10 @@ If ADDRESS is already bookmarked, update the label only." (string-match-p "^finger://.+" link)) (elpher-go (string-remove-prefix "elpher:" link)))) -(with-eval-after-load "org" - ;; Use `org-link-set-parameters' if defined (org-mode 9+) - (if (fboundp 'org-link-set-parameters) - (org-link-set-parameters "elpher" - :store #'elpher-org-link-store - :follow #'elpher-org-link-follow) - (org-add-link-type "mu4e" 'elpher-org-link-follow) - (add-hook 'org-store-link-functions 'elpher-org-link-store))) +(with-eval-after-load 'org + (org-link-set-parameters "elpher" + :store #'elpher-org-link-store + :follow #'elpher-org-link-follow)) ;;;###autoload (defun elpher-browse-url-elpher (url &rest _args) @@ -1814,14 +1815,26 @@ If ADDRESS is already bookmarked, update the label only." (interactive (browse-url-interactive-arg "Elpher URL: ")) (elpher-go url)) -(add-to-list - 'browse-url-default-handlers - '("^\\(gopher\\|finger\\|gemini\\)://" . elpher-browse-url-elpher)) +;; Use elpher to open gopher, finger and gemini links +(with-eval-after-load 'browse-url + (add-to-list + 'browse-url-default-handlers + '("^\\(gopher\\|finger\\|gemini\\)://" . elpher-browse-url-elpher))) + +;; Avoid byte compilation warnings. +(eval-when-compile + (defvar thing-at-point-uri-schemes) + (defvar mu4e~view-beginning-of-url-regexp)) ;; Register "gemini://" as a URI scheme so `browse-url' does the right thing (with-eval-after-load 'thingatpt (add-to-list 'thing-at-point-uri-schemes "gemini://")) +(with-eval-after-load 'mu4e-view + ;; Make mu4e aware of the gemini world + (setq mu4e~view-beginning-of-url-regexp + "\\(?:https?\\|gopher\\|finger\\|gemini\\)://\\|mailto:")) + ;;; Interactive procedures ;;