From 8ac6f39dd639e0170836db11e9a9b94810546626 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Wed, 22 Sep 2004 03:09:23 +0000 Subject: [PATCH] Synch to No Gnus 200409220305. --- lisp/ChangeLog | 6 ++++++ lisp/gnus-int.el | 16 ++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) 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 -- 1.7.10.4