Function: gnus-agent-crosspost

gnus-agent-crosspost is a byte-compiled function defined in gnus-agent.el.gz.

Signature

(gnus-agent-crosspost CROSSES ARTICLE &optional DATE)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-agent.el.gz
(defun gnus-agent-crosspost (crosses article &optional date)
  (setq date (or date t))

  (let (gnus-agent-article-alist group alist beg end)
    (with-current-buffer gnus-agent-overview-buffer
      (when (nnheader-find-nov-line article)
	(forward-word 1)
	(setq beg (point))
	(setq end (progn (forward-line 1) (point)))))
    (while crosses
      (setq group (caar crosses))
      (unless (setq alist (assoc group gnus-agent-group-alist))
	(push (setq alist (list group (gnus-agent-load-alist (caar crosses))))
	      gnus-agent-group-alist))
      (setcdr alist (cons (cons (cdar crosses) date) (cdr alist)))
      (with-current-buffer (gnus-get-buffer-create
			    (format " *Gnus agent overview %s*"group))
	(when (= (point-max) (point-min))
	  (push (cons group (current-buffer)) gnus-agent-buffer-alist)
	  (ignore-errors
	   (let ((file-name-coding-system nnmail-pathname-coding-system))
	     (nnheader-insert-file-contents
	      (gnus-agent-article-name ".overview" group)))))
	(nnheader-find-nov-line (string-to-number (cdar crosses)))
	(insert (string-to-number (cdar crosses)))
	(insert-buffer-substring gnus-agent-overview-buffer beg end)
        (gnus-agent-check-overview-buffer))
      (setq crosses (cdr crosses)))))