Function: erc--route-insertion

erc--route-insertion is a byte-compiled function defined in erc.el.gz.

Signature

(erc--route-insertion STRING BUFFER)

Documentation

Insert STRING in BUFFER.

See erc-display-message for acceptable BUFFER types.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
(defun erc--route-insertion (string buffer)
  "Insert STRING in BUFFER.
See `erc-display-message' for acceptable BUFFER types."
  (let (seen msg-props)
    (dolist (buf (cond
                  ((bufferp buffer) (list buffer))
                  ((consp buffer)
                   (setq msg-props erc--msg-props)
                   buffer)
                  ((processp buffer) (list (process-buffer buffer)))
                  ((eq 'all buffer)
                   ;; Hmm, or all of the same session server?
                   (erc-buffer-list nil erc-server-process))
                  ((and-let* (((eq 'active buffer))
                              (b (erc-active-buffer)))
                        (list b)))
                  ((erc-server-buffer-live-p)
                   (list (process-buffer erc-server-process)))
                  (t (list (current-buffer)))))
      (when (buffer-live-p buf)
        (when msg-props
          (setq erc--msg-props (copy-hash-table msg-props)))
        (erc-insert-line string buf)
        (setq seen t)))
    (unless (or seen (null buffer))
      (erc--route-insertion string nil))))