Function: rcirc-handler-CAP
rcirc-handler-CAP is a byte-compiled function defined in rcirc.el.gz.
Signature
(rcirc-handler-CAP PROCESS SENDER ARGS TEXT)
Documentation
Handle capability negotiation messages.
ARGS should have the form (USER SUBCOMMAND . ARGUMENTS). PROCESS is the process object for the current connection.
Source Code
;; Defined in /usr/src/emacs/lisp/net/rcirc.el.gz
(defun rcirc-handler-CAP (process _sender args _text)
"Handle capability negotiation messages.
ARGS should have the form (USER SUBCOMMAND . ARGUMENTS). PROCESS
is the process object for the current connection."
(with-rcirc-process-buffer process
(let ((subcmd (cadr args)))
(dolist (cap (cddr args))
(cond ((string= subcmd "ACK")
(push (intern (downcase cap)) rcirc-acked-capabilities)
(setq rcirc-requested-capabilities
(delete cap rcirc-requested-capabilities)))
((string= subcmd "NAK")
(setq rcirc-requested-capabilities
(delete cap rcirc-requested-capabilities))))))
(when (and (null rcirc-requested-capabilities) rcirc-finished-sasl)
;; All requested capabilities have been responded to
(rcirc-send-string process "CAP" "END"))))