diff options
author | F. Jason Park <jp@neverwas.me> | 2022-09-18 01:49:23 -0700 |
---|---|---|
committer | Amin Bandali <bandali@gnu.org> | 2022-11-23 20:11:55 -0500 |
commit | ae254a65cd6c0292865c449d639140f5d149f68e (patch) | |
tree | 782639c1dced80cec5a4c919dd6c4d9c880929e7 /lisp/erc/erc-backend.el | |
parent | 4c4936fab2ecd97ff6e03e5cfe12def4626c718b (diff) | |
download | emacs-ae254a65cd6c0292865c449d639140f5d149f68e.tar.gz emacs-ae254a65cd6c0292865c449d639140f5d149f68e.tar.bz2 emacs-ae254a65cd6c0292865c449d639140f5d149f68e.zip |
Call erc-login indirectly via new generic wrapper
* lisp/erc/erc-backend (erc--register-connection): Add new internal
generic function that defers to `erc-login' by default.
(erc-process-sentinel, erc-server-connect): Call
`erc--register-connection' instead of `erc-login'.
Diffstat (limited to 'lisp/erc/erc-backend.el')
-rw-r--r-- | lisp/erc/erc-backend.el | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index 30b53dfd8ed..973616bc37e 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el @@ -643,6 +643,10 @@ The current buffer is given by BUFFER." (let ((p (plist-put parameters :nowait t))) (apply #'open-network-stream name buffer host service p))) +(cl-defmethod erc--register-connection () + "Perform opening IRC protocol exchange with server." + (erc-login)) + (defvar erc--server-connect-dumb-ipv6-regexp ;; Not for validation (gives false positives). (rx bot "[" (group (+ (any xdigit digit ":.")) (? "%" (+ alnum))) "]" eot)) @@ -697,7 +701,7 @@ TLS (see `erc-session-client-certificate' for more details)." ;; waiting for a non-blocking connect - keep the user informed (erc-display-message nil nil buffer "Opening connection..\n") (message "%s...done" msg) - (erc-login)) )) + (erc--register-connection)))) (defun erc-server-reconnect () "Reestablish the current IRC connection. @@ -897,7 +901,7 @@ Conditionally try to reconnect and take appropriate action." cproc (process-status cproc) event erc-server-quitting)) (if (string-match "^open" event) ;; newly opened connection (no wait) - (erc-login) + (erc--register-connection) ;; assume event is 'failed (erc-with-all-buffers-of-server cproc nil (setq erc-server-connected nil)) |