From: yamaoka Date: Wed, 22 Sep 2004 03:09:23 +0000 (+0000) Subject: Synch to No Gnus 200409220305. X-Git-Tag: t-gnus-6_17_4-quimby-~757 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=8ac6f39dd639e0170836db11e9a9b94810546626;p=elisp%2Fgnus.git- Synch to No Gnus 200409220305. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9713649..b24f86e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2004-09-21 Kevin Greiner + + * gnus-int.el (gnus-servers-that-use-local-marks): New variable. + (gnus-request-set-mark, gnus-request-update-mark): Use new + g-s-t-u-l-m to decide to use backend even when unplugged. + 2004-09-21 Katsumi Yamaoka * gnus-msg.el (gnus-inews-make-draft-meta-information): Don't add diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index 1f8707d..ba24a00 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -54,6 +54,12 @@ server denied." (const :tag "Deny server" denied) (const :tag "Unplug Agent" offline))) +(defcustom gnus-servers-that-use-local-marks '(nntp) + "A list of backends that store marks locally. This means that + the backend is used to set its marks even when unplugged." + :group 'gnus-start + :type '(repeat symbol)) + (defvar gnus-internal-registry-spool-current-method nil "The current method, for the registry.") @@ -414,7 +420,10 @@ If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." (defun gnus-request-set-mark (group action) "Set marks on articles in the back end." - (let ((gnus-command-method (gnus-find-method-for-group group))) + (let* ((gnus-command-method (gnus-find-method-for-group group)) + (gnus-plugged (or gnus-plugged + (member (car gnus-command-method) + gnus-servers-that-use-local-marks)))) (if (not (gnus-check-backend-function 'request-set-mark (car gnus-command-method))) action @@ -424,7 +433,10 @@ If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." (defun gnus-request-update-mark (group article mark) "Allow the back end to change the mark the user tries to put on an article." - (let ((gnus-command-method (gnus-find-method-for-group group))) + (let* ((gnus-command-method (gnus-find-method-for-group group)) + (gnus-plugged (or gnus-plugged + (member (car gnus-command-method) + gnus-servers-that-use-local-marks)))) (if (not (gnus-check-backend-function 'request-update-mark (car gnus-command-method))) mark