X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=f94b33f22c3b42cf6d3540da8a20ce60a2752872;hp=90f76724b46771589b7c0a0eb4ac2f0abd3f47b3;hb=e3fca3512d458c4a78ef9b3d87b66e952f2b5f94;hpb=7a1b1e2c9e9cc877b4378fddb94bed48d9955c4b diff --git a/elpher.el b/elpher.el index 90f7672..f94b33f 100644 --- a/elpher.el +++ b/elpher.el @@ -156,7 +156,7 @@ (defcustom elpher-open-urls-with-eww nil "If non-nil, open URL selectors using eww. -Otherwise, use the system browser via the BROWSE-URL function." +Otherwise, use the system browser via the `browse-url' function." :type '(boolean)) (defcustom elpher-use-header t @@ -1827,8 +1827,8 @@ of gemini, gopher or finger." (defun elpher-org-follow-link (link protocol) "Visit a LINK for the given PROTOCOL. -PROTOCOL may be one of gemini, gopher or finger. This method also support old -paramter elpher, where link is self-contained." +PROTOCOL may be one of gemini, gopher or finger. This method also +supports the old protocol elpher, where the link is self-contained." (let ((url (if (equal protocol "elpher") (string-remove-prefix "elpher:" link) (format "%s:%s" protocol link)))) @@ -1875,9 +1875,12 @@ paramter elpher, where link is self-contained." (add-to-list 'browse-url-default-handlers '("^\\(gopher\\|finger\\|gemini\\)://" . elpher-browse-url-elpher)) - ;; Patch browse-url-default-browser for older ones - (advice-add 'browse-url-default-browser :before-while + ;; Patch `browse-url-browser-function' for older ones. The value of + ;; that variable is `browse-url-default-browser' by default, so + ;; that's the function that gets advised. + (advice-add browse-url-browser-function :before-while (lambda (url &rest _args) + "Handle gemini, gopher, and finger schemes using Elpher." (let ((scheme (downcase (car (split-string url ":" t))))) (if (member scheme '("gemini" "gopher" "finger")) ;; `elpher-go' always returns nil, which will stop the