Function: nndiary-active-number

nndiary-active-number is a byte-compiled function defined in nndiary.el.gz.

Signature

(nndiary-active-number GROUP)

Documentation

Compute the next article number in GROUP.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nndiary.el.gz
(defun nndiary-active-number (group)
  "Compute the next article number in GROUP."
  (let ((active (cadr (assoc group nndiary-group-alist))))
    ;; The group wasn't known to nndiary, so we just create an active
    ;; entry for it.
    (unless active
      ;; Perhaps the active file was corrupt?  See whether
      ;; there are any articles in this group.
      (nndiary-possibly-create-directory group)
      (nndiary-possibly-change-directory group)
      (unless nndiary-article-file-alist
	(setq nndiary-article-file-alist
	      (sort
	       (nnheader-article-to-file-alist nndiary-current-directory)
	       #'car-less-than-car)))
      (setq active
	    (if nndiary-article-file-alist
		(cons (caar nndiary-article-file-alist)
		      (caar (last nndiary-article-file-alist)))
	      (cons 1 0)))
      (push (list group active) nndiary-group-alist))
    (setcdr active (1+ (cdr active)))
    (while (file-exists-p
	    (expand-file-name (int-to-string (cdr active))
			      (nnmail-group-pathname group nndiary-directory)))
      (setcdr active (1+ (cdr active))))
    (cdr active)))