Function: erc--querypoll-subscribe

erc--querypoll-subscribe is a byte-compiled function defined in erc-notify.el.gz.

Signature

(erc--querypoll-subscribe QUERY-BUFFER &optional PENALTY)

Documentation

Add QUERY-BUFFER to FIFO and ensure timer is running.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-notify.el.gz
(defun erc--querypoll-subscribe (query-buffer &optional penalty)
  "Add QUERY-BUFFER to FIFO and ensure timer is running."
  (when query-buffer
    (cl-assert (erc-query-buffer-p query-buffer)))
  (erc-with-server-buffer
    (when (and query-buffer
               (not (with-current-buffer query-buffer
                      (or (erc-current-nick-p (erc-target))
                          (string-match erc-querypoll-exclude-regexp
                                        (erc-target)))))
               (not (ring-member erc--querypoll-ring query-buffer)))
      (ring-insert+extend erc--querypoll-ring query-buffer))
    (unless erc--querypoll-timer
      (setq erc--querypoll-timer
            (let* ((length (erc--querypoll-get-length erc--querypoll-ring))
                   (period (erc--querypoll-compute-period length)))
              (run-at-time (+ (or penalty 0) period)
                           nil #'erc--querypoll-send (current-buffer)))))))