Function: gnus-agent-synchronize-flags-server
gnus-agent-synchronize-flags-server is a byte-compiled function
defined in gnus-agent.el.gz.
Signature
(gnus-agent-synchronize-flags-server METHOD)
Documentation
Synchronize flags set when unplugged for server.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-agent.el.gz
(defun gnus-agent-synchronize-flags-server (method)
"Synchronize flags set when unplugged for server."
(let ((gnus-command-method method)
(gnus-agent nil))
(when (file-exists-p (gnus-agent-lib-file "flags"))
(set-buffer (gnus-get-buffer-create " *Gnus Agent flag synchronize*"))
(erase-buffer)
(nnheader-insert-file-contents (gnus-agent-lib-file "flags"))
(cond ((null gnus-plugged)
(gnus-message
1 "You must be plugged to synchronize flags with server %s"
(nth 1 gnus-command-method)))
((null (gnus-check-server gnus-command-method))
(gnus-message
1 "Couldn't open server %s" (nth 1 gnus-command-method)))
(t
(condition-case err
(while t
(let ((bgn (point)))
(eval (read (current-buffer)) t)
(delete-region bgn (point))))
(end-of-file
(delete-file (gnus-agent-lib-file "flags")))
(error
(let ((file (gnus-agent-lib-file "flags")))
(write-region (point-min) (point-max)
(gnus-agent-lib-file "flags") nil 'silent)
(error "Couldn't set flags from file %s due to %s"
file (error-message-string err)))))))
(kill-buffer nil))))