Function: gnus-server-compact-server

gnus-server-compact-server is an interactive and byte-compiled function defined in gnus-srvr.el.gz.

Signature

(gnus-server-compact-server)

Documentation

Issue a command to the server to compact all its groups.

Note: currently only implemented in nnml.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-srvr.el.gz
;;;
;;; Server compaction. -- dvl
;;;

;; #### FIXME: this function currently fails to update the Group buffer's
;; #### appearance.
(defun gnus-server-compact-server ()
  "Issue a command to the server to compact all its groups.

Note: currently only implemented in nnml."
  (interactive)
  (let ((server (gnus-server-server-name)))
    (unless server
      (error "No server on the current line"))
    (condition-case ()
	(gnus-get-function (gnus-server-to-method server)
			   'request-compact)
      (error
       (error "This back end doesn't support compaction")))
    (gnus-message 5 "\
Requesting compaction of %s... (this may take a long time)"
		  server)
    (unless (gnus-open-server server)
      (error "Couldn't open server"))
    (if (not (gnus-request-compact server))
	(gnus-message 5 "Couldn't compact %s" server)
      (gnus-message 5 "Requesting compaction of %s...done" server)
      ;; Invalidate the original article buffer which might be out of date.
      ;; #### NOTE: Yes, this might be a bit rude, but since compaction
      ;; #### will not happen very often, I think this is acceptable.
      (gnus-kill-buffer gnus-original-article-buffer))))