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