2002-01-01 ShengHuo ZHU <zsh@cs.rochester.edu>
[gnus] / lisp / nnmaildir.el
1 ;;; nnmaildir.el --- maildir backend for Gnus
2 ;; Copyright (c) 2001, 2002 Free Software Foundation, Inc.
3 ;; Copyright (c) 2000, 2001 Paul Jarc <prj@po.cwru.edu>
4
5 ;; Author: Paul Jarc <prj@po.cwru.edu>
6
7 ;; This file is part of GNU Emacs.
8
9 ;; GNU Emacs is free software; you can redistribute it and/or modify
10 ;; it under the terms of the GNU General Public License as published by
11 ;; the Free Software Foundation; either version 2, or (at your option)
12 ;; any later version.
13
14 ;; GNU Emacs is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 ;; GNU General Public License for more details.
18
19 ;; You should have received a copy of the GNU General Public License
20 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 ;; Boston, MA 02111-1307, USA.
23
24 ;;; Commentary:
25
26 ;; Maildir format is documented in the maildir(5) man page from qmail
27 ;; and at <URL:http://cr.yp.to/proto/maildir.html>.  nnmaildir also
28 ;; stores extra information in the .nnmaildir/ directory within a
29 ;; maildir.
30 ;;
31 ;; Some goals of nnmaildir:
32 ;; * Everything Just Works, and correctly.  E.g., stale NOV data is
33 ;;   ignored; no need for -generate-nov-databases.
34 ;; * Perfect reliability: [C-g] will never corrupt its data in memory,
35 ;;   and SIGKILL will never corrupt its data in the filesystem.
36 ;; * We make it easy to manipulate marks, etc., from outside Gnus.
37 ;; * All information about a group is stored in the maildir, for easy
38 ;;   backup, copying, restoring, etc.
39 ;; * We use the filesystem as a database.
40 ;;
41 ;; Todo:
42 ;; * Don't force article renumbering, so nnmaildir can be used with
43 ;;   the cache and agent.  Alternatively, completely rewrite the Gnus
44 ;;   backend interface, which would have other advantages.
45 ;;
46 ;; See also <URL:http://multivac.cwru.edu./nnmaildir/> until that
47 ;; information is added to the Gnus manual.
48
49 ;;; Code:
50
51 (eval-and-compile
52   (require 'nnheader)
53   (require 'gnus)
54   (require 'gnus-util)
55   (require 'gnus-range)
56   (require 'gnus-start)
57   (require 'gnus-int)