comparison lisp/gnus/gnus-agent.el @ 91204:53108e6cea98

Merge from emacs--devo--0 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-294
author Miles Bader <miles@gnu.org>
date Thu, 06 Dec 2007 09:51:45 +0000
parents 880960b70474 781256628613
children 606f2d163a64
comparison
equal deleted inserted replaced
91203:db40129142b2 91204:53108e6cea98
634 (gnus-run-hooks 'gnus-agent-plugged-hook) 634 (gnus-run-hooks 'gnus-agent-plugged-hook)
635 (setcar (cdr gnus-agent-mode-status) 635 (setcar (cdr gnus-agent-mode-status)
636 (gnus-agent-make-mode-line-string " Plugged" 636 (gnus-agent-make-mode-line-string " Plugged"
637 'mouse-2 637 'mouse-2
638 'gnus-agent-toggle-plugged)) 638 'gnus-agent-toggle-plugged))
639 (gnus-agent-go-online gnus-agent-go-online) 639 (gnus-agent-go-online gnus-agent-go-online))
640 (gnus-agent-possibly-synchronize-flags))
641 (t 640 (t
642 (gnus-agent-close-connections) 641 (gnus-agent-close-connections)
643 (setq gnus-plugged set-to) 642 (setq gnus-plugged set-to)
644 (gnus-run-hooks 'gnus-agent-unplugged-hook) 643 (gnus-run-hooks 'gnus-agent-unplugged-hook)
645 (setcar (cdr gnus-agent-mode-status) 644 (setcar (cdr gnus-agent-mode-status)
866 (defun gnus-agent-possibly-synchronize-flags () 865 (defun gnus-agent-possibly-synchronize-flags ()
867 "Synchronize flags according to `gnus-agent-synchronize-flags'." 866 "Synchronize flags according to `gnus-agent-synchronize-flags'."
868 (interactive) 867 (interactive)
869 (save-excursion 868 (save-excursion
870 (dolist (gnus-command-method (gnus-agent-covered-methods)) 869 (dolist (gnus-command-method (gnus-agent-covered-methods))
871 (when (and (file-exists-p (gnus-agent-lib-file "flags")) 870 (when (eq (gnus-server-status gnus-command-method) 'ok)
872 (eq (gnus-server-status gnus-command-method) 'ok))
873 (gnus-agent-possibly-synchronize-flags-server gnus-command-method))))) 871 (gnus-agent-possibly-synchronize-flags-server gnus-command-method)))))
874 872
875 (defun gnus-agent-synchronize-flags-server (method) 873 (defun gnus-agent-synchronize-flags-server (method)
876 "Synchronize flags set when unplugged for server." 874 "Synchronize flags set when unplugged for server."
877 (let ((gnus-command-method method) 875 (let ((gnus-command-method method)
903 file (error-message-string err))))))) 901 file (error-message-string err)))))))
904 (kill-buffer nil)))) 902 (kill-buffer nil))))
905 903
906 (defun gnus-agent-possibly-synchronize-flags-server (method) 904 (defun gnus-agent-possibly-synchronize-flags-server (method)
907 "Synchronize flags for server according to `gnus-agent-synchronize-flags'." 905 "Synchronize flags for server according to `gnus-agent-synchronize-flags'."
908 (when (or (and gnus-agent-synchronize-flags 906 (when (and (file-exists-p (gnus-agent-lib-file "flags"))
909 (not (eq gnus-agent-synchronize-flags 'ask))) 907 (or (and gnus-agent-synchronize-flags
910 (and (eq gnus-agent-synchronize-flags 'ask) 908 (not (eq gnus-agent-synchronize-flags 'ask)))
911 (gnus-y-or-n-p (format "Synchronize flags on server `%s'? " 909 (and (eq gnus-agent-synchronize-flags 'ask)
912 (cadr method))))) 910 (gnus-y-or-n-p
911 (format "Synchronize flags on server `%s'? "
912 (cadr method))))))
913 (gnus-agent-synchronize-flags-server method))) 913 (gnus-agent-synchronize-flags-server method)))
914 914
915 ;;;###autoload 915 ;;;###autoload
916 (defun gnus-agent-rename-group (old-group new-group) 916 (defun gnus-agent-rename-group (old-group new-group)
917 "Rename fully-qualified OLD-GROUP as NEW-GROUP. 917 "Rename fully-qualified OLD-GROUP as NEW-GROUP.
2102 (throw 'problems t)) 2102 (throw 'problems t))
2103 nil)))))) 2103 nil))))))
2104 2104
2105 ;; Keeps the compiler from warning about the free variable in 2105 ;; Keeps the compiler from warning about the free variable in
2106 ;; gnus-agent-read-agentview. 2106 ;; gnus-agent-read-agentview.
2107 (eval-when-compile 2107 (defvar gnus-agent-read-agentview)
2108 (defvar gnus-agent-read-agentview))
2109 2108
2110 (defun gnus-agent-load-alist (group) 2109 (defun gnus-agent-load-alist (group)
2111 "Load the article-state alist for GROUP." 2110 "Load the article-state alist for GROUP."
2112 ;; Bind free variable that's used in `gnus-agent-read-agentview'. 2111 ;; Bind free variable that's used in `gnus-agent-read-agentview'.
2113 (let ((gnus-agent-read-agentview group) 2112 (let ((gnus-agent-read-agentview group)