; 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 (cond ((fboundp 'browse-url-irc)) ; 29
((boundp 'browse-url-default-handlers) ; 28 ((boundp 'browse-url-default-handlers) ; 28
(cl-pushnew '("\\`irc6?s?://" . erc-compat--29-browse-url-irc) (setf (alist-get "\\`irc6?s?://" browse-url-default-handlers
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 ((boundp 'browse-url-browser-function) ; 27
(require 'browse-url) (require 'browse-url)
(let ((existing browse-url-browser-function)) (let ((existing browse-url-browser-function))