; Be nicer when updating browse-url var in erc-compat

* 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'.
This commit is contained in:
F. Jason Park 2022-12-11 19:16:07 -08:00
parent 0155fc67be
commit 75f26646d4

View 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))