>From d7887fb9059ecd36d7209a98af2f4ff649e8642b Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Sun, 11 Dec 2022 19:16:07 -0800 Subject: [PATCH 1/3] ; Be carefuller 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'. --- lisp/erc/erc-compat.el | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el index bd93254758..884abaf824 100644 --- a/lisp/erc/erc-compat.el +++ b/lisp/erc/erc-compat.el @@ -389,10 +389,17 @@ erc-compat--29-browse-url-irc url-irc-function))) (url-irc url))) +(declare-function cl-adjoin "cl-lib" (arg1 arg2 &rest rest)) + (cond ((fboundp 'browse-url-irc)) ; 29 ((boundp 'browse-url-default-handlers) ; 28 + (require 'cl-lib) (cl-pushnew '("\\`irc6?s?://" . erc-compat--29-browse-url-irc) - browse-url-default-handlers)) + browse-url-default-handlers + :key #'car + :test (lambda (_ b) + (and (stringp b) + (string-match-p b "irc://localhost"))))) ((boundp 'browse-url-browser-function) ; 27 (require 'browse-url) (let ((existing browse-url-browser-function)) -- 2.38.1