From 1c5da40c3ef3d4f1d103d04cd4ae07beee43a7b4 Mon Sep 17 00:00:00 2001 From: ShengHuo ZHU Date: Wed, 17 Oct 2001 15:20:30 +0000 Subject: [PATCH] 2001-10-17 11:00:00 ShengHuo ZHU * nnml.el (nnml-request-expire-articles): Make sure it is back to the server. * nnmbox.el (nnmbox-request-expire-articles): Ditto. * nnfolder.el (nnfolder-request-expire-articles): Ditto. * nnbabyl.el (nnbabyl-request-expire-articles): Ditto. * nndiary.el (nndiary-request-expire-articles): Ditto. (nndiary-schedule): Defsubst it before use it. (nndiary-error): eval-and-compile. --- lisp/ChangeLog | 11 +++++++++++ lisp/nnbabyl.el | 3 ++- lisp/nndiary.el | 40 ++++++++++++++++++++-------------------- lisp/nnfolder.el | 3 ++- lisp/nnmbox.el | 3 ++- lisp/nnml.el | 4 +++- 6 files changed, 40 insertions(+), 24 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3b316aa24..d9c8d9bc2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2001-10-17 11:00:00 ShengHuo ZHU + + * nnml.el (nnml-request-expire-articles): Make sure it is back to + the server. + * nnmbox.el (nnmbox-request-expire-articles): Ditto. + * nnfolder.el (nnfolder-request-expire-articles): Ditto. + * nnbabyl.el (nnbabyl-request-expire-articles): Ditto. + * nndiary.el (nndiary-request-expire-articles): Ditto. + (nndiary-schedule): Defsubst it before use it. + (nndiary-error): eval-and-compile. + 2001-10-17 Per Abrahamsen * gnus-msg.el (gnus-post-method): Changed two instances of diff --git a/lisp/nnbabyl.el b/lisp/nnbabyl.el index 2d41d4cb3..2cd005eb8 100644 --- a/lisp/nnbabyl.el +++ b/lisp/nnbabyl.el @@ -296,7 +296,8 @@ This variable is a virtual server slot. See the Gnus manual for details.") (current-buffer)) (let ((nnml-current-directory nil)) (nnmail-expiry-target-group - nnmail-expiry-target newsgroup)))) + nnmail-expiry-target newsgroup))) + (nnbabyl-possibly-change-newsgroup newsgroup server)) (nnheader-message 5 "Deleting article %d in %s..." (car articles) newsgroup) (nnbabyl-delete-mail)) diff --git a/lisp/nndiary.el b/lisp/nndiary.el index 309365ecc..461680555 100644 --- a/lisp/nndiary.el +++ b/lisp/nndiary.el @@ -211,11 +211,12 @@ ;; Compatibility Functions ================================================= -(if (fboundp 'signal-error) +(eval-and-compile + (if (fboundp 'signal-error) + (defun nndiary-error (&rest args) + (apply #'signal-error 'nndiary args)) (defun nndiary-error (&rest args) - (apply #'signal-error 'nndiary args)) - (defun nndiary-error (&rest args) - (apply #'error args))) + (apply #'error args)))) ;; Backend behavior customization =========================================== @@ -371,7 +372,6 @@ all. This may very well take some time.") (interactive) (message "NNDiary version %s" nndiary-version)) - (defvoo nndiary-nov-file-name ".overview") (defvoo nndiary-current-directory nil) @@ -479,6 +479,19 @@ all. This may very well take some time.") ;; the (relative) number of seconds ahead GMT. ) +(defsubst nndiary-schedule () + (let (head) + (condition-case arg + (mapcar + (lambda (elt) + (setq head (nth 0 elt)) + (nndiary-parse-schedule (nth 0 elt) (nth 1 elt) (nth 2 elt))) + nndiary-headers) + (t + (nnheader-report 'nndiary "X-Diary-%s header parse error: %s." + head (cdr arg)) + nil)) + )) ;;; Interface functions ===================================================== @@ -691,7 +704,8 @@ all. This may very well take some time.") (with-temp-buffer (nndiary-request-article number group server (current-buffer)) (let ((nndiary-current-directory nil)) - (nnmail-expiry-target-group nnmail-expiry-target group)))) + (nnmail-expiry-target-group nnmail-expiry-target group))) + (nndiary-possibly-change-directory group server)) (nnheader-message 5 "Deleting article %s in %s" number group) (condition-case () (funcall nnmail-delete-file-function article) @@ -1337,20 +1351,6 @@ all. This may very well take some time.") (nndiary-parse-schedule-value (match-string 1) min-or-values max)) )) -(defsubst nndiary-schedule () - (let (head) - (condition-case arg - (mapcar - (lambda (elt) - (setq head (nth 0 elt)) - (nndiary-parse-schedule (nth 0 elt) (nth 1 elt) (nth 2 elt))) - nndiary-headers) - (t - (nnheader-report 'nndiary "X-Diary-%s header parse error: %s." - head (cdr arg)) - nil)) - )) - (defun nndiary-max (spec) ;; Returns the max of specification SPEC, or nil for permanent schedules. (unless (null spec) diff --git a/lisp/nnfolder.el b/lisp/nnfolder.el index 683758fa7..f225f323d 100644 --- a/lisp/nnfolder.el +++ b/lisp/nnfolder.el @@ -429,7 +429,8 @@ This variable is a virtual server slot. See the Gnus manual for details.") newsgroup server (current-buffer)) (let ((nnfolder-current-directory nil)) (nnmail-expiry-target-group - nnmail-expiry-target newsgroup)))) + nnmail-expiry-target newsgroup))) + (nnfolder-possibly-change-group newsgroup server)) (nnheader-message 5 "Deleting article %d in %s..." (car maybe-expirable) newsgroup) (nnfolder-delete-mail) diff --git a/lisp/nnmbox.el b/lisp/nnmbox.el index 3801100c2..972e20f3a 100644 --- a/lisp/nnmbox.el +++ b/lisp/nnmbox.el @@ -275,7 +275,8 @@ This variable is a virtual server slot. See the Gnus manual for details.") (current-buffer)) (let ((nnml-current-directory nil)) (nnmail-expiry-target-group - nnmail-expiry-target newsgroup)))) + nnmail-expiry-target newsgroup))) + (nnmbox-possibly-change-newsgroup newsgroup server)) (nnheader-message 5 "Deleting article %d in %s..." (car articles) newsgroup) (nnmbox-delete-mail)) diff --git a/lisp/nnml.el b/lisp/nnml.el index b5319b946..3fa8584fb 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -333,7 +333,9 @@ This variable is a virtual server slot. See the Gnus manual for details.") (let (nnml-current-directory nnml-current-group nnml-article-file-alist) - (nnmail-expiry-target-group nnmail-expiry-target group)))) + (nnmail-expiry-target-group nnmail-expiry-target group))) + ;; Maybe directory is changed during nnmail-expiry-target-group. + (nnml-possibly-change-directory group server)) (nnheader-message 5 "Deleting article %s in %s" number group) (condition-case () -- 2.25.1