Function: gnus-registry-action

gnus-registry-action is a byte-compiled function defined in gnus-registry.el.gz.

Signature

(gnus-registry-action ACTION DATA-HEADER FROM &optional TO METHOD)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-registry.el.gz
;; article move/copy/spool/delete actions
(defun gnus-registry-action (action data-header from &optional to method)
  (let* ((id (mail-header-id data-header))
         (subject (mail-header-subject data-header))
         (extra (mail-header-extra data-header))
         (recipients (gnus-registry-sort-addresses
                      (or (cdr-safe (assq 'Cc extra)) "")
                      (or (cdr-safe (assq 'To extra)) "")))
         (sender (nth 0 (gnus-registry-extract-addresses
                         (mail-header-from data-header))))
         (from (gnus-group-guess-full-name-from-command-method
                (if (gnus-nnselect-group-p from)
                    (nnselect-article-group (mail-header-number data-header))
                  from)))
         (to (if to (gnus-group-guess-full-name-from-command-method to) nil)))
    (gnus-message 7 "Gnus registry: article %s %s from %s to %s"
                  id (if method "respooling" "going") from to)

    (gnus-registry-handle-action
     id
     ;; unless copying, remove the old "from" group
     (if (not (equal 'copy action)) from nil)
     to subject sender recipients)))