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)