projects
/
gnus
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge from emacs--devo--0
[gnus]
/
lisp
/
nnbabyl.el
diff --git
a/lisp/nnbabyl.el
b/lisp/nnbabyl.el
index
0d71532
..
06943de
100644
(file)
--- a/
lisp/nnbabyl.el
+++ b/
lisp/nnbabyl.el
@@
-1,15
+1,17
@@
;;; nnbabyl.el --- rmail mbox access for Gnus
;;; nnbabyl.el --- rmail mbox access for Gnus
-;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
+
+;; Copyright (C) 1995, 1996, 1997, 1998, 1099, 2000, 2001, 2002, 2003,
+;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
-;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
+;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Keywords: news, mail
;; This file is part of GNU Emacs.
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; Keywords: news, mail
;; This file is part of GNU Emacs.
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version
2
, or (at your option)
+;; the Free Software Foundation; either version
3
, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
@@
-19,8
+21,8
@@
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 5
9 Temple Place - Suite 330
,
-;; Boston, MA 0211
1-1307
, USA.
+;; Free Software Foundation, Inc., 5
1 Franklin Street, Fifth Floor
,
+;; Boston, MA 0211
0-1301
, USA.
;;; Commentary:
;;; Commentary:
@@
-32,7
+34,8
@@
(require 'nnheader)
(condition-case nil
(require 'rmail)
(require 'nnheader)
(condition-case nil
(require 'rmail)
- (t (nnheader-message 5 "Ignore rmail errors from this file, you don't have rmail")))
+ (t (nnheader-message
+ 5 "Ignore rmail errors from this file, you don't have rmail")))
(require 'nnmail)
(require 'nnoo)
(eval-when-compile (require 'cl))
(require 'nnmail)
(require 'nnoo)
(eval-when-compile (require 'cl))
@@
-48,6
+51,7
@@
(defvoo nnbabyl-get-new-mail t
"If non-nil, nnbabyl will check the incoming mail file and split the mail.")
(defvoo nnbabyl-get-new-mail t
"If non-nil, nnbabyl will check the incoming mail file and split the mail.")
+
(defvoo nnbabyl-prepare-save-mail-hook nil
"Hook run narrowed to an article before saving.")
(defvoo nnbabyl-prepare-save-mail-hook nil
"Hook run narrowed to an article before saving.")
@@
-66,9
+70,6
@@
(defvoo nnbabyl-previous-buffer-mode nil)
(defvoo nnbabyl-previous-buffer-mode nil)
-(eval-and-compile
- (autoload 'gnus-set-text-properties "gnus-ems"))
-
\f
;;; Interface functions
\f
;;; Interface functions
@@
-259,7
+260,7
@@
(nnheader-report 'nnbabyl "nnbabyl: LIST NEWSGROUPS is not implemented."))
(deffoo nnbabyl-request-expire-articles
(nnheader-report 'nnbabyl "nnbabyl: LIST NEWSGROUPS is not implemented."))
(deffoo nnbabyl-request-expire-articles
- (articles newsgroup &optional server force)
+
(articles newsgroup &optional server force)
(nnbabyl-possibly-change-newsgroup newsgroup server)
(let* ((is-old t)
rest)
(nnbabyl-possibly-change-newsgroup newsgroup server)
(let* ((is-old t)
rest)
@@
-267,7
+268,7
@@
(save-excursion
(set-buffer nnbabyl-mbox-buffer)
(save-excursion
(set-buffer nnbabyl-mbox-buffer)
- (
gnus-
set-text-properties (point-min) (point-max) nil)
+ (set-text-properties (point-min) (point-max) nil)
(while (and articles is-old)
(goto-char (point-min))
(when (search-forward (nnbabyl-article-string (car articles)) nil t)
(while (and articles is-old)
(goto-char (point-min))
(when (search-forward (nnbabyl-article-string (car articles)) nil t)
@@
-277,6
+278,15
@@
(buffer-substring
(point) (progn (end-of-line) (point))) force))
(progn
(buffer-substring
(point) (progn (end-of-line) (point))) force))
(progn
+ (unless (eq nnmail-expiry-target 'delete)
+ (with-temp-buffer
+ (nnbabyl-request-article (car articles)
+ newsgroup server
+ (current-buffer))
+ (let ((nnml-current-directory nil))
+ (nnmail-expiry-target-group
+ nnmail-expiry-target newsgroup)))
+ (nnbabyl-possibly-change-newsgroup newsgroup server))
(nnheader-message 5 "Deleting article %d in %s..."
(car articles) newsgroup)
(nnbabyl-delete-mail))
(nnheader-message 5 "Deleting article %d in %s..."
(car articles) newsgroup)
(nnbabyl-delete-mail))
@@
-295,7
+305,7
@@
(nconc rest articles))))
(deffoo nnbabyl-request-move-article
(nconc rest articles))))
(deffoo nnbabyl-request-move-article
-
(article group server accept-form &optional last
)
+
(article group server accept-form &optional last move-is-internal
)
(let ((buf (get-buffer-create " *nnbabyl move*"))
result)
(and
(let ((buf (get-buffer-create " *nnbabyl move*"))
result)
(and
@@
-336,7
+346,10
@@
(while (re-search-backward "^X-Gnus-Newsgroup: " beg t)
(delete-region (point) (progn (forward-line 1) (point)))))
(when nnmail-cache-accepted-message-ids
(while (re-search-backward "^X-Gnus-Newsgroup: " beg t)
(delete-region (point) (progn (forward-line 1) (point)))))
(when nnmail-cache-accepted-message-ids
- (nnmail-cache-insert (nnmail-fetch-field "message-id")))
+ (nnmail-cache-insert (nnmail-fetch-field "message-id")
+ group
+ (nnmail-fetch-field "subject")
+ (nnmail-fetch-field "from")))
(setq result
(if (stringp group)
(list (cons group (nnbabyl-active-number group)))
(setq result
(if (stringp group)
(list (cons group (nnbabyl-active-number group)))
@@
-352,7
+365,10
@@
(insert-buffer-substring buf)
(when last
(when nnmail-cache-accepted-message-ids
(insert-buffer-substring buf)
(when last
(when nnmail-cache-accepted-message-ids
- (nnmail-cache-insert (nnmail-fetch-field "message-id")))
+ (nnmail-cache-insert (nnmail-fetch-field "message-id")
+ group
+ (nnmail-fetch-field "subject")
+ (nnmail-fetch-field "from")))
(save-buffer)
(nnmail-save-active nnbabyl-group-alist nnbabyl-active-file))
result))))
(save-buffer)
(nnmail-save-active nnbabyl-group-alist nnbabyl-active-file))
result))))
@@
-431,9
+447,9
@@
(widen)
(narrow-to-region
(save-excursion
(widen)
(narrow-to-region
(save-excursion
- (unless (re-search-backward (concat "^" nnbabyl-mail-delimiter) nil t)
- (goto-char (point-min))
- (end-of-line))
+
(unless (re-search-backward (concat "^" nnbabyl-mail-delimiter) nil t)
+
(goto-char (point-min))
+
(end-of-line))
(if leave-delim (progn (forward-line 1) (point))
(match-beginning 0)))
(progn
(if leave-delim (progn (forward-line 1) (point))
(match-beginning 0)))
(progn
@@
-474,7
+490,7
@@
(when (re-search-forward "^X-Gnus-Newsgroup: +\\([^:]+\\):\\([0-9]+\\) "
nil t)
(cons (buffer-substring (match-beginning 1) (match-end 1))
(when (re-search-forward "^X-Gnus-Newsgroup: +\\([^:]+\\):\\([0-9]+\\) "
nil t)
(cons (buffer-substring (match-beginning 1) (match-end 1))
- (string-to-
int
+ (string-to-
number
(buffer-substring (match-beginning 2) (match-end 2)))))))
(defun nnbabyl-insert-lines ()
(buffer-substring (match-beginning 2) (match-end 2)))))))
(defun nnbabyl-insert-lines ()
@@
-557,10
+573,10
@@
(nnbabyl-create-mbox)
(unless (and nnbabyl-mbox-buffer
(nnbabyl-create-mbox)
(unless (and nnbabyl-mbox-buffer
- (buffer-name nnbabyl-mbox-buffer)
- (save-excursion
- (set-buffer nnbabyl-mbox-buffer)
- (= (buffer-size) (nnheader-file-size nnbabyl-mbox-file))))
+
(buffer-name nnbabyl-mbox-buffer)
+
(save-excursion
+
(set-buffer nnbabyl-mbox-buffer)
+
(= (buffer-size) (nnheader-file-size nnbabyl-mbox-file))))
;; This buffer has changed since we read it last. Possibly.
(save-excursion
(let ((delim (concat "^" nnbabyl-mail-delimiter))
;; This buffer has changed since we read it last. Possibly.
(save-excursion
(let ((delim (concat "^" nnbabyl-mail-delimiter))
@@
-649,4
+665,5
@@
(provide 'nnbabyl)
(provide 'nnbabyl)
+;;; arch-tag: aa7ddedb-8c07-4c0e-beb0-58e795c2b81b
;;; nnbabyl.el ends here
;;; nnbabyl.el ends here