]> git.eshelyaron.com Git - emacs.git/commitdiff
; Really respect 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>
Mon, 19 Dec 2022 13:49:08 +0000 (05:49 -0800)
* 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
lisp/erc/erc.el

index 77625398abda6e913a46ed7ec36951c013b4be53..fdcb146d42a656c2e4dfaed2b687abe10064d486 100644 (file)
@@ -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))
index 6cfc39c4bdaf0b9b005f6e02f999438ef89b2d3b..6a5e001896485013820f89283d0e1d9d426fd19d 100644 (file)
@@ -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."