Change browse-url advice for older releases
authorAlex Schroeder <alex@gnu.org>
Fri, 2 Jul 2021 07:31:33 +0000 (09:31 +0200)
committerAlex Schroeder <alex@gnu.org>
Fri, 2 Jul 2021 07:35:37 +0000 (09:35 +0200)
package does not offer browse-url-default-handlers, but if you set
The code used to advise browse-url-default-browser if your browse-url
browse-url-browser-function to something else, like eww-browse-url,
then that advice did not apply. The code now advises the function set
in the browse-url-browser-function variable, meaning that it should
advise the right function.

Also added a small doc string to the lambda used as advice.

elpher.el

index 75c9a7b..f94b33f 100644 (file)
--- 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