Function: gnus-request-marks

gnus-request-marks is a byte-compiled function defined in gnus-int.el.gz.

Signature

(gnus-request-marks INFO COMMAND-METHOD)

Documentation

Request that COMMAND-METHOD update INFO.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-int.el.gz
(defsubst gnus-request-marks (info command-method)
  "Request that COMMAND-METHOD update INFO."
  (let ((gnus-command-method
         (if (stringp command-method)
             (gnus-server-to-method command-method)
           command-method)))
    (when (gnus-check-backend-function
           'request-marks (car gnus-command-method))
      (let ((group (gnus-info-group info)))
        (and (funcall (gnus-get-function gnus-command-method 'request-marks)
                      (gnus-group-real-name group)
                      info (nth 1 gnus-command-method))
             ;; If the minimum article number is greater than 1, then all
             ;; smaller article numbers are known not to exist; we'll
             ;; artificially add those to the 'read range.
             (let* ((active (gnus-active group))
                    (min (car active)))
               (when (> min 1)
                 (let* ((range (if (= min 2) 1 (cons 1 (1- min))))
                        (read (gnus-info-read info))
                        (new-read (gnus-range-add read (list range))))
                   (setf (gnus-info-read info) new-read)))
               info))))))