(defun nnmaildir-request-scan (&optional scan-group server)
(let ((coding-system-for-write nnheader-file-coding-system)
+ (output-coding-system nnheader-file-coding-system)
(buffer-file-coding-system nil)
+ (file-coding-system nil)
(file-coding-system-alist nil)
- (nnmaildir-new-mail t)
+ (nnmaildir-get-new-mail t)
(nnmaildir-group-alist nil)
(nnmaildir-active-file nil)
x srv-ls srv-dir method groups group dirs grp-dir seen deactivate-mark)
(if (nnmaildir--srv-gnm nnmaildir--cur-server)
(nnmail-get-new-mail 'nnmaildir nil nil scan-group))
(unintern scan-group groups))
- (setq x (nth 5 (file-attributes srv-dir)))
+ (setq x (nth 5 (file-attributes srv-dir))
+ scan-group (null scan-group))
(if (equal x (nnmaildir--srv-mtime nnmaildir--cur-server))
- (if scan-group nil
- (mapatoms (lambda (sym)
- (nnmaildir--scan (symbol-name sym) t groups
- method srv-dir srv-ls))
- groups))
+ (if scan-group
+ (mapatoms (lambda (sym)
+ (nnmaildir--scan (symbol-name sym) t groups
+ method srv-dir srv-ls))
+ groups))
(setq dirs (funcall srv-ls srv-dir nil "\\`[^.]" 'nosort)
x (length dirs)
seen 1)
(while (<= seen x) (setq seen (* 2 seen)))
(if (/= seen 1) (setq seen (1- seen)))
- (setq seen (make-vector seen 0)
- scan-group (null scan-group))
+ (setq seen (make-vector seen 0))
(while dirs
(setq grp-dir (car dirs) dirs (cdr dirs))
(if (nnmaildir--scan grp-dir scan-group groups method srv-dir
(setq x (cdr x)))
(setf (nnmaildir--srv-mtime nnmaildir--cur-server)
(nth 5 (file-attributes srv-dir))))
- (if (nnmaildir--srv-gnm nnmaildir--cur-server)
- (nnmail-get-new-mail 'nnmaildir nil nil))))))
+ (and scan-group
+ (nnmaildir--srv-gnm nnmaildir--cur-server)
+ (nnmail-get-new-mail 'nnmaildir nil nil))))))
t)
(defun nnmaildir-request-list (&optional server)
(erase-buffer)
(while groups
(setq gname (car groups) groups (cdr groups))
- (nnmaildir-request-scan gname server)
(setq group (nnmaildir--prepare nil gname))
(if (null group) (insert "411 no such news group\n")
(setq ct-min (nnmaildir--article-count group))
'group)
(defun nnmaildir-request-update-info (gname info &optional server)
- (nnmaildir-request-scan gname server)
(let ((group (nnmaildir--prepare server gname))
pgname nlist flist last always-marks never-marks old-marks dotfile num
dir markdirs marks mark ranges articles article read end new-marks ls
info)))
(defun nnmaildir-request-group (gname &optional server fast)
- (nnmaildir-request-scan gname server)
(let ((group (nnmaildir--prepare server gname))
ct-min deactivate-mark)
(nnmaildir--with-nntp-buffer
(defun nnmaildir-request-rename-group (gname new-name &optional server)
(let ((group (nnmaildir--prepare server gname))
(coding-system-for-write nnheader-file-coding-system)
+ (output-coding-system nnheader-file-coding-system)
(buffer-file-coding-system nil)
+ (file-coding-system nil)
(file-coding-system-alist nil)
srv-dir x groups)
(catch 'return
(defun nnmaildir-request-replace-article (article gname buffer)
(let ((group (nnmaildir--prepare nil gname))
(coding-system-for-write nnheader-file-coding-system)
+ (output-coding-system nnheader-file-coding-system)
(buffer-file-coding-system nil)
+ (file-coding-system nil)
(file-coding-system-alist nil)
file dir suffix tmpfile deactivate-mark)
(catch 'return
(defun nnmaildir-request-accept-article (gname &optional server last)
(let ((group (nnmaildir--prepare server gname))
(coding-system-for-write nnheader-file-coding-system)
+ (output-coding-system nnheader-file-coding-system)
(buffer-file-coding-system nil)
+ (file-coding-system nil)
(file-coding-system-alist nil)
srv-dir dir file tmpfile curfile 24h num article)
(catch 'return
(defun nnmaildir-request-set-mark (gname actions &optional server)
(let ((group (nnmaildir--prepare server gname))
(coding-system-for-write nnheader-file-coding-system)
+ (output-coding-system nnheader-file-coding-system)
(buffer-file-coding-system nil)
+ (file-coding-system nil)
(file-coding-system-alist nil)
del-mark add-marks marksdir markfile action group-nlist nlist ranges
begin end article all-marks todo-marks did-marks marks form mdir mfile