;;; backlog
(defmacro nnshimbun-backlog (&rest form)
`(let ((gnus-keep-backlog nnshimbun-keep-backlog)
- (gnus-backlog-buffer (format " *nnshimbun backlog %s*" (nnoo-current-server 'nnshimbun)))
+ (gnus-backlog-buffer (format " *nnshimbun backlog %s*"
+ (nnoo-current-server 'nnshimbun)))
(gnus-backlog-articles nnshimbun-backlog-articles)
(gnus-backlog-hashtb nnshimbun-backlog-hashtb))
(unwind-protect
(push (list 'nnshimbun-shimbun
(condition-case err
(shimbun-open server (luna-make-entity 'shimbun-gnus-mua))
- (error (nnheader-report 'nnshimbun "%s" (error-message-string err)))))
+ (error (nnheader-report 'nnshimbun "%s" (error-message-string
+ err)))))
defs)
;; Set directory for server working files.
(push (list 'nnshimbun-server-directory
(cond
((not (file-exists-p nnshimbun-directory))
(nnshimbun-close-server)
- (nnheader-report 'nnshimbun "Couldn't create directory: %s" nnshimbun-directory))
+ (nnheader-report 'nnshimbun "Couldn't create directory: %s"
+ nnshimbun-directory))
((not (file-directory-p (file-truename nnshimbun-directory)))
(nnshimbun-close-server)
(nnheader-report 'nnshimbun "Not a directory: %s" nnshimbun-directory))
(cond
((not (file-exists-p nnshimbun-server-directory))
(nnshimbun-close-server)
- (nnheader-report 'nnshimbun "Couldn't create directory: %s" nnshimbun-server-directory))
+ (nnheader-report 'nnshimbun "Couldn't create directory: %s"
+ nnshimbun-server-directory))
((not (file-directory-p (file-truename nnshimbun-server-directory)))
(nnshimbun-close-server)
- (nnheader-report 'nnshimbun "Not a directory: %s" nnshimbun-server-directory))
+ (nnheader-report 'nnshimbun "Not a directory: %s"
+ nnshimbun-server-directory))
(t
(nnheader-report 'nnshimbun "Opened server %s using directory %s"
server nnshimbun-server-directory)
(substring xref 6)
xref))))
+(eval-when-compile
+ (require 'gnus-sum));; For the macro `gnus-summary-article-header'.
+
(defun nnshimbun-request-article-1 (article &optional group server to-buffer)
(if (nnshimbun-backlog
(gnus-backlog-request-article
(with-current-buffer (or to-buffer nntp-server-buffer)
(delete-region (point-min) (point-max))
(shimbun-article nnshimbun-shimbun header)
+ ;; Kludge! replace a date string in `gnus-newsgroup-data'
+ ;; based on the newly retrieved article.
+ (mail-header-set-date (gnus-summary-article-header article)
+ (shimbun-header-date header))
(when (> (buffer-size) 0)
(nnshimbun-replace-nov-entry group article header original-id)
(nnshimbun-backlog
(defun nnshimbun-retrieve-headers-with-nov (articles &optional fetch-old)
(if (or gnus-nov-is-evil nnshimbun-nov-is-evil)
nil
- (let ((nov (expand-file-name nnshimbun-nov-file-name nnshimbun-current-directory)))
+ (let ((nov (expand-file-name nnshimbun-nov-file-name
+ nnshimbun-current-directory)))
(when (file-exists-p nov)
(save-excursion
(set-buffer nntp-server-buffer)
specified by the command `nnshimbun-expire-nov-databases'), it does
expire for the SERVER:GROUP even if whose NOV is not open."
(let ((buffer (cdr (assoc group nnshimbun-nov-buffer-alist)))
+ (nnmail-expiry-wait-function nnmail-expiry-wait-function)
+ (nnmail-expiry-wait nnmail-expiry-wait)
(progress-msg (format "Expiring NOV database for nnshimbun+%s:%s "
server group))
(pinwheel "-/|\\")
(counter 0)
- should-close-nov name article expirable end time)
+ name should-close-nov article expirable end time)
(if (and
server
+ (setq name (concat "nnshimbun+" server ":" group))
(or (let ((current (nnoo-current-server 'nnshimbun)))
(and current
(string-equal server current)
buffer (gnus-get-buffer-create
(format " *nnshimbun overview %s %s*"
server group)))
+ (let ((expiry-wait (gnus-group-find-parameter name
+ 'expiry-wait)))
+ (when expiry-wait
+ ;; Prefer the group parameter `expiry-wait'.
+ (setq nnmail-expiry-wait-function nil
+ nnmail-expiry-wait expiry-wait)))
(save-excursion
(set-buffer buffer)
(set (make-local-variable 'nnshimbun-nov-buffer-file-name)
t)))
(prog1
(save-excursion
- (setq name (concat "nnshimbun+" server ":" group))
(set-buffer buffer)
(when (eq 'all articles)
(setq articles nil)
(ignore-errors (make-directory nnshimbun-current-directory t)))
(cond
((not (file-exists-p nnshimbun-current-directory))
- (nnheader-report 'nnshimbun "Couldn't create directory: %s" nnshimbun-current-directory))
+ (nnheader-report 'nnshimbun "Couldn't create directory: %s"
+ nnshimbun-current-directory))
((not (file-directory-p (file-truename nnshimbun-current-directory)))
- (nnheader-report 'nnshimbun "Not a directory: %s" nnshimbun-current-directory))
+ (nnheader-report 'nnshimbun "Not a directory: %s"
+ nnshimbun-current-directory))
(t t)))))