]> git.eshelyaron.com Git - emacs.git/commitdiff
; Be nicer when updating browse-url var in erc-compat
authorF. Jason Park <jp@neverwas.me>
Mon, 12 Dec 2022 03:16:07 +0000 (19:16 -0800)
committerF. Jason Park <jp@neverwas.me>
Wed, 14 Dec 2022 14:40:55 +0000 (06:40 -0800)
* lisp/erc/erc-compat.el: Be more cautious about modifying
`browse-url-default-handlers' when loading erc-compat on Emacs 28.  A
user may have already added an entry for irc:// URLs before loading
`erc-compat'.

lisp/erc/erc-compat.el

index bd9325475860b9fcd832cec070769ce85115f666..77625398abda6e913a46ed7ec36951c013b4be53 100644 (file)
@@ -391,8 +391,11 @@ If START or END is negative, it counts from the end."
 
 (cond ((fboundp 'browse-url-irc)) ; 29
       ((boundp 'browse-url-default-handlers) ; 28
-       (cl-pushnew '("\\`irc6?s?://" . erc-compat--29-browse-url-irc)
-                   browse-url-default-handlers))
+       (setf (alist-get "\\`irc6?s?://" browse-url-default-handlers
+                        nil nil (lambda (a _)
+                                  (and (stringp a)
+                                       (string-match-p a "irc://localhost"))))
+             #'erc-compat--29-browse-url-irc))
       ((boundp 'browse-url-browser-function) ; 27
        (require 'browse-url)
        (let ((existing browse-url-browser-function))