X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=f94b33f22c3b42cf6d3540da8a20ce60a2752872;hp=75c9a7b8f811c852c1d7a7620f169ae49d94e7f8;hb=e3fca3512d458c4a78ef9b3d87b66e952f2b5f94;hpb=f0e773b1f4a8cf25393d6e64bc6183d379f4eca6 diff --git a/elpher.el b/elpher.el index 75c9a7b..f94b33f 100644 --- a/elpher.el +++ b/elpher.el @@ -1875,9 +1875,12 @@ supports the old protocol elpher, where the 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