From dbe26df4d459201e3d9f0190b124f7d5a6cefabb Mon Sep 17 00:00:00 2001
From: Case Duckworth
Date: Wed, 16 Feb 2022 23:19:11 -0600
Subject: Uh

---
 lisp/+browse-url.el | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/lisp/+browse-url.el b/lisp/+browse-url.el
index dee1466..68fb7b0 100644
--- a/lisp/+browse-url.el
+++ b/lisp/+browse-url.el
@@ -11,15 +11,18 @@
 
 ;;; URL Handlers
 
-(defun +browse-url-set-handlers (handlers)
-  "Set handlers for `browse-url'.
+(defun +browse-url-set-handlers (&optional handlers)
+  "Set HANDLERS for `browse-url'.
 Set `browse-url-handlers', if they exist; else
 `browse-url-browser-function'.  The reason for this switch is
-that the latter is deprecated in Emacs 28+."
-  (set-default (if (boundp 'browse-url-handlers)
-                   'browse-url-handlers
-                 'browse-url-browser-function)
-               handlers))
+that the latter is deprecated in Emacs 28+.
+
+If HANDLERS is absent or nil, recompute handlers.  This can be
+useful when changing the default browser."
+  (let ((h (if (boundp 'browse-url-handlers)
+               'browse-url-handlers
+             'browse-url-browser-function)))
+    (set-default h (or handlers (symbol-value h)))))
 
 (cl-defmacro +browse-url-make-external-viewer-handler
     (viewer default-args &optional (prompt "URL: ")
-- 
cgit 1.4.1-21-gabe81