Merged beta branch.
[elisp/wanderlust.git] / elmo / elmo-localnews.el
1 ;;; elmo-localnews.el -- Local News Spool Interface for ELMO.
2
3 ;; Copyright 1998,1999,2000 OKUNISHI Fujikazu <fuji0924@mbox.kyoto-inet.or.jp>
4 ;;                          Yuuichi Teranishi <teranisi@gohome.org>
5
6 ;; Author:  OKUNISHI Fujikazu <fuji0924@mbox.kyoto-inet.or.jp>
7
8 ;; This file is part of ELMO (Elisp Library for Message Orchestration).
9
10 ;; This program is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
13 ;; any later version.
14 ;;
15 ;; This program is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ;; GNU General Public License for more details.
19 ;;
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 ;; Boston, MA 02111-1307, USA.
24 ;;
25
26 ;;; Commentary:
27 ;; 
28
29 ;;; Code:
30 ;; 
31 (require 'elmo-localdir)
32
33 (defmacro elmo-localnews-as-newsdir (&rest body)
34   (` (let ((elmo-localdir-folder-path elmo-localnews-folder-path))
35        (,@ body))))
36
37 (defun elmo-localnews-msgdb-create-as-numlist (spec numlist new-mark
38                                                     already-mark seen-mark
39                                                     important-mark seen-list)
40   (when numlist
41     (elmo-localnews-as-newsdir
42      (elmo-localdir-msgdb-create-as-numlist spec numlist new-mark
43                                             already-mark seen-mark
44                                             important-mark seen-list))))
45
46 (defalias 'elmo-localnews-msgdb-create 'elmo-localnews-msgdb-create-as-numlist)
47
48 (defun elmo-localnews-list-folders (spec &optional hierarchy)
49   (let ((folder (concat "=" (nth 1 spec))))
50     (elmo-localnews-as-newsdir
51      (elmo-localdir-list-folders-subr folder hierarchy))))
52
53 (defun elmo-localnews-append-msg (spec string &optional msg no-see)
54   (elmo-localnews-as-newsdir
55    (elmo-localdir-append-msg spec string)))
56
57 (defun elmo-localnews-delete-msgs (dir number)
58   (elmo-localnews-as-newsdir
59    (elmo-localdir-delete-msgs dir number)))
60
61 (defun elmo-localnews-read-msg (spec number outbuf)
62   (elmo-localnews-as-newsdir
63    (elmo-localdir-read-msg spec number outbuf)))
64
65 (defun elmo-localnews-list-folder (spec)
66   (elmo-localnews-as-newsdir
67    (elmo-localdir-list-folder-subr spec)))
68
69 (defun elmo-localnews-max-of-folder (spec)
70   (elmo-localnews-as-newsdir
71    (elmo-localdir-list-folder-subr spec t)))
72
73 (defun elmo-localnews-check-validity (spec validity-file)
74   (elmo-localnews-as-newsdir
75    (elmo-localdir-check-validity spec validity-file)))
76
77 (defun elmo-localnews-sync-validity (spec validity-file)
78   (elmo-localnews-as-newsdir
79    (elmo-localdir-sync-validity spec validity-file)))
80
81 (defun elmo-localnews-folder-exists-p (spec)
82   (elmo-localnews-as-newsdir
83    (elmo-localdir-folder-exists-p spec)))
84
85 (defun elmo-localnews-folder-creatable-p (spec)
86   t)
87
88 (defun elmo-localnews-create-folder (spec)
89   (elmo-localnews-as-newsdir
90    (elmo-localdir-create-folder spec)))
91
92 (defun elmo-localnews-delete-folder (spec)
93   (elmo-localnews-as-newsdir
94    (elmo-localdir-delete-folder spec)))
95
96 (defun elmo-localnews-rename-folder (old-spec new-spec)
97   (elmo-localnews-as-newsdir
98    (elmo-localdir-rename-folder old-spec new-spec)))
99
100 (defun elmo-localnews-search (spec condition &optional from-msgs)
101   (elmo-localnews-as-newsdir
102    (elmo-localdir-search spec condition from-msgs)))
103
104 (defun elmo-localnews-copy-msgs (dst-spec msgs src-spec
105                                           &optional loc-alist same-number)
106   (elmo-localdir-copy-msgs
107    dst-spec msgs src-spec loc-alist same-number))
108
109 (defun elmo-localnews-pack-number (spec msgdb arg)
110   (elmo-localnews-as-newsdir
111    (elmo-localdir-pack-number spec msgdb arg)))
112
113 (defun elmo-localnews-use-cache-p (spec number)
114   nil)
115
116 (defun elmo-localnews-local-file-p (spec number)
117   t)
118
119 (defun elmo-localnews-get-msg-filename (spec number &optional loc-alist)
120   (elmo-localnews-as-newsdir
121    (elmo-localdir-get-msg-filename spec number loc-alist)))
122
123 (defalias 'elmo-localnews-sync-number-alist 'elmo-generic-sync-number-alist)
124 (defalias 'elmo-localnews-list-folder-unread
125   'elmo-generic-list-folder-unread)
126 (defalias 'elmo-localnews-list-folder-important
127   'elmo-generic-list-folder-important)
128 (defalias 'elmo-localnews-commit 'elmo-generic-commit)
129 (defalias 'elmo-localnews-folder-diff 'elmo-generic-folder-diff)
130
131 (require 'product)
132 (product-provide (provide 'elmo-localnews) (require 'elmo-version))
133
134 ;;; elmo-localnews.el ends here