Function: nnselect-request-group

nnselect-request-group is a byte-compiled function defined in nnselect.el.gz.

Signature

(nnselect-request-group GROUP &optional SERVER DONT-CHECK INFO)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnselect.el.gz
(deffoo nnselect-request-group (group &optional _server _dont-check info)
  (let* ((group (nnselect-add-prefix group))
	 (nnselect-artlist (nnselect-get-artlist group))
	 length)
    ;; Check for cached select result or run the selection and cache
    ;; the result.
    (unless nnselect-artlist
      (gnus-group-set-parameter
       group 'nnselect-artlist
       (nnselect-compress-artlist (setq nnselect-artlist
	     (nnselect-run
	      (gnus-group-get-parameter group 'nnselect-specs t)))))
      (nnselect-request-update-info
       group (or info (gnus-get-info group))))
    (if (zerop (setq length (nnselect-artlist-length nnselect-artlist)))
	(progn
	  (nnheader-report 'nnselect "Selection produced empty results.")
	  (when (gnus-ephemeral-group-p group)
	    (gnus-kill-ephemeral-group group)
	    (setq gnus-ephemeral-servers
		  (assq-delete-all 'nnselect gnus-ephemeral-servers)))
	  (nnheader-insert ""))
      (with-current-buffer nntp-server-buffer
	(nnheader-insert "211 %d %d %d %s\n"
                         length    ; total #
                         1         ; first #
                         length    ; last #
                         group))) ; group name
  nnselect-artlist))