;;; gnus-delay.el --- Delayed posting of articles
-;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
;; Author: Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
;; Keywords: mail, news, extensions
(t (error "Malformed delay `%s'" delay)))
(message-add-header (format "%s: %s" gnus-delay-header deadline)))
(set-buffer-modified-p t)
- (nndraft-request-create-group gnus-delay-group)
+ ;; If group does not exist, create it.
+ (let ((group (format "nndraft:%s" gnus-delay-group)))
+ (unless (gnus-gethash group gnus-newsrc-hashtb)
+ (nndraft-request-create-group gnus-delay-group)
+ ;; Make it active.
+ (gnus-set-active group (cons 1 0))))
(message-disassociate-draft)
(nndraft-request-associate-buffer gnus-delay-group)
- (message-save-drafts)
+ (save-buffer 0)
(kill-buffer (current-buffer))
(message-do-actions message-postpone-actions))
(interactive)
(save-excursion
(let* ((group (format "nndraft:%s" gnus-delay-group))
+ (message-send-hook (copy-sequence message-send-hook))
articles
article deadline)
(when (gnus-gethash group gnus-newsrc-hashtb)
(gnus-activate-group group)
+ (add-hook 'message-send-hook
+ '(lambda ()
+ (message-remove-header gnus-delay-header)))
(setq articles (nndraft-articles))
(while (setq article (pop articles))
(gnus-request-head article group)