Function: gnus-registry-set-article-mark-internal

gnus-registry-set-article-mark-internal is a byte-compiled function defined in gnus-registry.el.gz.

Signature

(gnus-registry-set-article-mark-internal MARK ARTICLES &optional REMOVE SHOW-MESSAGE)

Documentation

Apply or remove MARK across a list of ARTICLES.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-registry.el.gz
(defun gnus-registry-set-article-mark-internal (mark
                                                articles
                                                &optional remove
                                                show-message)
  "Apply or remove MARK across a list of ARTICLES."
  (let ((article-id-list
         (mapcar #'gnus-registry-fetch-message-id-fast articles)))
    (dolist (id article-id-list)
      (let* ((marks (delq mark (gnus-registry-get-id-key id 'mark)))
             (marks (if remove marks (cons mark marks))))
        (when show-message
          (gnus-message 1 "%s mark %s with message ID %s, resulting in %S"
                        (if remove "Removing" "Adding")
                        mark id marks))
        (gnus-registry-set-id-key id 'mark marks)))))