>From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Tue, 17 Aug 2021 01:50:29 -0700 Subject: [PATCH 04/29] Require erc-networks in erc.el * lisp/erc/erc.el: Require erc-networks.el, which ERC can't run without these days. To sidestep the circular dependency, require it last, just after erc-goodies. Remove the `declare-function' for `erc-network-name' because it's not currently needed at load time. (erc-log-irc-protocol, erc-hide-current-message-p, erc-handle-irc-url): Remove `fboundp' guard logic from `erc-network-name' invocations but preserve meaning by interpreting `erc-network' being unset to mean module isn't loaded or authoritative network detection has failed. (erc-format-network): Likewise here because, ATM, this function always returns "" because the function `erc-network-name' always returns non-nil, perhaps from the fallback/failure sentinel "Unknown", perhaps from the printed form of nil. * lisp/erc/erc-networks.el (erc-network): Don't autoload `erc-determine-network', which only runs once per session and for which third-party code has no valid use. OTOH, the function `erc-network' is used throughout erc.el but was previously cumbersome due to being guarded by fboundp. --- lisp/erc/erc-networks.el | 3 +-- lisp/erc/erc.el | 14 ++++---------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el index 553697ae84..06ba3165a4 100644 --- a/lisp/erc/erc-networks.el +++ b/lisp/erc/erc-networks.el @@ -733,7 +733,6 @@ erc-network ;; Functions: -;;;###autoload (defun erc-determine-network () "Return the name of the network or \"Unknown\" as a symbol. Use the server parameter NETWORK if provided, otherwise parse the @@ -753,7 +752,7 @@ erc-determine-network (defun erc-network () "Return the value of `erc-network' for the current server." - (erc-with-server-buffer erc-network)) + (or erc-network (erc-with-server-buffer erc-network))) (defun erc-network-name () "Return the name of the current network as a string." diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index d0e2b770c0..b37d675349 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -2351,8 +2351,6 @@ erc-debug-irc-protocol WARNING: Do not set this variable directly! Instead, use the function `erc-toggle-debug-irc-protocol' to toggle its value.") -(declare-function erc-network-name "erc-networks" ()) - (defun erc-log-irc-protocol (string &optional outbound) "Append STRING to the buffer *erc-protocol*. @@ -2366,9 +2364,7 @@ erc-log-irc-protocol available at run time, starting with the network name, followed by the announced host name, and falling back to the dialed :." (when erc-debug-irc-protocol - (let ((esid (or (and (fboundp 'erc-network) - (erc-network) - (erc-network-name)) + (let ((esid (or (and (erc-network) (erc-network-name)) erc-server-announced-name (format "%s:%s" erc-session-server erc-session-port))) (ts (when erc-debug-irc-protocol-time-format @@ -2771,7 +2767,7 @@ erc-hide-current-message-p (let* ((command (erc-response.command parsed)) (sender (car (erc-parse-user (erc-response.sender parsed)))) (channel (car (erc-response.command-args parsed))) - (network (or (and (fboundp 'erc-network-name) (erc-network-name)) + (network (or (and (erc-network) (erc-network-name)) (erc-shorten-server-name (or erc-server-announced-name erc-session-server)))) @@ -6505,10 +6501,7 @@ erc-format-target-and/or-server (defun erc-format-network () "Return the name of the network we are currently on." - (let ((network (and (fboundp 'erc-network-name) (erc-network-name)))) - (if (and network (symbolp network)) - (symbol-name network) - ""))) + (erc-network-name)) (defun erc-format-target-and/or-network () "Return the network or the current target and network combined. @@ -7059,5 +7052,6 @@ erc-handle-irc-url ;; IMPORTANT: This require must appear _after_ the above (provide 'erc) to ;; avoid a recursive require error when byte-compiling the entire package. (require 'erc-goodies) +(require 'erc-networks) ;;; erc.el ends here -- 2.35.1