emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 63cdbd986b: ; Really respect browse-url var in erc-compat


From: F. Jason Park
Subject: emacs-29 63cdbd986b: ; Really respect browse-url var in erc-compat
Date: Mon, 19 Dec 2022 09:01:26 -0500 (EST)

branch: emacs-29
commit 63cdbd986bb8f841717e2d813df6f75b6b02cf8b
Author: F. Jason Park <jp@neverwas.me>
Commit: F. Jason Park <jp@neverwas.me>

    ; Really respect browse-url var in erc-compat
    
    * lisp/erc/erc-compat.el: Do what was supposed to be done by
    75f26646d4a569cfb485de4baddcda66ff44b2c3 "; Be nicer when updating
    browse-url var in erc-compat".  This is the less harmful version of
    that patch (from bug#59976#8) but without the cl-lib requirement since
    users may not want to load the main ERC library right away.
    * lisp/erc/erc.el: Clarify some comments regarding the core API.
---
 lisp/erc/erc-compat.el | 10 +++++-----
 lisp/erc/erc.el        | 12 ++++++------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el
index 77625398ab..fdcb146d42 100644
--- a/lisp/erc/erc-compat.el
+++ b/lisp/erc/erc-compat.el
@@ -391,11 +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
-       (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))
+       (add-to-list 'browse-url-default-handlers
+                    '("\\`irc6?s?://" . erc-compat--29-browse-url-irc)
+                    nil (lambda (_ a)
+                          (and (stringp (car-safe a))
+                               (string-match-p (car a) "irc://localhost")))))
       ((boundp 'browse-url-browser-function) ; 27
        (require 'browse-url)
        (let ((existing browse-url-browser-function))
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 6cfc39c4bd..6a5e001896 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1765,8 +1765,7 @@ all channel buffers on all servers."
 ;; to, it was never realized.
 ;;
 ;; New library code should use the `erc--target' struct instead.
-;; Third-party code can continue to use this until a getter for
-;; `erc--target' (or whatever replaces it) is exported.
+;; Third-party code can continue to use this and `erc-default-target'.
 (defvar-local erc-default-recipients nil
   "List of default recipients of the current buffer.")
 
@@ -6012,13 +6011,14 @@ See also `erc-downcase'."
 ;; While `erc-default-target' happens to return nil in channel buffers
 ;; you've parted or from which you've been kicked, using it to detect
 ;; whether a channel is currently joined may become unreliable in the
-;; future.  For now, new code should consider using
+;; future.  For now, third-party code can use
 ;;
 ;;   (erc-get-channel-user (erc-current-nick))
 ;;
-;; and expect a nicer option eventually.  For retrieving a target
-;; regardless of subscription or connection status, use replacements
-;; based on `erc--target' instead.  See also `erc--default-target'.
+;; A predicate may be provided eventually.  For retrieving a target's
+;; name regardless of subscription or connection status, new library
+;; code should use `erc--default-target'.  Third-party code should
+;; continue to use `erc-default-target'.
 
 (defun erc-default-target ()
   "Return the current default target (as a character string) or nil if none."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]