Function: gnus-info-clear-data

gnus-info-clear-data is a byte-compiled function defined in gnus-group.el.gz.

Signature

(gnus-info-clear-data INFO)

Documentation

Clear all marks and read ranges from INFO.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-group.el.gz
(defun gnus-info-clear-data (info)
  "Clear all marks and read ranges from INFO."
  (let ((group (gnus-info-group info))
	action)
    (dolist (el (gnus-info-marks info))
      (push `(,(cdr el) add (,(car el))) action))
    (push `(,(gnus-info-read info) add (read)) action)
    (gnus-undo-register
      `(progn
	 (gnus-request-set-mark ,group ',action)
	 (gnus-info-set-marks ',info ',(gnus-info-marks info) t)
	 (setf (gnus-info-read ',info) ',(gnus-info-read info))
	 (when (gnus-group-jump-to-group ,group)
	   (gnus-get-unread-articles-in-group ',info ',(gnus-active group) t)
	   (gnus-group-update-group-line))))
    (setq action (mapcar (lambda (el) (list (nth 0 el) 'del (nth 2 el)))
			 action))
    (gnus-request-set-mark group action)
    (setf (gnus-info-read info) nil)
    (when (gnus-info-marks info)
      (setf (gnus-info-marks info) nil))))