summaryrefslogtreecommitdiff
path: root/lisp/erc
diff options
context:
space:
mode:
authorF. Jason Park <jp@neverwas.me>2021-08-17 01:50:29 -0700
committerF. Jason Park <jp@neverwas.me>2022-06-30 15:03:26 -0700
commit485b84cb7c4c61b434273fc25be0a25b84fca31d (patch)
tree71c916d657a053759f1fcf2433c648b4ea8d3e79 /lisp/erc
parentde53d18a4d81e8b49d1dfecaf5481382a0ad8d08 (diff)
downloademacs-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.el2
-rw-r--r--lisp/erc/erc.el14
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