Function: erc--cusr-change-status

erc--cusr-change-status is a byte-compiled function defined in erc.el.gz.

Signature

(erc--cusr-change-status NICK-OR-CUSR LETTER ENABLEP &optional RESETP)

Documentation

Add or remove membership status associated with LETTER for NICK-OR-CUSR.

With RESETP, clear the user's status info completely. If ENABLEP is non-nil, add the status value associated with LETTER.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
(defun erc--cusr-change-status (nick-or-cusr letter enablep &optional resetp)
  "Add or remove membership status associated with LETTER for NICK-OR-CUSR.
With RESETP, clear the user's status info completely.  If ENABLEP
is non-nil, add the status value associated with LETTER."
  (when-let* ((cusr (or (and (erc-channel-user-p nick-or-cusr) nick-or-cusr)
                        (cdr (erc-get-channel-member nick-or-cusr))))
              (n (erc--get-prefix-flag letter)))
    (cl-callf (lambda (v)
                (if resetp
                    (if enablep n 0)
                  (if enablep (logior v n) (logand v (lognot n)))))
        (erc-channel-user-status cusr))))