diff options
author | F. Jason Park <jp@neverwas.me> | 2021-08-17 01:50:29 -0700 |
---|---|---|
committer | F. Jason Park <jp@neverwas.me> | 2022-06-30 15:03:26 -0700 |
commit | 485b84cb7c4c61b434273fc25be0a25b84fca31d (patch) | |
tree | 71c916d657a053759f1fcf2433c648b4ea8d3e79 /lisp/erc | |
parent | de53d18a4d81e8b49d1dfecaf5481382a0ad8d08 (diff) | |
download | emacs-485b84cb7c4c61b434273fc25be0a25b84fca31d.tar.gz emacs-485b84cb7c4c61b434273fc25be0a25b84fca31d.tar.bz2 emacs-485b84cb7c4c61b434273fc25be0a25b84fca31d.zip |
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.
Diffstat (limited to 'lisp/erc')
-rw-r--r-- | lisp/erc/erc-networks.el | 2 | ||||
-rw-r--r-- | 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 553697ae847..58223f37cf7 100644 --- a/lisp/erc/erc-networks.el +++ b/lisp/erc/erc-networks.el @@ -753,7 +753,7 @@ server name and search for a match in `erc-networks-alist'." (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 7f102dcefb1..a23ff5e0593 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -2388,8 +2388,6 @@ but you won't see it. 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 @@ contain CRLF endings. Peer is identified by the most precise label available at run time, starting with the network name, followed by the announced host name, and falling back to the dialed <server>:<port>." (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 @@ returns non-nil." (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 @@ This should be a string with substitution variables recognized by (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 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL." ;; 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 |