[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/gnus/nnfolder.el,v
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/gnus/nnfolder.el,v |
Date: |
Sun, 28 Oct 2007 09:19:20 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Miles Bader <miles> 07/10/28 09:18:40
Index: lisp/gnus/nnfolder.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/nnfolder.el,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- lisp/gnus/nnfolder.el 26 Jul 2007 05:27:02 -0000 1.29
+++ lisp/gnus/nnfolder.el 28 Oct 2007 09:18:32 -0000 1.30
@@ -203,7 +203,7 @@
(goto-char (match-end 0))
(setq num (string-to-number
(buffer-substring
- (point) (gnus-point-at-eol))))
+ (point) (point-at-eol))))
(goto-char start)
(< num article)))
;; Check that we are before an article with a
@@ -213,7 +213,7 @@
(progn
(setq num (string-to-number
(buffer-substring
- (point) (gnus-point-at-eol))))
+ (point) (point-at-eol))))
(> num article))
;; Discard any article numbers before the one we're
;; now looking at.
@@ -287,18 +287,23 @@
(if (search-forward (concat "\n" nnfolder-article-marker)
nil t)
(string-to-number (buffer-substring
- (point) (gnus-point-at-eol)))
+ (point) (point-at-eol)))
-1))))))))
(deffoo nnfolder-request-group (group &optional server dont-check)
(nnfolder-possibly-change-group group server t)
(save-excursion
- (if (not (assoc group nnfolder-group-alist))
- (nnheader-report 'nnfolder "No such group: %s" group)
- (if dont-check
- (progn
+ (cond ((not (assoc group nnfolder-group-alist))
+ (nnheader-report 'nnfolder "No such group: %s" group))
+ ((file-directory-p (nnfolder-group-pathname group))
+ (nnheader-report 'nnfolder "%s is a directory"
+ (file-name-as-directory
+ (let ((nnmail-pathname-coding-system nil))
+ (nnfolder-group-pathname group)))))
+ (dont-check
(nnheader-report 'nnfolder "Selected group %s" group)
t)
+ (t
(let* ((active (assoc group nnfolder-group-alist))
(group (car active))
(range (cadr active)))
@@ -371,13 +376,21 @@
(deffoo nnfolder-request-create-group (group &optional server args)
(nnfolder-possibly-change-group nil server)
(nnmail-activate 'nnfolder)
- (when (and group
- (not (assoc group nnfolder-group-alist)))
+ (cond ((zerop (length group))
+ (nnheader-report 'nnfolder "Invalid (empty) group name"))
+ ((file-directory-p (nnfolder-group-pathname group))
+ (nnheader-report 'nnfolder "%s is a directory"
+ (file-name-as-directory
+ (let ((nnmail-pathname-coding-system nil))
+ (nnfolder-group-pathname group)))))
+ ((assoc group nnfolder-group-alist)
+ t)
+ (t
(push (list group (cons 1 0)) nnfolder-group-alist)
(nnfolder-save-active nnfolder-group-alist nnfolder-active-file)
(save-current-buffer
- (nnfolder-read-folder group)))
- t)
+ (nnfolder-read-folder group))
+ t)))
(deffoo nnfolder-request-list (&optional server)
(nnfolder-possibly-change-group nil server)
@@ -416,16 +429,17 @@
;; The article numbers are increasing, so this result is sorted.
(nreverse numbers)))))
-(deffoo nnfolder-request-expire-articles
- (articles newsgroup &optional server force)
+(deffoo nnfolder-request-expire-articles (articles newsgroup
+ &optional server force)
(nnfolder-possibly-change-group newsgroup server)
- (let* ((is-old t)
+ (let ((is-old t)
;; The articles we have deleted so far.
(deleted-articles nil)
;; The articles that really exist and will
;; be expired if they are old enough.
(maybe-expirable
- (gnus-sorted-intersection articles (nnfolder-existing-articles))))
+ (gnus-sorted-intersection articles (nnfolder-existing-articles)))
+ target)
(nnmail-activate 'nnfolder)
(save-excursion
@@ -445,21 +459,28 @@
(buffer-substring
(point) (progn (end-of-line) (point)))
force nnfolder-inhibit-expiry))
- (unless (eq nnmail-expiry-target 'delete)
+ (setq target nnmail-expiry-target)
+ (unless (eq target 'delete)
(with-temp-buffer
(nnfolder-request-article (car maybe-expirable)
newsgroup server (current-buffer))
(let ((nnfolder-current-directory nil))
- (nnmail-expiry-target-group
- nnmail-expiry-target newsgroup)))
+ (when (functionp target)
+ (setq target (funcall target newsgroup)))
+ (if (and target
+ (or (gnus-request-group target)
+ (gnus-request-create-group target)))
+ (nnmail-expiry-target-group target newsgroup)
+ (setq target nil))))
(nnfolder-possibly-change-group newsgroup server))
+ (when target
(nnheader-message 5 "Deleting article %d in %s..."
(car maybe-expirable) newsgroup)
(nnfolder-delete-mail)
(unless (or gnus-nov-is-evil nnfolder-nov-is-evil)
(nnfolder-nov-delete-article newsgroup (car maybe-expirable)))
;; Must remember which articles were actually deleted
- (push (car maybe-expirable) deleted-articles)))
+ (push (car maybe-expirable) deleted-articles))))
(setq maybe-expirable (cdr maybe-expirable)))
(unless nnfolder-inhibit-expiry
(nnheader-message 5 "Deleting articles...done"))
@@ -468,8 +489,8 @@
(nnfolder-save-active nnfolder-group-alist nnfolder-active-file)
(gnus-sorted-difference articles (nreverse deleted-articles)))))
-(deffoo nnfolder-request-move-article (article group server
- accept-form &optional last)
+(deffoo nnfolder-request-move-article (article group server accept-form
+ &optional last move-is-internal)
(save-excursion
(let ((buf (get-buffer-create " *nnfolder move*"))
result)
@@ -1029,9 +1050,7 @@
(when (not (message-mail-file-mbox-p file))
(ignore-errors
(delete-file file)))))
- (let ((files (directory-files nnfolder-directory))
- file)
- (while (setq file (pop files))
+ (dolist (file (directory-files nnfolder-directory))
(when (and (not (backup-file-name-p file))
(message-mail-file-mbox-p
(nnheader-concat nnfolder-directory file)))
@@ -1046,7 +1065,7 @@
(nnfolder-possibly-change-folder file)
(nnfolder-possibly-change-group file)
(nnfolder-close-group file))))
- (nnheader-message 5 "")))
+ (nnheader-message 5 ""))
(defun nnfolder-group-pathname (group)
"Make file name for GROUP."
@@ -1073,7 +1092,8 @@
(gnus-make-directory (file-name-directory (buffer-file-name)))
(let ((coding-system-for-write
(or nnfolder-file-coding-system-for-write
- nnfolder-file-coding-system)))
+ nnfolder-file-coding-system))
+ (copyright-update nil))
(save-buffer)))
(unless (or gnus-nov-is-evil nnfolder-nov-is-evil)
(nnfolder-save-nov)))
@@ -1197,7 +1217,7 @@
(nnheader-message 8 "Updating marks for %s..." group)
(nnfolder-open-marks group server)
;; Update info using `nnfolder-marks'.
- (mapcar (lambda (pred)
+ (mapc (lambda (pred)
(unless (memq (cdr pred) gnus-article-unpropagated-mark-lists)
(gnus-info-set-marks
info
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/gnus/nnfolder.el,v,
Miles Bader <=