From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Tue, 17 Aug 2021 01:50:29 -0700 Subject: [PATCH 09/35] 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): 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. At the moment, this function always returns the empty string 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): This is called throughout erc.el but was previously cumbersome to use on account of being guarded by `fboundp'. It now relies on the fact that its namesake variable is set in target buffers as well. --- lisp/erc/erc-networks.el | 2 +- lisp/erc/erc.el | 14 ++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el index 553697ae84..58223f37cf 100644 --- a/lisp/erc/erc-networks.el +++ b/lisp/erc/erc-networks.el @@ -753,7 +753,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 16252a181d..45a01bcbf4 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -2388,8 +2388,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*. @@ -2403,9 +2401,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 @@ -2808,7 +2804,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)))) @@ -6528,10 +6524,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. @@ -7085,5 +7078,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.36.1