Function: erc--compute-cusr-fallback-status
erc--compute-cusr-fallback-status is a byte-compiled function defined
in erc.el.gz.
Signature
(erc--compute-cusr-fallback-status CURRENT V H O A Q)
Documentation
Return current channel membership after toggling V H O A Q as requested.
Assume erc--parsed-prefix(var)/erc--parsed-prefix(fun) is non-nil in the current buffer.
Expect status switches V, H, O, A, Q, when non-nil, to be the
symbol on or off. Return an internal numeric value suitable
for the status slot of an erc-channel-user object.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
(defun erc--compute-cusr-fallback-status (current v h o a q)
"Return current channel membership after toggling V H O A Q as requested.
Assume `erc--parsed-prefix' is non-nil in the current buffer.
Expect status switches V, H, O, A, Q, when non-nil, to be the
symbol `on' or `off'. Return an internal numeric value suitable
for the `status' slot of an `erc-channel-user' object."
(let (on off)
(when v (push (or (erc--get-prefix-flag ?v) 0) (if (eq v 'on) on off)))
(when h (push (or (erc--get-prefix-flag ?h) 0) (if (eq h 'on) on off)))
(when o (push (or (erc--get-prefix-flag ?o) 0) (if (eq o 'on) on off)))
(when a (push (or (erc--get-prefix-flag ?a) 0) (if (eq a 'on) on off)))
(when q (push (or (erc--get-prefix-flag ?q) 0) (if (eq q 'on) on off)))
(when on (setq current (apply #'logior current on)))
(when off (setq current (apply #'logand current (mapcar #'lognot off)))))
current)