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