* elmo-map.el (elmo-location-map-setup): Change an argument
[elisp/wanderlust.git] / elmo / ChangeLog
1 2006-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2
3         * elmo-map.el (elmo-location-map-setup): Change an argument
4         `locations' to optional.
5         (elmo-location-map-clear): Abolish.
6         (elmo-folder-clear): Follow the API change.
7
8         * elmo-pop3.el (elmo-folder-clear): Ditto.
9
10         * elmo-pop3.el (toplevel): Require elmo-map.
11         (elmo-pop3-folder): Inherit elmo-location-map and abolish
12         location-alist slot (All other related portions are changed).
13         (elmo-pop3-folder-use-uidl): New function.
14         (elmo-folder-msgdb-create): Don't sort message entities.
15         (elmo-pop3-sort-msgdb-by-original-number): Abolish.
16         (elmo-pop3-number-to-size): Convert return value to number.
17         (elmo-pop3-msgdb-create-by-header): Use unwind-protect to delete a
18         working buffer.
19
20         * elmo-map.el: Use `location-map' as a variable name for instance
21         instead of `mapper'.
22         (elmo-location-map-setup): Return location alist.
23         (elmo-location-map-update): Ditto.
24
25 2006-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
26
27         * elmo-map.el (elmo-location-map): New class; split location and
28         number mapping from elmo-map-folder (All other related portions
29         are changed).
30
31         * elmo-shimbun.el (elmo-folder-open-internal): Follow the API
32         change.
33
34         * elmo-version.el (elmo-version): Up to 2.15.4.
35
36 2006-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
37
38         * elmo-vars.el (elmo-use-hardlink): New user option.
39
40         * elmo-util.el (elmo-add-name-to-file): Switch implementations by
41         `elmo-use-hardlink'.
42
43         * elmo-pipe.el (elmo-pipe-folder-list-target-messages): Keep the
44         killed-list.
45         (elmo-pipe-drain): Use `elmo-folder-open' and `elmo-folder-close'
46         instead of `*-internal'. Use `elmo-with-progress-display'.
47
48 2006-09-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
49
50         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages): Use
51         `elmo-spam-process-messages-as-mbox'.
52
53         * elsp-sa.el (elmo-spam-spamassassin-register-messages): Ditto.
54
55 2006-08-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
56
57         * elsp-bsfilter.el (elsp-bsfilter-list-spam-files): Fix the
58         argument BUFFER of `call-process'.
59
60 2006-08-27  Yoichi NAKAYAMA  <yoichi@geiin.org>
61
62         * elsp-bsfilter.el (elsp-bsfilter-call-bsfilter): Remove nil from
63         args.
64         (elsp-bsfilter-list-spam-files): Ditto.
65
66 2006-08-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
67
68         * elsp-bsfilter.el (elmo-spam-bsfilter-max-files-per-process)
69         (elmo-spam-bsfilter-max-messages-per-process): New use option.
70         (elmo-spam-bsfilter-debug): Fix a group.
71         (elsp-bsfilter-call-bsfilter): Don't use `delq' and add option
72         `--homedir'.
73         (elmo-spam-buffer-spam-p): Don't specify `--homedir' option.
74         (elsp-bsfilter-list-spam-files): New function.
75         (elmo-spam-list-spam-messages): Define.
76         (elsp-bsfilter-register-buffer): Add an optional argument `mbox'.
77         (elmo-spam-bsfilter-register-messages): New function.
78         (elmo-spam-register-spam-messages): Define.
79         (elmo-spam-register-good-messages): Ditto.
80
81         * elmo-spam.el (elmo-spam-process-messages-as-mbox): New function.
82
83         * elmo-util.el (elmo-flatten): Use `append' and `listp' instead of
84         `nconc' and `consp'.
85
86 2006-08-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
87
88         * elmo-map.el (elmo-map-folder-update-locations): Rewrite with
89         hash table to test whether a location is exists.
90
91 2006-08-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
92
93         * elmo-archive.el (elmo-folder-append-messages): Delete temp-dir
94         even if some error occurred.
95
96         * elmo-archive.el (elmo-archive-folder-append-buffer): Remove
97         meaningless unwind-protect.
98
99         * elmo-maildir.el (elmo-folder-message-make-temp-files): Respect
100         start-number correctly.
101         * elmo-search.el (elmo-folder-message-make-temp-files): Ditto.
102         * elmo-file.el (elmo-folder-message-make-temp-files): Ditto.
103
104 2006-08-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
105
106         * elmo-flag.el (elmo-flag-folder-set-minfo): New function.
107         (elmo-folder-initialize): Use it.
108         (elmo-global-flag-replace-referrer): New function.
109
110         * elmo.el (toplevel): Added autoload setting for
111         `elmo-global-flag-replace-referrer'.
112         (elmo-folder-rename): Rewrite the last change use
113         `elmo-global-flag-replace-referrer'.
114
115         * elmo-pipe.el (elmo-folder-rename): Call
116         `elmo-global-flag-replace-referrer'.
117
118 2006-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
119
120         * elmo.el (elmo-folder-rename): Set meta data for global flags
121         follow the rename.
122
123 2006-07-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
124
125         * elmo-filter.el (elmo-folder-initialize): Set slot `number-list'
126         as 'not-loaded.
127         (elmo-folder-close): Ditto.
128         (elmo-filter-folder-number-list-loaded-p): New function.
129         (elmo-filter-folder-number-list): Check whether loaded or not.
130         (elmo-folder-commit): Use `elmo-filter-folder-number-list' instead
131         of `elmo-filter-folder-number-list-internal'.
132         (elmo-folder-delete-messages): Ditto.
133         (elmo-folder-length): Check whether number-list is loaded or not.
134
135 2006-06-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
136
137         * modb-entity.el (modb-entity-field-extractor-alist): Add 3rd
138         field `real field' into each element of list.
139         (elmo-msgdb-create-message-entity-from-buffer): Follow the above change.
140         (elmo-msgdb-message-entity-field): Ditto.
141         (modb-entity-ml-info-real-fields): New function.
142
143         * elmo-msgdb.el (elmo-msgdb-extra-fields): New function.
144
145         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Use function
146         `elmo-msgdb-extra-fields'.
147
148 2006-05-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
149
150         * elmo-util.el (elmo-passwd-alist-load): Move point to min
151         position before read.
152
153 2006-05-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
154
155         * elmo-flag.el (elmo-folder-expand-msgdb-path): Translate path.
156         (elmo-global-flags-initialize): Ditto.
157
158 2006-05-14  Yoichi NAKAYAMA  <yoichi@geiin.org>
159
160         * elmo-archive.el (toplevel): Don't require emu, std11
161         and elmo-localdir.
162
163         * elmo-localdir.el (elmo-message-file-name): Remove duplicate
164         definition.
165
166 2006-05-07  Yoichi NAKAYAMA  <yoichi@geiin.org>
167
168         * elmo.el (elmo-folder-confirm-appends): Display folder name.
169
170 2006-04-29  Yoichi NAKAYAMA  <yoichi@geiin.org>
171
172         * elmo-imap4.el (elmo-imap4-send-command): Use non-synchronizing
173         literals.
174
175 2006-04-21  Yoichi NAKAYAMA  <yoichi@geiin.org>
176
177         * elmo-maildir.el (elmo-maildir-list-location): Reduce
178         `elmo-get-last-modification-time' call.
179
180 2006-04-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
181
182         * elmo-maildir.el (elmo-maildir-list-location): Fixed a regular
183         expression.
184         (elmo-maildir-set-mark): Ditto.
185         (elmo-maildir-delete-mark): Ditto.
186
187 2006-03-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
188
189         * elmo-util.el (elmo-collect-separators-internal): Add 2nd
190         optional argument `separators'.
191
192 2006-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
193
194         * elmo.el (cache-changed): Abolish.
195         (status-changed): New signal.
196         (elmo-message-killed-p): New generic function and define for
197         elmo-folder.
198         (elmo-folder-recover-messages): Ditto.
199         (elmo-message-set-cached): Emit signal `status-changed' instead of
200         `cache-changed'.
201         (elmo-message-status): New macro.
202         (elmo-message-status-folder): Ditto.
203         (elmo-message-status-number): Ditto.
204         (elmo-message-status-set-flags): Ditto.
205         (elmo-message-status-set-killed): Ditto.
206         (elmo-message-status-flags): New function.
207         (elmo-message-status-cached-p): Ditto.
208         (elmo-message-status-killed-p): Ditto.
209
210         * elmo-pipe.el (elmo-pipe-connect-signals): Connect to signal
211         `status-changed' instead of `cache-changed'.
212         (elmo-folder-recover-messages): Define.
213         (elmo-message-killed-p): Ditto.
214
215         * elmo-filter.el (elmo-filter-connect-signals): Connect to signal
216         `status-changed' instead of `cache-changed'.
217
218         * elmo-multi.el (elmo-multi-connect-signals): Ditto.
219         (elmo-message-killed-p): Define.
220         (elmo-folder-recover-messages): Ditto.
221
222         * elmo-version.el (elmo-version): Up to 2.15.3.
223
224 2006-02-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
225
226         * elmo-signal.el (elmo-signal-bindings): Use cons to append
227         element into list.
228         (elmo-define-signal-handler): Add docstring.
229         (elmo-define-signal-filter): Ditto.
230
231         * elmo-multi.el (elmo-multi-connect-signals): Fix the signal name.
232
233 2006-02-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
234
235         * elmo-util.el (elmo-flatten): Don't use recursive call.
236
237         * elmo-search.el (elmo-folder-msgdb-create): Remove an unnecessary
238         assignment.
239         (elmo-folder-message-make-temp-files): Use `number-to-string'
240         instead of `int-to-string'.
241
242 2006-01-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
243
244         * elmo-search.el (elmo-folder-delete-messages): Define.
245
246 2006-01-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
247
248         * elmo-vars.el (elmo-mailing-list-name-spec-list): Fixed
249         customization type.
250         (elmo-mailing-list-count-spec-list): Ditto.
251
252         * elmo-vars.el (elmo-mailing-list-name-spec-list): Merge entries
253         for `list-id'.
254
255 2006-01-22  Yoichi NAKAYAMA  <yoichi@geiin.org>
256
257         * elmo-vars.el (elmo-mailing-list-name-spec-list): Fix list-id
258         handling.
259
260 2006-01-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
261
262         * elmo-vars.el (elmo-mailing-list-name-spec-list): New user option.
263         (elmo-mailing-list-count-spec-list): Ditto.
264
265         * elmo-util.el (elmo-map-until-success): New function.
266         (elmo-string-match-substring): Ditto.
267         (elmo-find-list-match-value): Ditto.
268
269         * modb-entity.el (modb-entity-extract-ml-info-from-x-sequence):
270         Removed.
271         (modb-entity-extract-ml-info-from-subject): Ditto.
272         (modb-entity-extract-ml-info-from-return-path): Ditto.
273         (modb-entity-extract-ml-info-from-delivered-to): Ditto.
274         (modb-entity-extract-ml-info-from-mailing-list): Ditto.
275         (modb-entity-extract-ml-info-from-mailman): Ditto.
276         (modb-entity-extract-mailing-list-info-functions): Ditto.
277         (modb-entity-extract-mailing-list-info): Rewrite with
278         `elmo-find-list-match-value'.
279
280 2006-01-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
281
282         * elmo-net.el (elmo-network-session-retry-count): New user option.
283         (elmo-network-session-buffer-name): New internal function.
284         (elmo-network-session-buffer-create): Ditto.
285         (elmo-network-open-session): Retry open network session
286         `elmo-network-session-retry-count' times.
287
288 2005-12-16  Tetsurou Okazaki  <okazaki@be.to>
289
290         * elmo-util.el (elmo-list-filter): Rewritten.
291
292 2005-12-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
293
294         * elmo-util.el (elmo-string-member): Allow symbol element in list.
295
296 2005-11-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
297
298         * elmo-search.el (elmo-make-search-engine): Use prefix
299         `elmo-search-' for require symbol instead of `else-'.
300         (elmo-search-engine-extprog): New class.
301         (elmo-search-engine-do-search): Remove nil from argument
302         list. Added argument pattern to evaluate element as function.
303         (elmo-search-engine-local-file): Derived from
304         `elmo-search-engine-extprog'.
305         (elmo-search-engine-create-message-entity): Check existance of file.
306         (elmo-search-engine-fetch-message): Ditto.
307         (elmo-search-namazu-index): Follow the API change.
308         (elmo-search-grep-target): Ditto.
309
310 2005-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
311
312         * elmo-spam.el (elmo-spam-message-fetch): Disable multibyte
313         characters of working buffer.
314
315         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
316         Does not bind `default-mime-charset'.
317         (elmo-msgdb-create-message-entity-from-buffer): Removed
318         unnecessary local bind.
319
320         * modb-entity.el (modb-entity-extract-ml-info-from-mailman): New
321         function.
322         (modb-entity-extract-mailing-list-info-functions): Added it.
323
324 2005-11-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
325
326         * modb-legacy.el (elmo-msgdb-append-entity): Execute the process
327         when number and message-id are non-nil.
328
329         * modb-standard.el (elmo-msgdb-append-entity): Ditto.
330
331         * elmo-pop3.el (elmo-pop3-auth-user): Refactoring nested
332         conditional steatment.
333         (elmo-pop3-auth-apop): Likewise.
334         (elmo-network-authenticate-session): Likewise.
335
336 2005-11-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
337
338         * elmo-mime.el (elmo-mime-header-max-column): Set default value as
339         symbol `fill-column'.
340         (elmo-mime-insert-header-from-buffer): Rewrite; ignore errors in
341         decode field value.
342
343         * elmo-util.el (elmo-mime-string): Ignore errors in eword decode.
344         (elmo-decoded-field-body): Ditto.
345
346 2005-11-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
347
348         * elmo-net.el (elmo-net-folder-set-parameters): Rename argument
349         `tokens' to `params'.
350
351 2005-10-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
352
353         * elmo-split.el (elmo-split-subr): Disable multibyte characters of
354         working buffer.
355
356 2005-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
357
358         * elmo-search.el (elmo-search-namazu-index): Fixed the order to
359         decide index.
360
361 2005-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
362
363         * elmo-search.el (elmo-search-engine-alist): Define with defvar;
364         Set default value as nil.
365         (toplevel): Register search engines by
366         `elmo-search-register-engine' if there are not defined.
367
368         * elmo.el (autoload): Added autoload setting for
369         `elmo-search-register-engine'.
370
371 2005-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
372
373         * elmo.el (toplevel): `[' is redefined as the prefix of the search
374         folder instead of nmz folder.
375         (elmo-nmz-default-index-path): Added obsolete variable setting.
376         (elmo-nmz-index-alias-alist): Ditto.
377         (elmo-nmz-use-drive-letter): Ditto.
378
379         * elmo-search.el (elmo-search-register-engine): New function.
380
381         * elmo-nmz.el: Removed.
382
383         * elmo-version.el (elmo-version): Up to 2.15.2.
384
385 2005-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
386
387         * elmo-search.el: New file.
388
389 2005-09-02  Yoichi NAKAYAMA  <yoichi@geiin.org>
390
391         * modb-entity.el (elmo-msgdb-message-match-condition): Add new
392         condition `larger' and `smaller'.
393
394 2005-07-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
395
396         * elmo-util.el (elmo-safe-filename): Rewrite to replace
397         `"' (double quote) into "_Q_".
398
399 2005-07-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
400
401         * elmo-net.el (elmo-net-quote-chars): Abolish.
402         (elmo-net-format-quoted): Ditto.
403
404 2005-06-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
405
406         * elmo.el (elmo-get-folder-function): New variable.
407         (elmo-get-folder): New function.
408         (elmo-folder-rename): Call `elmo-make-folder' with specified
409         mime-charset.
410
411         * elmo-split.el (elmo-split): Use `elmo-get-folder' instead of
412         `elmo-make-folder'.
413         (elmo-split-subr): Ditto.
414
415         * elmo-multi.el (elmo-folder-initialize): Ditto.
416
417         * elmo-internal.el (elmo-folder-list-subfolders): Ditto.
418
419         * elmo-flag.el (elmo-flag-folder-delete-message): Ditto.
420         (elmo-flag-get-folder): Ditto.
421
422         * elmo-filter.el (elmo-folder-initialize): Ditto.
423
424         * elmo-access.el (elmo-folder-initialize): Ditto.
425         (elmo-access-folder-update-children): Ditto.
426
427         * elmo-dop.el (elmo-dop-queue-flush): Ditto.
428         (elmo-dop-queue-flush): Ditto.
429         (elmo-folder-append-buffer-dop-delayed): Ditto.
430         (elmo-dop-spool-folder): Call `elmo-make-folder' with specified
431         mime-charset.
432
433         * elmo-pipe.el (elmo-folder-initialize): Use `elmo-get-folder'
434         instead of `elmo-make-folder'.
435         (elmo-folder-rename): Ditto.  Use `elmo-folder-rename' to
436         destination folder instead of send `elmo-folder-rename-internal'.
437
438         * elmo-shimbun.el (elmo-folder-list-subfolders): Use `shimbun'
439         slot of subfolder instead of create it.
440
441 2005-06-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
442
443         * elmo-util.el (elmo-collect-separators): New function.
444         (elmo-collect-separators-internal): Ditto.
445         (elmo-collect-trail-separators): Ditto.
446         (elmo-parse-separated-tokens): Ditto.
447         (elmo-parse-separated-tokens-internal): Ditto.
448         (elmo-quote-syntactical-element): Ditto.
449
450         * elmo-pop3.el (elmo-pop3-folder-name-syntax): New constant.
451         (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
452
453         * elmo-nntp.el (elmo-nntp-folder-name-syntax): New constant.
454         (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
455         (elmo-nntp-folder-list-subfolders): Quote a user name.
456
457         * elmo-net.el (elmo-net-folder-name-syntax): New constant.
458         (elmo-net-parse-network): Abolish.
459         (elmo-net-folder-set-parameters): New function.
460         (elmo-folder-initialize): Follow the above change.
461
462         * elmo-imap4.el (elmo-imap4-folder-name-syntax): New constant.
463         (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
464         (elmo-folder-list-subfolders): Use
465         `elmo-quote-syntactical-element' instead of
466         `elmo-net-format-quoted' to quote mailbox and user name.
467
468 2005-06-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
469
470         * elmo-util.el (elmo-token-valid-p): New function.
471         (elmo-parse-token): Add optional argument `requirement'.
472         (elmo-parse-prefixed-element): Likewise.
473
474         * elmo-net.el (elmo-net-quote-chars): Renamed from
475         `elmo-net-quote-chars-regexp'.
476         (elmo-net-format-quoted): Add optional argument `extra-chars'.
477
478         * elmo-pop3.el (elmo-folder-initialize): Fix the token separators
479         by info document. Check token `uidl' is started an alphabet.
480
481         * elmo-nntp.el (elmo-folder-initialize): Fix the token separators
482         by info document. Check token `user' is started an alphabet.
483
484         * elmo-imap4.el (elmo-folder-initialize): Ditto.
485         (elmo-folder-list-subfolders): Quote user.
486
487 2005-06-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
488
489         * elmo-util.el (elmo-quoted-specials-list): New constant.
490         (elmo-quoted-token): New function.
491
492         * elmo-net.el (elmo-net-quote-chars-regexp): New constant.
493         (elmo-net-format-quoted): New function.
494         (elmo-net-parse-network): Ditto.
495         (elmo-folder-initialize): Use it.
496
497         * elmo-nntp.el (elmo-folder-initialize): Use
498         `elmo-net-parse-network' to parse network specification instead of
499         `elmo-folder-initialize#elmo-net'.
500
501         * elmo-pop3.el (elmo-folder-initialize): Ditto.
502
503         * elmo-imap4.el (elmo-folder-initialize): Ditto.
504         (elmo-folder-list-subfolders): Quote folder name by
505         `elmo-net-format-quoted'.
506
507 2005-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
508
509         * elmo-nntp.el (elmo-nntp-use-server-search-p): New function.
510         (elmo-folder-search): Use it.
511
512 2005-04-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
513
514         * modb-standard.el (modb-standard-loaded-message-id): Use
515         `elmo-msgdb-message-entity-field'.
516
517 2005-04-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
518
519         * elmo-util.el (elmo-object-load): Call `elmo-set-auto-coding'
520         without filename.
521
522 2005-04-11  Katsumi Yamaoka  <yamaoka@jpl.org>
523
524         * elmo-util.el (elmo-set-auto-coding): New function.
525         (elmo-object-load): Use it.
526
527 2005-04-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
528
529         * elmo-date.el (elmo-time-less-p): Renamed from `elmo-time<'.
530         (elmo-time<): Define as alias of `elmo-time-less-p'.
531         (elmo-time-to-datevec): New function.
532
533         * elmo-date.el (elmo-time-to-days): New function.
534
535 2005-04-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
536
537         * elmo-util.el (elmo-map-recursive): Call `function' if `object'
538         is not cons cell.
539
540 2005-04-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
541
542         * modb-entity.el (modb-entity-encode-string-recursive): Fixed
543         parenthesis.
544
545         * elmo-util.el (elmo-map-recursive): New function.
546
547         * modb-entity.el (modb-entity-decode-string-recursive): Use it.
548         (modb-entity-encode-string-recursive): Ditto.
549
550 2005-04-05  Yuuichi Teranishi  <teranisi@gohome.org>
551
552         * elmo-maildir.el (elmo-maildir-sequence-number): New function.
553         (elmo-maildir-make-unique-string): Throw Emacs 18 away.
554         (elmo-maildir-list-location): Use `elmo-maildir-sequence-number' to
555         compare sequence number when last modified time is nil.
556
557 2005-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
558
559         * elmo-maildir.el (elmo-folder-msgdb-create): Don't sort by date.
560
561         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
562
563 2005-04-01  Yuuichi Teranishi  <teranisi@gohome.org>
564
565         * elmo-maildir.el (elmo-maildir-list-location): Sort by last
566         modification time of the file.
567
568 2005-03-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
569
570         * elmo-util.el (elmo-condition-optimize): Discriminated against
571         preserved fields, extra fields and the other weight.
572
573 2005-03-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
574
575         * modb-entity.el (initialize-instance): Define.
576         (modb-entity-handler-mime-charset): New internal function.
577         (modb-standard-entity-set-field): Use it.
578         (elmo-msgdb-message-entity-field): Ditto.
579         (elmo-msgdb-message-entity-field): Ditto.
580
581         * modb.el (elmo-msgdb-match-condition): Rewrite with
582         `elmo-condition-match'.
583         (elmo-msgdb-match-condition-primitive): New function.
584
585         * modb-entity.el (elmo-msgdb-message-match-condition): Removed
586         arguments `flags' and `numbers'.
587         (elmo-msgdb-match-condition-primitive): Abolished (merged to
588         `elmo-msgdb-message-match-condition').
589         (modb-buffer-entity-handler): New class.
590
591         * elmo.el (elmo-folder-search): Optimize condition to use
592         `elmo-condition-optimize'.
593         (elmo-message-buffer-match-condition): New function.
594         (elmo-message-match-condition): Use
595         `elmo-message-buffer-match-condition' instead of
596         `elmo-buffer-field-condition-match'.
597
598         * elmo-util.el (elmo-condition-match): New function.
599         (elmo-condition-optimize): Ditto.
600         (elmo-buffer-field-primitive-condition-match): Abolish.
601         (elmo-buffer-field-condition-match): Ditto.
602
603         * elmo-archive.el (elmo-archive-field-condition-match): Use
604         `elmo-message-buffer-match-condition' instead of
605         `elmo-buffer-field-condition-match'.
606
607 2005-03-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
608
609         * elmo-flag.el (elmo-global-flags-initialize): Check the
610         existence of the flag directory.
611
612 2005-03-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
613
614         * elmo-access.el (elmo-folder-initialize): Call
615         `elmo-multi-connect-signals'.
616
617         * elmo-pipe.el (elmo-folder-close): Define.
618
619         * elmo-multi.el (elmo-folder-close): Call `elmo-folder-close' with
620         children folders.
621
622         * elmo-filter.el (elmo-folder-close): Call `elmo-folder-close'
623         with target folder.
624
625         * modb-entity.el (elmo-msgdb-message-entity-set-number): Return
626         `number'.
627
628         * elmo-multi.el (elmo-message-entity): Don't use return value of
629         `elmo-message-entity-set-number'.
630
631 2005-03-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
632
633         * modb.el (modb-generic): Added slot `mime-charset'.
634
635         * modb-standard.el (modb-standard): Added slot `overview-handler'.
636         (modb-standard-save-entity-1): Use `modb-entity-handler-equal-p'
637         and `modb-entity-handler-dump-parameters'.
638         (modb-standard-default-entity-handler): Abolish.
639         (elmo-msgdb-message-entity-handler): Save created handler by
640         instance slot.
641
642         * modb-entity.el (modb-entity-handler): Added slot `mime-charset'.
643         (modb-entity-handler-list-parameters): New method.
644         (modb-entity-handler-equal-p): New function.
645         (modb-entity-handler-dump-parameters): Ditto.
646         (modb-entity-parse-address-string): Encode return value.
647         (modb-entity-make-address-string): Decode argument value.
648         (modb-entity-decode-string-recursive): New function.
649         (modb-entity-encode-string-recursive): Ditto.
650         (modb-standard-entity-normalizer): Set to encode field value.
651         (modb-standard-entity-specializer): Follow the above change.
652         (modb-standard-entity-set-field): Bind `elmo-mime-charset' by
653         mime-charset of handler.
654         (elmo-msgdb-message-entity-field): Ditto.
655         (elmo-msgdb-copy-message-entity): Fixed reference to internal
656         structure.
657         (modb-entity-make-mailing-list-info-string): Decode `ml-name'.
658
659         * elmo.el (elmo-folder): Added slot `mime-charset'.
660         (elmo-make-folder): Added argument `mime-charset'.
661         (elmo-folder-msgdb-load): Call `elmo-load-msgdb' with
662         `mime-charest'.
663
664         * elmo-msgdb.el (elmo-load-msgdb): Added argument `mime-charset'.
665         (elmo-make-msgdb): Likewise.
666
667         * elmo-internal.el (elmo-internal-folder-initialize): Call
668         `luna-make-entity' with :mime-charset parameter.
669
670 2005-03-21  Yuuichi Teranishi  <teranisi@gohome.org>
671
672         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Decode
673         encoded words in `from' and `subject' field.
674
675 2005-03-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
676
677         * modb.el (elmo-msgdb-message-field): Add argument `type'.
678         (elmo-msgdb-match-condition): Get handler from entity instead of
679         msgdb.
680
681         * modb-standard.el (modb-standard-economize-entity-size): Abolish.
682         (modb-standard-load-entity): Treat new file format.
683         (modb-standard-save-entity-1): Save as new file format.
684         (modb-standard-save-entity): Split messages into section here.
685         (elmo-msgdb-message-field): Follow the API change.
686         (modb-standard-default-entity-handler): New internal variable.
687         (elmo-msgdb-message-entity-handler): Define.
688
689         * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
690         to `elmo-vars.el'.
691         (modb-entity-field-extractor-alist): New user option.
692         (elmo-msgdb-message-entity-field): Removed argument `decode' and
693         added argument `type'.
694         (elmo-msgdb-copy-message-entity): Add optional argument
695         `make-handler'.
696         (modb-set-field-converter): New function.
697         (modb-convert-field-value): Ditto.
698         (modb-entity-string-decoder): Ditto.
699         (modb-entity-string-encoder): Ditto.
700         (modb-entity-parse-date-string): Ditto.
701         (modb-entity-make-date-string): Ditto.
702         (modb-entity-mime-decoder): Ditto.
703         (modb-entity-mime-encoder): Ditto.
704         (modb-entity-address-list-decoder): Ditto.
705         (modb-entity-address-list-encoder): Ditto.
706         (modb-entity-parse-address-string): Ditto.
707         (modb-entity-make-address-string): Ditto.
708         (modb-entity-create-field-indices): Ditto.
709         (modb-legacy-entity-field-slots): New constant.
710         (modb-legacy-entity-field-indices): Ditto.
711         (modb-legacy-entity-normalizer): New variable.
712         (modb-legacy-entity-specializer): Ditto.
713         (modb-legacy-entity-field-index): New macro.
714         (modb-legacy-entity-set-field): New function.
715         (modb-legacy-make-message-entity): Rewrite.
716         (elmo-msgdb-create-message-entity-from-buffer): Use
717         `elmo-msgdb-get-references-from-buffer'. Use
718         `elmo-decoded-field-body' instead of `elmo-unfold-field-body'.
719         Use `modb-legacy-entity-set-field' instead of
720         `elmo-msgdb-message-entity-set-field'.
721         (elmo-msgdb-message-entity-field): Rewrite.
722         (elmo-msgdb-message-entity-set-field): Ditto.
723         (elmo-msgdb-copy-message-entity): Make new entity by
724         `make-handler' if it specified.
725         (elmo-msgdb-message-match-condition): Define a method of
726         `modb-entity-handler' and follow the API change.
727         (modb-standard-entity-handler): New class.
728         (modb-entity-extract-ml-info-from-x-sequence): New function.
729         (modb-entity-extract-ml-info-from-subject): Ditto.
730         (modb-entity-extract-ml-info-from-return-path): Ditto.
731         (modb-entity-extract-ml-info-from-delivered-to): Ditto.
732         (modb-entity-extract-ml-info-from-mailing-list): Ditto.
733         (modb-entity-extract-mailing-list-info): Ditto.
734         (modb-entity-extract-mailing-list-info-functions): New variable.
735
736         * elmo.el (elmo-message-field): Add optional argument `type'.
737
738         * elmo-vars.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
739         from `modb-entity.el'.
740
741         * elmo-util.el (elmo-object-load): Decode by coding-system from
742         `set-auto-coding-function'.
743         (elmo-object-save): Use `detect-mime-charset-region' and add
744         coding cookie if encode.
745         (elmo-msgdb-get-references-from-buffer): New function.
746         (elmo-parse-addresses): Ditto (renamed from `wl-parse-addresses').
747
748         * elmo-spam.el (elmo-spam-message-spam-p): Follow the API change.
749
750         * elmo-shimbun.el (elmo-shimbun-parse-time-string): Removed.
751         (elmo-shimbun-entity-to-header): Use `shimbun-create-header'
752         instead of `shimbun-make-header' and follow the API change.
753         (elmo-shimbun-update-overview): Follow the API change.
754         (elmo-map-folder-list-message-locations): Ditto.
755
756         * elmo-pipe.el (elmo-message-field): Ditto.
757
758         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
759         Ditto.
760
761         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
762
763         * elmo-multi.el (elmo-message-field): Ditto.
764
765         * elmo-msgdb.el (elmo-message-entity-field): Ditto.
766         (elmo-msgdb-sort-by-date): Ditto.
767         (elmo-msgdb-flag-table): Use `elmo-msgdb-message-field' instead of
768         `elmo-message-entity-field'.
769         (elmo-msgdb-overview-entity-get-from-no-decode): Follow the API
770         change.
771         (elmo-msgdb-overview-entity-get-from): Ditto.
772         (elmo-msgdb-overview-entity-get-subject): Ditto.
773         (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
774         (elmo-msgdb-overview-entity-get-date): Ditto.
775         (elmo-msgdb-overview-entity-get-to): Ditto.
776         (elmo-msgdb-overview-entity-get-cc): Ditto.
777
778         * elmo-mime.el (elmo-message-mime-entity): Ditto.
779         (elmo-mime-collect-message/partial-pieces): Ditto.
780
781         * elmo-filter.el (elmo-message-field): Ditto.
782
783         * elmo-date.el (elmo-datevec-to-time): New function.
784         (elmo-time-parse-date-string): Ditto.
785         (elmo-time-make-date-string): Ditto.
786         (elmo-time<): Ditto.
787
788         * elmo-version.el (elmo-version): Up to 2.15.1.
789
790 2005-03-14  Yoichi NAKAYAMA  <yoichi@geiin.org>
791
792         * elmo-flag.el (elmo-global-flags-initialize): Don't include
793         member of elmo-local-flags.
794
795 2005-03-13  Yuuichi Teranishi  <teranisi@gohome.org>
796
797         * elmo-version.el (elmo-version): Up to 2.15.0.
798
799 2005-03-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
800
801         * elmo.el (elmo-folder-synchronize): Ignore `mask' when
802         `ignore-msgdb' is non-nil.
803
804 2005-03-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
805
806         * elmo-util.el (elmo-condition-in-msgdb-p-internal): Removed.
807         (elmo-condition-in-msgdb-p): Ditto.
808         (elmo-file-field-primitive-condition-match): Ditto.
809         (elmo-file-field-condition-match): Ditto.
810
811         * elmo-localdir.el (elmo-localdir-field-condition-match): Ditto.
812
813 2005-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
814
815         * elmo-flag.el (elmo-folder-list-subfolders): Don't list from
816         subdirectories here.
817         (elmo-global-flags-initialize): New function.
818
819         * elmo.el (toplevel): Added autoload setting for
820         `elmo-global-flags-initialize'.
821
822 2005-03-07  Yoichi NAKAYAMA  <yoichi@geiin.org>
823
824         * elmo.el (message-number-changed): Define new signal.
825         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Emit
826         message-number-changed signal.
827         * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
828         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
829         Respect `elmo-pack-number-check-strict'.
830
831 2005-03-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
832
833         * elmo-signal.el (elmo-connect-signal): Document.
834         (elmo-emit-signal): Ditto.
835         (elmo-emit-signal): It should pass source argument to filter and
836         handler, not slot-source.
837
838 2005-03-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
839
840         * modb.el (elmo-msgdb-update-entity): New API and define generic
841         implement.
842
843         * modb-standard.el (elmo-msgdb-update-entity): Define.
844
845         * modb-entity.el (elmo-msgdb-message-entity-update-fields): New
846         API and define generic implement.
847
848         * elmo.el (update-overview): New singnal.
849
850         * elmo-shimbun.el (elmo-shimbun-update-overview): Rewrite use
851         `elmo-msgdb-update-entity' and emit signal `update-overview'.
852         (elmo-message-entity-parent): Define.
853
854         * elmo-pipe.el (elmo-pipe-connect-signals): Connect to signal
855         `update-overview'.
856
857         * elmo-multi.el (elmo-multi-connect-signals): Ditto.
858
859         * elmo-filter.el (elmo-filter-connect-signals): Ditto.
860
861 2005-02-27  Yuuichi Teranishi  <teranisi@gohome.org>
862
863         * elmo.el (elmo-folder-synchronize): Sort the return value of
864         `elmo-list-diff'.
865
866         * elmo-util.el (elmo-list-diff): Don't care the order of the returned
867         list.
868
869 2005-02-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
870
871         * elmo-util.el (elmo-with-enable-multibyte): Don't bind
872         `default-enable-multibyte-characters'.
873         (elmo-object-load): Use `with-temp-buffer' instead of
874         `elmo-set-work-buf'.
875         (elmo-object-save): Ditto.
876         (elmo-mime-string): Use `elmo-with-enable-multibyte' instead of
877         `elmo-set-work-buf'.
878         (elmo-decoded-field-body): Ditto.
879
880         * elmo-shimbun.el (elmo-shimbun-entity-to-header): Ditto.
881
882         * elmo-sendlog.el (elmo-sendlog-folder-list-message-locations):
883         Use `with-temp-buffer' instead of `elmo-set-work-buf'.
884
885         * elmo-version.el (elmo-version): Up to 2.13.3.
886
887 2005-02-27  Tetsurou Okazaki  <okazaki@be.to>
888
889         * elmo-util.el (elmo-list-diff): Fix the last change.
890         Reverse order of result lists.
891
892 2005-02-26  Yuuichi Teranishi  <teranisi@gohome.org>
893
894         * modb-standard.el (elmo-msgdb-set-flag): Use
895         `elmo-list-diff-nonsortable' instead of `elmo-list-diff'.
896         (elmo-msgdb-unset-flag): Ditto.
897
898         * elmo.el (elmo-strict-folder-diff): Don't use third argument of
899         `elmo-list-diff'.
900
901         * elmo-util.el (elmo-list-diff): Rewrite.
902         (elmo-list-diff-nonsortable): New function.
903
904 2005-02-26  Tetsurou Okazaki  <okazaki@be.to>
905
906         * elmo-util.el (elmo-multibyte-buffer-name): Renamed from
907         `elmo-multibypte-buffer-name'.  All referers are updated.
908
909 2005-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
910
911         * elmo-mime.el (elmo-mime-entity-reassembled-p): New method.
912         (elmo-mime-entity-fragment-p): New function.
913         (mime-elmo-buffer-entity): Added slot `reassembled'.
914         (elmo-message-mime-entity): Added 4th argument `reassemble'.
915         (elmo-message-mime-entity-internal): New function (renamed from
916         `elmo-message-mime-entity').
917         (elmo-mime-inherit-field-list-from-enclosed): New constant.
918         (elmo-mime-make-reassembled-mime-entity): New function.
919         (elmo-message-reassembled-mime-entity): Ditto.
920         (elmo-mime-collect-message/partial-pieces): Ditto.
921
922 2005-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
923
924         * elmo.el (elmo-message-fetch-string): Disable multibyte.
925
926         * elmo-util.el (elmo-multibypte-buffer-name): New constant.
927         (elmo-with-enable-multibyte): New macro.
928
929         * modb-entity.el (elmo-msgdb-get-decoded-cache): Use it.
930
931 2005-02-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
932
933         * elmo-filter.el (elmo-filter-add-flag-count): Removed unused
934         argument `number'.
935         (elmo-filter-connect-signals): Follow the above change.
936
937 2005-02-19  Yuuichi Teranishi  <teranisi@gohome.org>
938
939         * modb-standard.el (elmo-msgdb-unset-flag): Bind inhibit-quit.
940
941         * elmo-maildir.el (elmo-folder-append-messages): Fix the problem
942         that only the first flag is used.
943
944 2005-02-17  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
945
946         * elmo-shimbun.el (elmo-folder-exists-p): Use `shimbun-group-p' 
947         if available.
948
949 2005-02-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
950
951         * elmo-signal.el: New file.
952
953         * elmo.el (toplevel): Require elmo-signal.
954         (flag-changing, flag-changed, cache-changed): New signal.
955         (elmo-folder): Remove slog `handlers'.
956         (elmo-message-set-cached): Use `elmo-emit-signal' instead of
957         `elmo-folder-notify-event'.
958         (elmo-folder-set-flag): Likewise. Emit signal `flag-changing'.
959         (elmo-folder-unset-flag): Ditto.
960         (elmo-event-handler): Abolish.
961         (elmo-event-handler-flag-changed): Ditto.
962         (elmo-event-handler-cache-changed): Ditto.
963         (elmo-folder-add-handler): Ditto.
964         (elmo-folder-remove-handler): Ditto.
965         (elmo-folder-notify-event): Ditto.
966
967         * elmo-pipe.el (toplevel): Require elmo-signal.
968         (elmo-folder-initialize): Call `elmo-pipe-connect-signals'.
969         (elmo-pipe-connect-signals): New function.
970         (elmo-message-fetch): Does not call `elmo-folder-notify-event'.
971         (elmo-folder-set-flag): Ditto.
972         (elmo-folder-unset-flag): Ditto.
973         (elmo-message-set-cached): Ditto.
974
975         * elmo-multi.el (toplevel): Require elmo-signal.
976         (elmo-folder-initialize): Call `elmo-multi-connect-signals'.
977         (elmo-multi-connect-signals): New function.
978         (elmo-multi-map-numbers): Ditto.
979         (elmo-message-set-cached): Does not call `elmo-folder-notify-event'.
980         (elmo-message-fetch): Ditto.
981         (elmo-folder-set-flag): Ditto.
982         (elmo-folder-unset-flag): Ditto.
983
984         * elmo-filter.el (toplevel): Require elmo-signal.
985         (elmo-folder-initialize): Call `elmo-filter-connect-signals'.
986         (elmo-filter-connect-signals): New function.
987         (elmo-filter-add-flag-count): Ditto.
988         (elmo-message-fetch): Does not call
989         `elmo-filter-folder-countup-message-flags' and
990         `elmo-folder-notify-event'.
991         (elmo-message-set-cached): Ditto.
992         (elmo-folder-set-flag): Ditto.
993         (elmo-folder-unset-flag): Ditto.
994
995         * elmo-version.el (elmo-version): Up to 2.13.2.
996
997 2005-02-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
998
999         * elmo-imap4.el (elmo-imap4-flags-to-imap): Preserve argument
1000         `flags'.
1001
1002 2005-02-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1003
1004         * elmo-filter.el (elmo-message-set-cached): Call
1005         `elmo-folder-notify-event' with event `cache-changed'.
1006
1007         * elmo-multi.el (elmo-message-set-cached): Ditto.
1008
1009         * elmo-pipe.el (elmo-message-set-cached): Ditto.
1010
1011 2005-02-16  Yoichi NAKAYAMA  <yoichi@geiin.org>
1012
1013         * elmo.el (elmo-folder-encache): Abolish.
1014
1015 2005-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
1016
1017         * elmo-dop.el (elmo-folder-delete-messages-dop): Delete 'Append' queue.
1018         (elmo-folder-next-message-number-dop): Return appropriate negative
1019         integer.
1020
1021 2005-02-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
1022
1023         * elmo-dop.el (elmo-dop-queue-flush): Remove files in dop spool on
1024         clearing pending operations.
1025         (elmo-folder-next-message-number-dop): Return appropriate negative
1026         integer.
1027
1028 2005-02-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1029
1030         * elmo.el (toplevel): Added autoload setting for `md5'.
1031         (elmo-msgdb-path-encode-threshold): New user option.
1032         (elmo-folder-msgdb-path): Encode msgdb path if its length is
1033         longer than `elmo-msgdb-path-encode-threshold'.
1034
1035         * elmo-flag.el (elmo-global-mark-migrate): Use
1036         `elmo-folder-expand-msgdb-path' instead of
1037         `elmo-folder-msgdb-path'.
1038
1039 2005-02-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1040
1041         * elmo-multi.el (elmo-multi-folder-diff): Fixed problem when the
1042         element of the difference is nil.
1043
1044 2005-02-11  Yuuichi Teranishi  <teranisi@gohome.org>
1045
1046         * elmo-maildir.el (elmo-maildir-separator): Added some OS types
1047         to the check logic of file systems which are weak in colon character.
1048
1049 2005-02-11  Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
1050
1051         * elmo-maildir.el (elmo-maildir-move-file): Simplify.
1052
1053 2005-02-10  Yuuichi Teranishi  <teranisi@gohome.org>
1054
1055         * elmo-maildir.el (elmo-maildir-move-file): New function.
1056         (elmo-folder-append-buffer): Use it.
1057         (elmo-folder-append-messages): Ditto.
1058         (These changes are based on Ron Isaacson's patch [wl-en: 01205])
1059
1060         * elmo-imap4.el (elmo-imap4-decode-folder-string): Call `utf7-decode'.
1061         (elmo-imap4-encode-folder-string): Call `utf7-encode'.
1062
1063         * elmo-maildir.el (elmo-maildir-separator): New user option.
1064         (elmo-maildir-adjust-separator): New macro.
1065         (elmo-maildir-list-location): Use it.
1066         (elmo-maildir-update-current): Ditto.
1067         (elmo-maildir-set-mark): Ditto.
1068         (elmo-maildir-delete-mark): Ditto.
1069         (These changes are based on Hiroya Murata's patch [wl: 13437])
1070
1071 2005-02-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1072
1073         * elmo-nntp.el (elmo-nntp-server-command-index): Add entry `xhdr'.
1074
1075 2005-02-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1076
1077         * elmo-flag.el (elmo-flag-valid-p): Simplify.
1078         (elmo-folder-list-subfolders): Copy `elmo-global-flags'.
1079         (elmo-folder-delete): Update `elmo-global-flag-folder-alist'.
1080
1081 2005-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1082
1083         * elmo-util.el (elmo-passwd-alist-load, elmo-passwd-alist-save):
1084         Use `with-temp-buffer'.
1085
1086 2005-01-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1087
1088         * elmo-flag.el (elmo-folder-initialize): Fixed the last change.
1089
1090         * elmo-util.el (elmo-read-search-condition): Eliminate (renamed to
1091         `wl-read-search-condition').
1092         (elmo-read-search-condition-internal): Likewise.
1093
1094         * elmo-flag.el (elmo-flag-char-regexp): New constant.
1095         (elmo-flag-valid-p): New function.
1096         (elmo-folder-initialize): Check flag name is valid.
1097
1098 2005-01-26  Yuuichi Teranishi  <teranisi@gohome.org>
1099
1100         * elmo-imap4.el (elmo-folder-list-subfolders): Use root mailbox without
1101         delimiter to obtain root mailbox itself.
1102
1103 2005-01-25  Tetsurou Okazaki  <okazaki@be.to>
1104
1105         * elmo-net.el (elmo-network-session-idle-timeout): Fix customization
1106         type mismatch.
1107
1108 2005-01-24  Yuuichi Teranishi  <teranisi@gohome.org>
1109
1110         * elmo-mime.el (elmo-mime-entity-display): Bind elmo-message-displaying
1111         as t.
1112
1113 2005-01-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1114
1115         * elmo-shimbun.el (toplevel): Require cl at compile.
1116
1117         * elmo-nntp.el (toplevel): Ditto.
1118
1119         * elmo-nmz.el (toplevel): Ditto.
1120
1121         * elmo-multi.el (toplevel): Ditto.
1122
1123         * elmo-file.el (toplevel): Ditto.
1124
1125         * elmo-dop.el (toplevel): Ditto.
1126
1127         * elmo-archive.el (toplevel): Likewise elmo and cl (at compile).
1128
1129 2005-01-20  Yuuichi Teranishi  <teranisi@gohome.org>
1130
1131         * mmimap.el (mmimap-make-mime-entity): Set children's top node number
1132         as nil.
1133
1134         * elmo.el (elmo-message-fetch): Return t even when the output buffer
1135         size of elmo-message-fetch-internal is 0 byte.
1136
1137 2005-01-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1138
1139         * elmo-maildir.el (elmo-map-message-fetch): Fixed last change.
1140
1141 2005-01-13  Yoichi NAKAYAMA  <yoichi@geiin.org>
1142
1143         * elmo-shimbun.el (elmo-folder-plugged-p): Treat "@" as
1144         always plugged.
1145
1146 2005-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1147
1148         * elmo-maildir.el (elmo-map-message-fetch): Call
1149         `elmo-map-folder-set-flag'.
1150
1151         * elmo.el (elmo-message-fetch-with-cache-process): Abolish.
1152         (elmo-message-fetch): Merge from
1153         `elmo-message-fetch-with-cache-process'.
1154
1155         * elmo-sendlog.el (elmo-message-fetch-with-cache-process): Abolish.
1156         (elmo-message-fetch): Define.
1157
1158         * elmo-nntp.el (elmo-message-fetch): Renamed from
1159         `elmo-message-fetch-with-cache-process'.
1160
1161         * elmo-cache.el (elmo-message-fetch-with-cache-process): Abolish.
1162         (elmo-message-fetch): Define.
1163
1164         * elmo-util.el (elmo-condition-parse-primitive): Downcase
1165         search-key.
1166
1167         * elmo-shimbun.el (shimbun-mua-search-id): Use
1168         `elmo-message-entity' instead of `elmo-msgdb-message-entity'.
1169         (elmo-shimbun-folder-shimbun-header): Ditto.
1170         (elmo-shimbun-get-headers): Ditto.
1171         (elmo-shimbun-update-overview): Ditto.
1172
1173         * elmo-pipe.el (elmo-folder-detach-messages): Define.
1174
1175         * elmo-net.el (elmo-folder-list-messages-unplugged): Use
1176         `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
1177
1178 2005-01-13  Yuuichi Teranishi  <teranisi@gohome.org>
1179
1180         * elmo.el (elmo-message-fetch): Unset unread flag on server when
1181         message is cached.
1182         (elmo-message-fetch-string): Fixed argument.
1183
1184 2005-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1185
1186         * elmo.el (elmo-message-fetch): Removed argument `outbuf' and
1187         exchange order of arguments `section' and `unread'.
1188         (elmo-message-encache): Follow the API change.
1189         (elmo-message-match-condition): Ditto.
1190         (elmo-generic-folder-append-messages): Ditto.
1191         (elmo-message-fetch-string): New function.
1192
1193         * elmo-split.el (elmo-split-subr): Ditto.
1194
1195         * elmo-spam.el (elmo-spam-message-fetch): Ditto.
1196
1197         * elmo-pipe.el (elmo-message-fetch): Ditto.
1198
1199         * elmo-multi.el (elmo-message-fetch): Ditto.
1200
1201         * elmo-mime.el (elmo-message-mime-entity): Ditto.
1202
1203         * elmo-flag.el (elmo-global-flag-set-internal): Ditto.
1204
1205         * elmo-filter.el (elmo-message-fetch): Ditto.
1206
1207         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.
1208
1209         * elmo-imap4.el (mime-imap-location-section-body): Use
1210         `elmo-message-fetch-string' instead of `elmo-message-fetch' and
1211         follow the API change.
1212
1213 2005-01-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1214
1215         * elmo-access.el: New file.
1216
1217         * elmo-null.el: Ditto.
1218
1219         * elmo-internal.el (elmo-internal-folder-list): Added `null'.
1220
1221 2005-01-08  Yuuichi Teranishi  <teranisi@gohome.org>
1222
1223         * elmo-net.el (elmo-network-session-idle-timeout): New option.
1224         (elmo-network-session): New attribute `last-accessed'.
1225         (elmo-network-get-session): Discard network cache if elapsed time
1226         since last-accessed is larger than elmo-network-session-idle-timeout.
1227
1228 2005-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1229
1230         * elmo.el (elmo-find-fetch-strategy): Removed argument `entity'
1231         and added `number', `require-entireness'.
1232         (elmo-find-fetch-strategy): Rewrite.
1233         (elmo-message-fetch): Unset `unread' flag when argument unread is
1234         non-nil.
1235
1236         * elmo-spam.el (elmo-spam-message-fetch): Follow the API change.
1237
1238         * elmo-multi.el (elmo-find-fetch-strategy): Ditto.
1239         (elmo-message-fetch): Notify event `flag-changed'.
1240
1241         * elmo-pipe.el: Likewise.
1242
1243         * elmo-mime.el (elmo-mime-entity): New class.
1244         (elmo-mime-entity-display-p): New generic function.
1245         (elmo-mime-entity-display): Ditto.
1246         (elmo-mime-entity-display-as-is): Ditto.
1247         (mime-elmo-buffer-entity, mime-elmo-imap-entity): Inherit
1248         elmo-mime-entity.
1249         (elmo-make-mime-message-location): Removed.
1250         (elmo-mime-message-display): Ditto.
1251         (elmo-mime-display-as-is): Ditto.
1252         (elmo-message-mime-entity): New function.
1253
1254         * elmo-imap4.el (elmo-find-fetch-strategy): Rewrite.
1255
1256         * elmo-filter.el (elmo-find-fetch-strategy): Follow the API
1257         change.
1258         (elmo-message-fetch): Re-count flagged message number and notify
1259         event `flag-changed'.
1260
1261         * elmo-version.el (elmo-version): Up to 2.13.1.
1262
1263 2005-01-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1264
1265         * elmo-filter.el (elmo-message-field): Define.
1266         (elmo-message-set-field): Ditto.
1267
1268 2004-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1269
1270         * elmo.el (elmo-message-set-cached): Call
1271         `elmo-folder-notify-event' with cache-changed.
1272         (elmo-event-handler-cache-changed): New generic function.
1273
1274 2004-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
1275
1276         * elmo-maildir.el (elmo-folder-append-buffer): Use elmo-copy-file
1277         instead of elmo-add-name-to-file.
1278         (elmo-folder-append-messages): Ditto.
1279
1280 2004-12-21  Yoichi NAKAYAMA  <yoichi@geiin.org>
1281
1282         * elmo.el (elmo-folder-update-threshold): Add nil to range.
1283
1284 2004-12-12  Yuuichi Teranishi  <teranisi@gohome.org>
1285
1286         * elmo-version.el (elmo-version): Up to 2.13.0.
1287
1288         * elmo-vars.el (elmo-msgdb-convert-type): Changed default value to
1289         `auto'.
1290
1291         * modb-standard.el (modb-standard-economize-entity-size): Changed
1292         default value to `t'.
1293
1294         * elmo-vars.el (elmo-msgdb-default-type): Changed default value to
1295         `standard'.
1296
1297         * elmo-imap4.el (elmo-network-initialize-session): Erase buffer
1298         after parsing greeting string.
1299
1300 2004-11-23  Daishi Kato <daishi@axlight.com>
1301
1302         * elsp-spamoracle.el (elmo-spam-spamoracle-spam-header-regexp):
1303         New user option.
1304         (elmo-spam-spamoracle-call): Use it.
1305
1306 2004-11-23  Yoichi NAKAYAMA  <yoichi@geiin.org>
1307
1308         * elmo.el (elmo-message-accessible-p): Message in dop spool
1309         is accessible.
1310
1311 2004-11-23  Daishi Kato <daishi@axlight.com>
1312
1313         * elsp-spamoracle.el: New file.
1314
1315 2004-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1316
1317         * elmo.el (elmo-message-flags-for-append): New function.
1318         (elmo-generic-folder-append-messages): Use it.
1319
1320         * elmo-split.el (elmo-split-subr): Ditto.
1321
1322         * elmo-dop.el (elmo-dop-spool-folder-append-buffer): Add argument
1323         `flags' and use elmo-folder-append-buffer instead of
1324         write-region-as-binary.
1325         (elmo-dop-filter-pending-messages): New function.
1326         (elmo-folder-append-buffer-dop): Call
1327         elmo-dop-spool-folder-append-buffer with `flag'.
1328         (elmo-folder-set-flag-dop): Filter messages by
1329         elmo-dop-filter-pending-messages.
1330         (elmo-folder-unset-flag-dop): Ditto.
1331         (elmo-folder-append-buffer-dop-delayed): Use
1332         elmo-message-flags-for-append to get flags of the message and
1333         simplify.
1334
1335 2004-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
1336
1337         * elmo-mime.el (elmo-mime-display-as-is): Treat ignore-cache argument.
1338
1339 2004-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1340
1341         * elmo.el (elmo-folder): Added handlers slot.
1342         (elmo-event-handler): New class.
1343         (elmo-event-handler-flag-changed): New API.
1344         (elmo-folder-add-handler): New function.
1345         (elmo-folder-remove-handler): Ditto.
1346         (elmo-folder-notify-event): Ditto.
1347         (elmo-folder-set-flag): Call `elmo-folder-notify-event' with event
1348         `flag-changed'.
1349         (elmo-folder-unset-flag): Ditto.
1350
1351         * elmo-pipe.el (elmo-folder-set-flag): Ditto.
1352         (elmo-folder-unset-flag): Ditto.
1353
1354         * elmo-multi.el (elmo-folder-set-flag): Ditto.
1355         (elmo-folder-unset-flag): Ditto.
1356
1357         * elmo-filter.el (elmo-folder-set-flag): Ditto.
1358         (elmo-folder-unset-flag): Ditto.
1359
1360         * elmo-version.el (elmo-version): Up to 2.11.33.
1361
1362 2004-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1363
1364         * modb-legacy.el (elmo-msgdb-unset-flag): Accept flag `all'.
1365
1366 2004-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1367
1368         * elmo-multi.el (elmo-folder-unset-flag): Ignore errors.
1369
1370         * elmo-flag.el (elmo-folder-unset-flag): Define.
1371         (elmo-global-flag-detach): Do process when the flag is not target
1372         flag.
1373
1374 2004-10-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1375
1376         * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): New
1377         variable.
1378         (elmo-msgdb-create-message-entity-from-buffer): Use it.
1379
1380 2004-10-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1381
1382         * elmo-filter.el (elmo-filter-folder-copy-flag-count): New
1383         function.
1384         (elmo-folder-delete-messages): Detach messages before delete
1385         messages from target folder.
1386         (elmo-folder-detach-messages): Set updated number-list to slot.
1387
1388 2004-10-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1389
1390         * elmo-filter.el (elmo-folder-detach-messages): Always return t.
1391
1392 2004-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1393
1394         * elmo.el (elmo-generic-folder-commit): Fixed parenthesis.
1395
1396 2004-10-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1397
1398         * elmo.el (elmo-folder-delete-messages-internal): New API (for
1399         internal use only).
1400         (elmo-generic-folder-commit): Save `killed-list' even if msgdb is
1401         not modified.
1402         (elmo-folder-delete-messages): Define.
1403         (elmo-folder-move-messages): Don't call
1404         `elmo-folder-detach-messages'.
1405         (elmo-folder-synchronize): Rewrite.
1406         (elmo-folder-detach-messages): Delete numbers from `killed-list'.
1407
1408         * elmo-util.el (elmo-last): New function.
1409         (elmo-set-list): Ditto.
1410         (elmo-number-set-delete-list): Ditto.
1411         (elmo-number-set-delete): Ditto.
1412
1413         * elmo-shimbun.el (elmo-folder-delete-messages): Define.
1414
1415         * elmo-map.el (elmo-folder-delete-messages-internal): Renamed from
1416         `elmo-folder-delete-messages' and don't delete location map.
1417         (elmo-folder-detach-messages): Define.
1418
1419         * elmo-imap4.el (elmo-folder-delete): Use
1420         `elmo-folder-delete-messages-internal' instead of
1421         `elmo-folder-delete-messages'.
1422
1423         * elmo-filter.el (elmo-folder-delete-messages): Call
1424         `elmo-folder-detach-messages'.
1425         (elmo-folder-detach-messages): Don't call
1426         `elmo-folder-detach-messages' for target folder.
1427
1428         * elmo-cache.el (elmo-map-folder-delete-messages): Return t when
1429         message deletion is succeeded.
1430
1431         * elmo-maildir.el (elmo-map-folder-delete-messages): Ditto.
1432
1433         * elmo-archive.el (elmo-folder-delete-messages-internal): Renamed
1434         from `elmo-folder-delete-messages'.
1435
1436         * elmo-flag.el (elmo-folder-delete-messages-internal): Ditto.
1437
1438         * elmo-localdir.el (elmo-folder-delete-messages-internal): Ditto.
1439
1440         * elmo-net.el (elmo-folder-delete-messages-internal): Ditto.
1441
1442         * elmo-version.el (elmo-version): Up to 2.11.32.
1443
1444 2004-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
1445
1446         * elmo.el (autoload): Added autoload setting for `elmo-local-flag-p'.
1447         (elmo-global-flag-list): Added obsolete variable setting.
1448
1449         * elmo-vars.el (elmo-preserved-flags): Fixed docstring.
1450
1451         * elmo-mime.el (elmo-mime-display-header-analysis): New variable.
1452         (elmo-mime-insert-header-from-buffer): Don't decode header content when
1453         `elmo-mime-display-header-analysis' is nil.
1454
1455         * elmo-flag.el (elmo-global-flags): Renamed from
1456         `elmo-global-flag-list' (All other related portions are changed).
1457         (elmo-local-flags): New variable.
1458         (elmo-local-flag-p): New function.
1459         (elmo-global-flag-set-internal): Cause an error when flag is not
1460         global.
1461
1462 2004-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
1463
1464         * elmo-util.el (elmo-concat-path): Treat empty path.
1465
1466 2004-10-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1467
1468         * elmo-split.el (elmo-split-address-equal): Fixed typo (field =>
1469         field-or-fields).
1470         (elmo-split-address-match): Ditto.
1471         (elmo-split-equal): Ditto.
1472         (elmo-split-match): Ditto.
1473
1474 2004-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
1475
1476         * elmo.el (elmo-message-flags): Abolish optional argument `msgid'.
1477         (elmo-generic-folder-append-messages): If src message exists but
1478         has no flag, pass (read) for the FLAG argument of
1479         `elmo-folder-append-buffer'. Otherwise, pass nil.
1480
1481         * elmo-split.el (elmo-split-subr): Likewise.
1482
1483         * elmo-pipe.el (elmo-message-flags): Abolish optional argument `msgid'.
1484
1485         * elmo-multi.el (elmo-message-flags): Ditto.
1486
1487         * elmo-filter.el (elmo-message-flags): Ditto.
1488
1489         * elmo.el (elmo-folder-append-buffer): Fix docstring.
1490         (elmo-generic-folder-append-messages): If elmo-message-flags return nil,
1491         pass (read) for the FLAG argument of elmo-folder-append-buffer.
1492         
1493 2004-10-02  Yoichi NAKAYAMA  <yoichi@geiin.org>
1494
1495         * elmo-split.el (elmo-split-rule): Update comment.
1496         (elmo-split-address-equal): Allow 2nd argument to be a list.
1497         (elmo-split-address-match): Ditto.
1498         (elmo-split-equal): Ditto.
1499         (elmo-split-match): Ditto.
1500
1501 2004-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
1502
1503         * elmo.el (elmo-folder-append-buffer): Fix docstring.
1504         (elmo-folder-append-msgdb): Don't treat `read'.
1505         (elmo-message-flags): Don't return `read'.
1506
1507         * elmo-dop.el (elmo-folder-set-read-delayed): Don't treat `read'.
1508         (elmo-folder-unset-read-delayed): Ditto.
1509
1510         * elmo-imap4.el (elmo-imap4-flags-to-imap): Ditto.
1511
1512 2004-09-26  Yoichi NAKAYAMA  <yoichi@geiin.org>
1513
1514         * elmo-imap4.el (elmo-folder-delete): Clear current-mailbox after
1515         deletion.
1516
1517 2004-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
1518
1519         * elmo-mime.el (elmo-mime-display-as-is-internal): Insert decoded
1520         header.
1521
1522 2004-09-23  Yuuichi Teranishi  <teranisi@gohome.org>
1523
1524         * modb-standard.el (modb-standard-load-entity): Don't bind inhibit-quit
1525         here.
1526         (elmo-msgdb-save): Bind inhibit-quit.
1527         (modb-standard-message-entity): Ditto.
1528
1529 2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
1530
1531         * elmo-database.el: No need to require elmo-msgdb.
1532
1533 2004-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1534
1535         * elmo-nmz.el (elmo-folder-list-subfolders): Use `directory-files'
1536         instead of `elmo-list-subdirectories'.
1537
1538 2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
1539
1540         * elmo-nmz.el (elmo-folder-initialize): Enable "[" for access
1541         group entry.
1542         (elmo-folder-exists-p): "[" is empty.
1543         (elmo-folder-list-subfolders): Define.
1544         (elmo-folder-have-subfolder-p): Ditto.
1545
1546 2004-09-19  Yoichi NAKAYAMA  <yoichi@geiin.org>
1547
1548         * elmo-flag.el (elmo-folder-delete): Update elmo-global-flag-list.
1549
1550 2004-09-14  Tetsurou Okazaki  <okazaki@be.to>
1551
1552         * elmo-filter.el (elmo-folder-local-p): Define.
1553
1554 2004-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1555
1556         * modb-standard.el (modb-standard-loaded-message-id): Return nil
1557         when entity is garbaged.
1558         (modb-standard-save-entity-1): Don't modify the original entity.
1559
1560 2004-09-13  Tetsurou Okazaki  <okazaki@be.to>
1561
1562         * elmo-util.el (elmo-delete-if): Reduce loop strength in a while loop.
1563
1564 2004-09-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1565
1566         * elmo.el (elmo-strict-folder-diff): Use
1567         `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
1568
1569 2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
1570
1571         * modb.el (elmo-msgdb-flag-available-p): New generic function.
1572         (elmo-msgdb-message-number): Ditto.
1573         (elmo-msgdb-message-field): Ditto.
1574
1575         * modb-standard.el (modb-standard-economize-entity-size): New user
1576         option.
1577         (modb-standard-loaded-message-id): New inline function.
1578         (modb-standard-load-entity): Use it.
1579         (modb-standard-save-entity-1): If `modb-standard-economize-entity-size',
1580         throw message-id string away.
1581         (elmo-msgdb-flag-available-p): Define.
1582         (elmo-msgdb-message-number): Ditto.
1583         (elmo-msgdb-message-field): Ditto.
1584
1585         * modb-legacy.el (modb-legacy-flag-list): Fix typo
1586         (suppoted -> supported).
1587         (modb-legacy-supported-flag-p): Ditto.
1588         (elmo-msgdb-set-flag): Ditto.
1589         (elmo-msgdb-unset-flag): Ditto.
1590         (elmo-msgdb-flag-available-p): Define.
1591
1592         * modb-entity.el (elmo-message-entity-handler): If CAR element of entity
1593         is `t', treat it as legacy entity.
1594         
1595         * elmo.el (elmo-message-flag-available-p): New generic function.
1596         (elmo-message-number): Ditto.
1597         (elmo-message-field): Use `elmo-msgdb-message-field'.
1598
1599         * elmo-vars.el (elmo-preserved-flags): Added `forwarded'.
1600
1601         * elmo-pipe.el (elmo-message-flag-available-p): Define.
1602         (elmo-message-number): Ditto.
1603
1604         * elmo-multi.el (elmo-message-number): Define.
1605         (elmo-message-flag-available-p): Ditto.
1606
1607         * elmo-filter.el (elmo-message-flag-available-p): Define.
1608         (elmo-message-number): Ditto.
1609
1610         * elmo-flag.el (elmo-flag-folder): Added slot `max-number'.
1611         (elmo-folder-initialize): Load `max-number'.
1612         (elmo-folder-commit): Save it.
1613         (elmo-folder-list-global-flag-messages): Use `elmo-message-number'.
1614         (elmo-global-flag-set-internal): Set up max-number slot.
1615
1616 2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
1617
1618         * elmo-version.el (elmo-version): Up to 2.11.31.
1619
1620 2004-09-09  Yuuichi Teranishi  <teranisi@gohome.org>
1621
1622         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Use
1623         unibyte string of the current buffer for the argument of `md5'
1624         (Reported by Yoichi NAKAYAMA <yoichi@geiin.org>).
1625
1626 2004-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1627
1628         * modb-legacy.el (modb-legacy-flag-list): New constant.
1629         (modb-legacy-suppoted-flag-p): New internal function.
1630         (elmo-msgdb-set-flag): Cause error when `flag' is not supported.
1631         (elmo-msgdb-unset-flag): Ditto.
1632
1633 2004-09-05  Yuuichi Teranishi  <teranisi@gohome.org>
1634
1635         * elmo.el (elmo-make-folder): Remove text properties for prefix.
1636
1637         * elmo-flag.el (elmo-folder-list-subfolders): Fetch flag names
1638         from msgdb.
1639
1640 2004-08-31  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1641
1642         * elmo-multi.el (elmo-folder-count-flags): Changed return value
1643         (follow the API change).
1644
1645         * elmo-filter.el (elmo-folder-count-flags): Ditto.
1646
1647 2004-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
1648
1649         * modb-standard.el (modb-standard-digest-flags): Abolish.
1650         (elmo-msgdb-list-flagged): Use elmo-digest-flags instead.
1651
1652         * elmo-vars.el (elmo-digest-flags): New variable.
1653         (elmo-preserved-flags): Moved from elmo-flag.el.
1654
1655         * elmo-imap4.el (elmo-imap4-flag-to-imap-search-key): New function.
1656         (elmo-imap4-flag-to-imap-criteria): Ditto.
1657         (elmo-imap4-folder-list-flagged): Use it.
1658
1659         * elmo-flag.el (elmo-preserved-flags): Moved to elmo-vars.el.
1660
1661         * elmo.el (elmo-folder-count-flags): Changed return value.
1662
1663         * elmo-flag.el (elmo-preserved-flags): New variable.
1664         (elmo-get-global-flags): Use it.
1665
1666         * modb-standard.el (modb-standard-digest-flags): New variable.
1667         (elmo-msgdb-list-flagged): Use it for `digest'; Add `uncached';
1668         Changed behavior of `any'.
1669
1670         * elmo-imap4.el (elmo-imap4-flag-specs): Added keyword flags
1671         which are defined the Internet draft
1672         (draft-melnikov-imap-keywords-03.txt).
1673         (elmo-imap4-flags-to-imap): New function.
1674         (elmo-folder-append-buffer): Use it.
1675
1676         * modb-legacy.el (modb-legacy-answered-uncached-mark): Fixed typo
1677         in the docstring.
1678
1679         * utf7.el (utf7-fragment-encode): Don't use narrow-to-region to
1680         avoid the bug of Emacs 21.3.
1681
1682 2004-08-31  Yoichi NAKAYAMA  <yoichi@geiin.org>
1683
1684         * utf7.el (utf7-utf-16-coding-system): Avoid error when the
1685         function find-coding-system does not exist.
1686
1687 2004-08-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1688
1689         * elmo-util.el (elmo-condition-parse-search-value): Fixed atom
1690         parsing.
1691
1692 2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
1693
1694         * elmo-pop3.el (elmo-pop3-read-response): Refined the regexp for
1695         response codes.
1696
1697 2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
1698
1699         * elmo-pop3.el (elmo-pop3-read-response): Treat response codes.
1700         (elmo-network-close-session): Follow the changes in
1701         `elmo-pop3-read-response'.
1702         (elmo-pop3-auth-user): Ditto.
1703         (elmo-pop3-auth-apop): Ditto.
1704         (elmo-network-initialize-session): Ditto.
1705         (elmo-network-authenticate-session): Ditto.
1706         (elmo-network-setup-session): Ditto.
1707         (elmo-folder-status): Ditto.
1708         (elmo-message-fetch-plugged): Ditto.
1709         (elmo-pop3-delete-msg): Ditto.
1710
1711 2004-07-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
1712
1713         * elmo-archive.el (elmo-archive-folder-append-buffer): Return nil
1714         on failure.
1715
1716 2004-07-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1717
1718         * elmo-util.el (elmo-set-work-buf): Define edebug spec and indent
1719         style.
1720         (elmo-bind-directory): Ditto.
1721
1722 2004-07-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
1723
1724         * elmo.el (elmo-folder-append-messages): Note on return value.
1725         * elmo-archive.el (elmo-folder-append-messages): Don't return
1726         message numbers which could not be appended.
1727
1728 2004-07-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
1729
1730         * elmo.el (elmo-message-fetch-threshold): Add nil to its range.
1731
1732 2004-06-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1733
1734         * elmo-version.el (elmo-version): Up to 2.11.30.
1735
1736 2004-06-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1737
1738         * elmo.el (elmo-folder-synchronize): Add 5th optional argument
1739         `mask'.
1740
1741         * elmo-pipe.el (elmo-folder-synchronize): Follow the API chagne.
1742
1743         * elmo-multi.el (elmo-folder-synchronize): Likewise.
1744         (elmo-multi-split-numbers): Add elmo-folder object into each
1745         element of return value at first.
1746         (elmo-folder-delete-messages): Follow the above change.
1747         (elmo-folder-detach-messages): Ditto.
1748
1749         * elmo-filter.el (elmo-folder-synchronize): Minimize message
1750         number which is synchronized in target folder.
1751
1752 2004-05-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1753
1754         * elmo-shimbun.el (elmo-shimbun-update-overview-folder-list):
1755         Change default value to symbol `all'.
1756         (elmo-map-message-fetch): Change condition to update overview
1757         follow the above.
1758
1759 2004-05-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
1760
1761         * elmo-shimbun.el (elmo-map-message-fetch): Change default
1762         behavior to update overview.
1763         (elmo-shimbun-update-overview-folder-list): Note it.
1764
1765 2004-05-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1766
1767         * modb-standard.el (modb-standard-message-entity): Avoid infinite
1768         recursive call.
1769
1770 2004-05-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1771
1772         * elmo-spam.el (elmo-spam-register-good-messages): Don't call
1773         buffer-disable-undo, it is unnecessary.
1774         (elmo-spam-register-good-messages): Ditto.
1775
1776         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
1777         Ditto.
1778
1779         * elsp-sa.el (elmo-spam-spamassassin-register-messages): Ditto.
1780
1781 2004-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1782
1783         * elmo-util.el (elmo-set-buffer-multibyte): Abolish.
1784         (elmo-set-work-buf): Use set-buffer-multibyte instead of
1785         elmo-set-buffer-multibyte.
1786         (elmo-object-load): Ditto.
1787         (elmo-save-buffer): Ditto.
1788         (elmo-delete-char): Ditto.
1789         (elmo-file-field-primitive-condition-match): Ditto.
1790         (elmo-mime-string): Ditto.
1791
1792         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Ditto.
1793         (elmo-archive-field-condition-match): Ditto.
1794
1795         * elmo-imap4.el (elmo-imap4-setup-send-buffer): Ditto.
1796
1797         * elmo-net.el (elmo-network-initialize-session-buffer): Ditto.
1798
1799         * elmo-nntp.el (elmo-nntp-parse-overview-string): Ditto.
1800         (elmo-nntp-msgdb-create-message): Ditto.
1801
1802         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
1803
1804         * elmo.el (elmo-message-match-condition): Ditto.
1805         (elmo-message-match-condition): Ditto.
1806
1807         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
1808         Ditto.
1809
1810         * elmo-version.el (elmo-version): Up to 2.11.29.
1811
1812         * elmo-spam.el (elmo-spam-scheme): Add `header' as a candidate.
1813         (elsp-header): New backend.
1814
1815         * elmo-util.el (elmo-decoded-field-body): New function.
1816
1817 2004-05-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1818
1819         * elmo-version.el (elmo-version): Up to 2.11.28.
1820
1821 2004-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1822
1823         * elmo-filter.el: Rewrite.
1824
1825         * elmo-version.el (elmo-version): Up to 2.11.27.
1826
1827 2004-05-05  Yuuichi Teranishi  <teranisi@gohome.org>
1828
1829         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Changed
1830         msgdb path for the localdir folder with absolute path.
1831
1832         * utf7.el: Synch up with latest gnus/utf7.el;
1833         Modified for latest Emacs.
1834
1835 2004-05-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1836
1837         * elmo-shimbun.el (elmo-folder-initialize): Set a dummy when the
1838         shimbun backend couldn't open.
1839
1840 2004-04-25  Tetsurou Okazaki  <okazaki@be.to>
1841
1842         * elmo-pipe.el (elmo-message-folder): Call `elmo-message-folder' recursively.
1843         (elmo-folder-diff): Avoid error `wrong-type-argument number-or-marker-p nil'
1844         when a destination folder is a filter folder.
1845
1846 2004-04-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1847
1848         * elmo.el (elmo-message-flags): Add optional argument `msgid'.
1849         (elmo-generic-folder-append-messages): Call elmo-message-flags
1850         with argument `msgid'.
1851
1852         * elmo-split.el (elmo-split-subr): Ditto.
1853
1854         * elmo-pipe.el (elmo-message-flags): Follow the API change.
1855
1856         * elmo-multi.el (elmo-message-flags): Ditto.
1857
1858 2004-04-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1859
1860         * elmo.el (elmo-folder): Add new slot `flag-table'.
1861         (elmo-folder-flag-table): New API.
1862         (elmo-folder-close-flag-table): Ditto.
1863         (elmo-folder-preserve-flags): New function.
1864         (elmo-generic-folder-append-messages): Use
1865         `elmo-folder-flag-table' and `elmo-folder-close-flag-table'.
1866         Flag of a non-registered message, it sets to nil.
1867         Does not set flag to flag-table.
1868
1869         * elmo-maildir.el (elmo-folder-append-buffer): Use
1870         `elmo-folder-preserve-flags'.
1871         (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
1872         `elmo-folder-close-flag-table'.
1873
1874         * elmo-archive.el (elmo-folder-append-buffer): Fix interface.
1875         (elmo-archive-folder-append-buffer): Use
1876         `elmo-folder-preserve-flags'.
1877
1878         * elmo-cache.el (elmo-folder-append-buffer): Ditto.
1879
1880         * elmo-imap4.el (elmo-folder-append-buffer): Ditto.
1881
1882         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
1883         (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
1884         `elmo-folder-close-flag-table'.
1885
1886         * elmo-version.el (elmo-version): Up to 2.11.26.
1887
1888 2004-04-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1889
1890         * elmo-vars.el (elmo-network-stream-type-alist): Add direct.
1891
1892         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Don't use
1893         md5's 4th and 5th argument (non-existent in flim one).
1894
1895 2004-04-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1896
1897         * elmo-split.el (elmo-split-subr): Flag of a non-registered
1898         message, It sets to nil.
1899
1900 2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1901
1902         * elmo.el (elmo-folder-list-messages): Merge lists only if both
1903         list is non-nil.
1904
1905 2004-04-16  YAMASHITA Junji <ysjj@unixuser.org>
1906
1907         * elmo.el (elmo-folder-list-messages): Use elmo-uniq-sorted-list.
1908
1909         * elmo-nntp.el (elmo-nntp-make-msglist): Use elmo-make-number-list.
1910
1911         * elmo-util.el (elmo-uniq-sorted-list): New function.
1912         (elmo-make-number-list): Ditto.
1913         (elmo-number-set-to-number-list): Use elmo-make-number-list
1914         and don't use nreverse.
1915
1916 2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1917
1918         * elmo-version.el (elmo-version): Up to 2.11.25.
1919
1920 2004-04-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1921
1922         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): If date
1923         field not exists in message, Use md5 message digest of header.
1924
1925 2004-04-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
1926
1927         * elmo.el (elmo-folder-append-buffer): Add note on return value.
1928         * elmo-cache.el (elmo-folder-append-buffer): Return nil on failure.
1929         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
1930         * elmo-split.el (elmo-split-subr): Check return value of
1931         elmo-folder-append-buffer.
1932
1933         * elmo-localdir.el (elmo-folder-append-buffer): Create flag-table.
1934         * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
1935
1936         * elmo-cache.el (elmo-folder-append-buffer): Check existence of
1937         message-id.
1938
1939 2004-04-10  Yoichi NAKAYAMA  <yoichi@geiin.org>
1940
1941         * elmo-split.el (elmo-split-subr): Append message with flag.
1942
1943         * elmo-localdir.el (elmo-folder-append-buffer): Fix interface.
1944         * elmo-flag.el (elmo-folder-append-buffer): Ditto.
1945         * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
1946
1947 2004-04-03  Tetsurou Okazaki  <okazaki@be.to>
1948
1949         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use `elmo-delete-cr-buffer'.
1950         * elmo-nntp.el (elmo-nntp-retrieve-headers): Ditto.
1951         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
1952
1953 2004-03-29  Tetsurou Okazaki  <okazaki@be.to>
1954
1955         * elmo-pop3.el (elmo-pop3-read-contents): Replace an argument `buffer'
1956         with a function call of `process-buffer'.  All callers are updated.
1957         (elmo-pop3-retrieve-headers): Likewise.  Move `process' to the 1st argument.
1958         Remove redundant `set-buffer' in a while loop.
1959
1960 2004-03-28  Tetsurou Okazaki  <okazaki@be.to>
1961
1962         * elmo-pop3.el (elmo-pop3-send-command): Combine `process-send-string'
1963         calls.
1964
1965 2004-03-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1966
1967         * elsp-spamfilter.el (elmo-spam-buffer-spam-p): Call
1968         elsp-spamfilter-register-buffer-internal with current buffer.
1969         (elmo-spam-register-spam-buffer): Ditto.
1970         (elmo-spam-register-good-buffer): Ditto.
1971
1972 2004-03-15  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
1973
1974         * elmo-imap4.el (elmo-folder-list-subfolders): Add root mailbox
1975         if it is not contained in the response(A workaround for courier-imap).
1976
1977 2004-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1978
1979         * elmo-imap4.el (elmo-folder-set-flag-plugged): Fix mismatched
1980         parenthesis.
1981
1982 2004-03-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
1983
1984         * elmo-vars.el (elmo-msgdb-default-type): Remove generic from the
1985         range.
1986
1987 2004-03-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1988
1989         * modb-standard.el (elmo-msgdb-list-flagged): Use append instead
1990         of nconc.
1991
1992         * modb-entity.el (elmo-msgdb-match-condition-primitive): Added
1993         argument handler.
1994         (elmo-msgdb-message-match-condition): Follow the change above.
1995
1996 2004-02-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1997
1998         * elmo-flag.el (elmo-folder-initialize): Complete abbreviated
1999         folder name.
2000
2001 2004-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2002
2003         * elmo.el (elmo-folder-kill-messages): Don't use msgdb directly.
2004
2005 2004-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2006
2007         * elmo.el (elmo-folder-kill-messages): Fix to update killed list.
2008
2009 2004-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2010
2011         * elmo-file.el (elmo-file-find): Fixed the problem when file is
2012         not found.
2013
2014 2004-02-22  Yuuichi Teranishi  <teranisi@gohome.org>
2015
2016         * elmo-file.el (elmo-file-find): Use expand-file-name for return
2017         value.
2018         (elmo-file-command-argument): Undo last change for cygwin.
2019         (elmo-file-detect-content-type): Renamed from elmo-file-detect-format;
2020         Don't return nil.
2021         (elmo-map-message-fetch): Use elmo-file-detect-content-type.
2022
2023 2004-02-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2024
2025         * elmo-file.el (elmo-file-command-argument): Fixed problem when a
2026         value returned from elmo-file-find is nil.
2027
2028 2004-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
2029
2030         * elmo-mime.el (elmo-mime-display-as-is-coding-system): Moved
2031         to elmo-vars.el.
2032
2033         * elmo.el (elmo-message-match-condition): Use elmo-message-fetch
2034         instead of insert-file-contents-as-binary.
2035         (elmo-message-set-field): New generic function.
2036
2037         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Follow the
2038         behavior change on `split-string'.
2039
2040         * elmo-file.el (elmo-file-find): New function.
2041         (elmo-file-command): New user option.
2042         (elmo-file-command-argument): Ditto.
2043         (elmo-file-fetch-max-size): Ditto.
2044         (elmo-file-detect-format): New function.
2045         (elmo-map-message-fetch): Use elmo-file-fetch-max-size;
2046         Use elmo-file-detect-format.
2047         (elmo-map-folder-list-message-locations): Don't treat directories.
2048
2049 2004-02-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2050
2051         * elmo-util.el (elmo-string-partial-p): Removed unused function.
2052         (elmo-passwd-alist-clear): Shred password before clear.
2053         (elmo-remove-passwd): Remove all mached pair.
2054
2055 2004-02-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
2056
2057         * elmo.el (elmo-folder-synchronize): Fix description of the return
2058         value.
2059
2060 2004-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
2061
2062         * elmo.el (elmo-message-fetch-bodystructure): New method.
2063         (elmo-message-fetch-bodystructure): Define default.
2064
2065         * elmo-imap4.el (mime-imap-location-bodystructure): Call
2066         elmo-message-fetch-bodystructure.
2067         (elmo-message-fetch-bodystructure): Define.
2068
2069         * elmo-filter.el (elmo-message-fetch-bodystructure): Define.
2070
2071 2004-02-15  Tetsurou Okazaki  <okazaki@be.to>
2072
2073         * elmo-filter.el (elmo-message-folder): Define.
2074
2075 2004-02-13  Yuuichi Teranishi  <teranisi@gohome.org>
2076
2077         * elmo.el (elmo-message-fetch-with-cache-process): Don't call
2078         elmo-delete-cr-buffer.
2079
2080         * elmo-imap4.el (elmo-imap4-message-fetch): Call elmo-delete-cr-buffer.
2081
2082         * elmo-pop3.el (elmo-message-fetch-plugged): Ditto.
2083
2084         * elmo-nntp.el (elmo-nntp-read-body): Ditto.
2085
2086         * elmo-file.el (elmo-map-message-fetch): Decode body only when content
2087         type seems to be a text.
2088
2089 2004-02-12  Yuuichi Teranishi  <teranisi@gohome.org>
2090
2091         * elsp-sa.el (elmo-spam-register-spam-buffer): Don't specify '--forget'.
2092         (elmo-spam-register-good-buffer): Ditto.
2093         (elmo-spam-spamassassin-register-messages): Ditto.
2094
2095         * elmo-util.el (elmo-string-member-ignore-case): Define with
2096         static-cond.
2097
2098 2004-02-09  Yuuichi Teranishi  <teranisi@gohome.org>
2099
2100         * elmo.el (elmo-folder-type): Undo last change.
2101
2102         * slp.el (slp-exec-wait): Avoid byte-compile warnings.
2103
2104         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Avoid byte-compile
2105         warnings.
2106
2107         * elmo-file.el: New file.
2108         
2109         * modb-standard.el (elmo-msgdb-list-flagged): Treat keyword flags.
2110
2111         * elsp-sa.el (elmo-spam-spamassassin-max-messages-per-process): New
2112         variable.
2113         (elmo-spam-spamassassin-register-messages): New inline function.
2114         (elmo-spam-register-spam-messages): Define.
2115         (elmo-spam-register-good-messages): Ditto.
2116
2117         * elsp-bogofilter.el (elmo-spam-bogofilter-max-messages-per-process):
2118         Fixed typo.
2119
2120         * elmo.el (toplevel): Added autoload setting for
2121         `elmo-get-global-flags'.
2122         (elmo-message-has-global-flag-p): New function.
2123         (elmo-message-set-global-flags): Ditto.
2124         (elmo-folder-type): Improvement for name: format.
2125
2126         * elmo-imap4.el (elmo-imap4-session-flag-available-p): Check
2127         availability of keyword flags.
2128         (elmo-imap4-folder-list-flagged): Treat keyword flags.
2129         (elmo-folder-list-flagged-plugged): Renamed from
2130         elmo-folder-list-flagged-unplugged.
2131         (elmo-imap4-set-flag): If "\*" is treated as permanent flag,
2132         accept any flag as keyword flag.
2133         (elmo-folder-set-flag-plugged): Accept keyword flags.
2134         (toplevel): Added autoload setting for `elmo-get-global-flags'.
2135
2136         * elmo-flag.el (elmo-get-global-flags): New function.
2137
2138         * elmo-filter.el (elmo-folder-diff): Fix total number for filter
2139         folders.
2140
2141         * elmo-version.el (elmo-version): Up to 2.11.24.
2142
2143 2004-02-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
2144
2145         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
2146         elmo-multiple-field-body instead of std11-field-body to check all
2147         headers.
2148
2149 2004-02-07  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2150
2151         * elmo-util.el (elmo-cache-expire): Completion require match "age"
2152         or "size".
2153
2154 2004-01-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2155
2156         * elmo-util.el (elmo-get-hash-val): Check symbol is bound if
2157         unintern is unbound.
2158
2159 2004-01-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
2160
2161         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
2162         Protect from infinite loop.
2163
2164 2004-01-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2165
2166         * elsp-bogofilter.el
2167         (elmo-spam-bogofilter-max-messages-per-process): New user option.
2168         (elmo-spam-bogofilter-register-messages): New internal function.
2169         (elmo-spam-register-spam-messages): Define.
2170         (elmo-spam-register-good-messages): Ditto.
2171
2172 2004-01-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2173
2174         * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
2175         Added "-vv" if elmo-spam-bogofilter-debug is non-nil.
2176         (elmo-spam-bogofilter-call): Fixed the last change.
2177         (elmo-spam-bogofilter-arguments): Ditto.
2178
2179         * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
2180         Follow the options change of latest bogofilter.
2181
2182         * elsp-bogofilter.el (elmo-spam-bogofilter-spam-switch): Abolish.
2183         (elmo-spam-bogofilter-good-switch): Ditto.
2184         (elmo-spam-bogofilter-arguments-alist): New user option.
2185         (elmo-spam-bogofilter-debug): Ditto.
2186         (elmo-spam-bogofilter-call): Renamed from
2187         `elsp-bogofilter-call-bogofilter'. If elmo-spam-bogofilter-debug
2188         is non-nil, insert output in buffer for debug.
2189         (elmo-spam-bogofilter-arguments): New macro.
2190         (elmo-spam-buffer-spam-p): Use it.
2191         (elsp-bogofilter-register-buffer): Ditto.
2192
2193 2004-01-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2194
2195         * elmo-cache.el (elmo-folder-list-subfolders): Fix directory-files
2196         regexp.
2197
2198 2004-01-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2199
2200         * elsp-bsfilter.el (elmo-spam-bsfilter-shell-program): Set default
2201         value as "ruby".
2202         (elmo-spam-bsfilter-shell-switch): Set default value as nil.
2203         (elmo-spam-bsfilter-program): Set default value as full path for
2204         `bsfilter'.
2205         (elmo-spam-bsfilter-debug): New user option.
2206         (elsp-bsfilter-call-bsfilter): If elmo-spam-bsfilter-debug is
2207         non-nil, insert output in buffer for debug. Fix treating of
2208         argument.
2209
2210 2004-01-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2211
2212         * elmo-maildir.el (elmo-map-folder-set-flag): Use cdr of
2213         `elmo-maildir-flag-specs' element instead of one.
2214         (elmo-map-folder-unset-flag): Ditto.
2215         (Reported by Ken Makimura <macky@astem.or.jp>)
2216
2217         * elmo-imap4.el (elmo-folder-set-flag-plugged): Fixed.
2218         (elmo-folder-unset-flag-plugged): Ditto.
2219
2220 2004-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2221
2222         * elmo-nntp.el (elmo-folder-list-flagged): Return a list according
2223         to `reads' slot only if `in-msgdb' is nil.
2224
2225 2004-01-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2226
2227         * elmo-nntp.el (elmo-folder-list-flagged): Undo the last change
2228         and complement argument list.
2229
2230 2004-01-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
2231
2232         * elmo-nntp.el (elmo-folder-list-flagged-internal): Define this
2233         instead of elmo-folder-list-flagged.
2234
2235 2004-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2236
2237         * elmo-spam.el (elmo-spam-scheme): Add 'bsfilter' as a candidate.
2238
2239         * elsp-bsfilter.el: New file.
2240
2241         * elmo-pipe.el (elmo-folder-list-unreads,
2242         elmo-folder-list-answereds,
2243         elmo-folder-list-importants,
2244         elmo-folder-flag-as-important,
2245         elmo-folder-unflag-important,
2246         elmo-folder-flag-as-read,
2247         elmo-folder-unflag-read,
2248         elmo-folder-flag-as-answered,
2249         elmo-folder-unflag-answered): Remove.
2250         (elmo-folder-set-flag): Define.
2251         (elmo-folder-unset-flag): Ditto.
2252
2253         * elmo-nntp.el (elmo-folder-flag-as-read): Remove.
2254         (elmo-folder-set-flag): Define.
2255         (elmo-folder-unset-flag): Ditto.
2256         (elmo-folder-list-unreads): Remove.
2257         (elmo-folder-list-flagged): Define.
2258
2259         * elmo-net.el (elmo-folder-list-flagged-internal): Define.
2260         (elmo-folder-list-unreads,
2261         elmo-folder-list-importants,
2262         elmo-folder-list-answereds,
2263         elmo-folder-list-unreads-plugged,
2264         elmo-folder-list-importants-plugged,
2265         elmo-folder-list-answereds-plugged): Remove.
2266         (elmo-folder-list-flagged-plugged): New method.
2267         (elmo-folder-unflag-important,
2268         elmo-folder-flag-as-important,
2269         elmo-folder-unflag-read,
2270         elmo-folder-flag-as-read,
2271         elmo-folder-unflag-answered,
2272         elmo-folder-flag-as-answered,
2273         elmo-folder-flag-as-read-unplugged,
2274         elmo-folder-unflag-read-unplugged,
2275         elmo-folder-flag-as-important-unplugged,
2276         elmo-folder-unflag-important-unplugged,
2277         elmo-folder-flag-as-answered-unplugged,
2278         elmo-folder-unflag-answered-unplugged): Remove.
2279         (elmo-folder-set-flag): Define.
2280         (elmo-folder-unset-flag): Ditto.
2281         (elmo-folder-set-flag-unplugged): Ditto.
2282         (elmo-folder-unset-flag-unplugged): Ditto.
2283
2284         * elmo-multi.el (elmo-folder-list-unreads,
2285         elmo-folder-list-answereds,
2286         elmo-folder-list-importants,
2287         elmo-folder-flag-as-important,
2288         elmo-folder-unflag-important,
2289         elmo-folder-flag-as-read,
2290         elmo-folder-unflag-read,
2291         elmo-folder-flag-as-answered,
2292         elmo-folder-unflag-answered): Remove.
2293         (elmo-folder-set-flag): Define.
2294         (elmo-folder-unset-flag): Ditto.
2295
2296         * elmo-map.el (elmo-map-folder-unflag-important,
2297         elmo-map-folder-flag-as-important,
2298         elmo-map-folder-unflag-read,
2299         elmo-map-folder-flag-as-read,
2300         elmo-map-folder-unflag-answered,
2301         elmo-map-folder-flag-as-answered): Remove.
2302         (elmo-map-folder-set-flag): New method.
2303         (elmo-map-folder-unset-flag): Ditto.
2304         (elmo-map-folder-list-unreads,
2305         elmo-map-folder-list-importants,
2306         elmo-map-folder-list-answereds): Remove.
2307         (elmo-folder-list-flagged-internal): Define.
2308         (elmo-map-folder-list-flagged): New method.
2309
2310         * elmo-maildir.el (elmo-maildir-flag-specs): New internal variable.
2311         (elmo-map-folder-list-unreads,
2312         elmo-map-folder-list-importants,
2313         elmo-map-folder-list-flagged): Remove.
2314         (elmo-map-folder-list-flagged): Define.
2315         (elmo-map-folder-flag-as-important,
2316         elmo-map-folder-unflag-important,
2317         elmo-map-folder-flag-as-read,
2318         elmo-map-folder-unflag-read,
2319         elmo-map-folder-flag-as-answered,
2320         elmo-map-folder-unflag-answered): Remove.
2321         (elmo-maildir-set-mark-messages): New internal function.
2322         (elmo-map-folder-set-flag): Define.
2323         (elmo-map-folder-unset-flag): Ditto.
2324
2325         * elmo.el (toplevel): Added autoload setting for
2326         `elmo-folder-list-global-flag-messages'.
2327         (elmo-folder-list-unreads,
2328         elmo-folder-list-importants,
2329         elmo-folder-list-answereds): Remove.
2330         (elmo-folder-list-flagged): Use `elmo-folder-list-flagged-internal'.
2331         Return a list whitch merged with messages have global flag.
2332         (elmo-folder-list-flagged-internal): New method.
2333         (elmo-folder-unflag-important,
2334         elmo-folder-flag-as-important,
2335         elmo-folder-unflag-read,
2336         elmo-folder-flag-as-read,
2337         elmo-folder-unflag-answered,
2338         elmo-folder-flag-as-answered): Remove.
2339         (elmo-folder-set-flag): New method.
2340         (elmo-folder-unset-flag): Ditto.
2341         (elmo-message-set-flag):Use `elmo-folder-set-flag'.
2342         (elmo-message-unset-flag):Use `elmo-folder-unset-flag'.
2343
2344         * elmo-imap4.el (elmo-imap4-flag-specs): New internal variable.
2345         (elmo-folder-list-unreads-plugged,
2346         elmo-folder-list-importants-plugged,
2347         elmo-folder-list-answereds-plugged,
2348         elmo-folder-list-flagged-unplugged,
2349         elmo-folder-unflag-important-plugged,
2350         elmo-folder-flag-as-important-plugged,
2351         elmo-folder-unflag-read-plugged,
2352         elmo-folder-flag-as-read-plugged,
2353         elmo-folder-unflag-answered-plugged,
2354         elmo-folder-flag-as-answered-plugged): Remove.
2355         (elmo-folder-set-flag-plugged,
2356         elmo-folder-unset-flag-plugged): Define.
2357
2358         * elmo-flag.el (elmo-folder-initialize): Register to
2359         `elmo-global-flag-list' if flag is not global.
2360         (elmo-folder-append-messages): Set flag to source messages.
2361
2362         * elmo-filter.el (elmo-filter-folder-list-unreads,
2363         elmo-folder-list-unreads,
2364         elmo-filter-folder-list-importants,
2365         elmo-folder-list-importants,
2366         elmo-folder-flag-as-read,
2367         elmo-folder-unflag-read,
2368         elmo-folder-flag-as-important,
2369         elmo-folder-unflag-important,
2370         elmo-folder-flag-as-answered,
2371         elmo-folder-unflag-answered): Remove.
2372         (elmo-folder-set-flag): Define.
2373         (elmo-folder-unset-flag): Ditto.
2374
2375         * elmo-dop.el (elmo-folder-flag-as-read-dop,
2376         elmo-folder-unflag-read-dop,
2377         elmo-folder-flag-as-important-dop,
2378         elmo-folder-unflag-important-dop,
2379         elmo-folder-flag-as-answered-dop,
2380         elmo-folder-unflag-answered-dop): Remove.
2381         (elmo-folder-set-flag-dop,
2382         elmo-folder-unset-flag-dop,
2383         elmo-folder-set-important-delayed,
2384         elmo-folder-unset-important-delayed,
2385         elmo-folder-set-read-delayed,
2386         elmo-folder-unset-read-delayed,
2387         elmo-folder-set-answered-delayed,
2388         elmo-folder-unset-answered-delayed): New function.
2389         (elmo-dop-queue-merge-method-list): Follow the above chagned.
2390         (elmo-dop-queue-method-name-alist): Ditto.
2391
2392         * elmo-version.el (elmo-version): Up to 2.11.23.
2393
2394 2004-01-11  Yuuichi Teranishi  <teranisi@gohome.org>
2395
2396         * elmo-spam.el (elmo-spam-scheme): Add 'sa' as a candidate.
2397
2398         * elsp-sa.el: New file.
2399
2400 2003-12-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2401
2402         * modb-standard.el (modb-standard-message-entity): New function.
2403         (elmo-msgdb-message-entity): Use it.
2404
2405 2003-12-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2406
2407         * elmo-internal.el (elmo-folder-list-subfolders): Rewrite; Fixed
2408         behavior when one-level is nil.
2409
2410         * elmo-flag.el (elmo-folder-list-subfolders): Defined.
2411
2412         * elmo-sendlog.el (elmo-folder-have-subfolder-p): Ditto.
2413
2414 2003-12-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2415
2416         * elmo.el (elmo-folder-set-info-max-by-numdb): Don't use `sort' to
2417         get max number.
2418         (elmo-generic-folder-diff): Ditto.
2419
2420         * elmo-nntp.el (elmo-nntp-catchup-msgdb): Ditto.
2421         (elmo-folder-update-number): Ditto.
2422
2423         * elmo-dop.el (elmo-folder-status-dop): Ditto.
2424         (elmo-folder-next-message-number-dop): Ditto.
2425
2426 2003-12-04  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2427
2428         * elmo-filter.el (elmo-folder-msgdb-create): Use
2429         `elmo-message-entity' and `elmo-message-flags' instead of
2430         `elmo-msgdb-message-entity' and `elmo-msgdb-flags'.
2431
2432 2003-11-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2433
2434         * elmo-spam.el (elmo-spam-processor): Added 3rd argument
2435         `if-exists'.
2436
2437 2003-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2438
2439         * elmo-multi.el (elmo-folder-newsgroups): Simplify.
2440
2441         * elmo-pipe.el (elmo-folder-get-primitive-list): Likewise.
2442
2443         * elmo-filter.el (elmo-folder-get-primitive-list): Fixed.
2444
2445 2003-11-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2446
2447         * elmo-version.el (elmo-version): Up to 2.11.22.
2448
2449 2003-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2450
2451         * modb-standard.el (elmo-msgdb-delete-messages): Always return t.
2452
2453 2003-11-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2454
2455         * modb-standard.el (elmo-msgdb-delete-messages): Dose not process
2456         if the message dose not exist.
2457
2458 2003-11-18  Tetsurou Okazaki  <okazaki@be.to>
2459
2460         * elmo-version.el (elmo-version): Up to 2.11.21.
2461
2462 2003-11-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2463
2464         * modb-standard.el (toplevel): Don't require mime.
2465
2466 2003-11-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2467
2468         * elsp-bogofilter.el (toplevel): Don't require path-util.
2469         (elmo-spam-bogofilter-program): Don't use `exec-installed-p'.
2470         (elmo-spam-bogofilter-header): Abolish.
2471         (elmo-spam-bogofilter-bogosity-positive-spam-header): Ditto.
2472         (elmo-spam-bogofilter-args): New user option.
2473         (elsp-bogofilter-call-bogofilter): New internal function.
2474         (elmo-spam-buffer-spam-p): Use it.
2475         (elsp-bogofilter-register-buffer): Renamed from
2476         `elmo-spam-bogofilter-register-buffer';
2477         Use `elsp-bogofilter-call-bogofilter'.
2478         (elmo-spam-register-spam-buffer): Follow the change above.
2479         (elmo-spam-register-good-buffer): Ditto.
2480
2481 2003-11-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2482
2483         * modb-standard.el (elmo-msgdb-append-entity): If entity or
2484         message-id is nil do nothing.
2485
2486 2003-11-10  Yuuichi Teranishi  <teranisi@gohome.org>
2487
2488         * elmo-imap4.el (elmo-imap4-disuse-server-flag-mailbox-regexp):
2489         Revival.
2490         (elmo-imap4-session): Removed use-flag slot.
2491         (elmo-imap4-session-select-mailbox): Undo last change.
2492         (elmo-folder-use-flag-p): Use
2493         elmo-imap4-disuse-server-flag-mailbox-regexp.
2494
2495 2003-11-09  Yuuichi Teranishi  <teranisi@gohome.org>
2496
2497         * elmo-imap4.el (elmo-imap4-session): Added use-flag slot.
2498         (elmo-imap4-session-select-mailbox): Set it up.
2499         (elmo-folder-use-flag-p): Return value of use-flag slot.
2500
2501 2003-11-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2502
2503         * elmo-msgdb.el (elmo-msgdb-flag-table): Fixed problem when
2504         message-id is nil.
2505         (Reported by MAKINO Takashi <makino@digitalway.co.jp>)
2506
2507         * modb-entity.el (elmo-message-entity-handler): Likewise.
2508
2509 2003-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
2510
2511         * elmo.el (toplevel): Remove setting of autoloding for
2512         elmo-global-flag-initialize.
2513         (elmo-init): Don't call elmo-global-flag-initialize.
2514         (toplevel): Added autoload setting for elmo-global-mark-migrate.
2515
2516         * elmo-flag.el (elmo-global-flag-initialize): Abolish.
2517         (elmo-global-mark-migrate): Don't call it.
2518         (elmo-global-mark-upgrade): Ditto.
2519
2520 2003-11-06  Yuuichi Teranishi  <teranisi@gohome.org>
2521
2522         * elmo-internal.el (elmo-internal-obsolete-folder-list): New variable.
2523         (elmo-folder-initialize): Raise a warning when obsolete folder is used.
2524
2525         * elmo-vars.el (elmo-init-hook): New user option.
2526
2527         * elmo.el (elmo-init): Run the elmo-init-hook.
2528
2529         * elmo-flag.el (elmo-global-mark-migrate): New function.
2530
2531 2003-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2532
2533         * modb-standard.el (elmo-msgdb-set-flag): Simplify;
2534         Undo last change (move to elmo-msgdb-unset-flag).
2535         (elmo-msgdb-unset-flag): Simplify; Unset 'new flag when unread
2536         flag is unset.
2537
2538 2003-11-05  Yuuichi Teranishi  <teranisi@gohome.org>
2539
2540         * modb-standard.el (elmo-msgdb-set-flag): Unset 'new flag when
2541         read flag is set.
2542         (elmo-msgdb-set-flag): Don't remove 'new flag unconditionally.
2543         (elmo-msgdb-unset-flag): Ditto.
2544
2545 2003-11-05  Andreas Fuchs <asf@boinkor.net>
2546
2547         * elmo-split.el (elmo-split): Return split message count.
2548
2549 2003-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2550
2551         * elmo-msgdb.el (elmo-flag-table-get): Check cached if saved flags
2552         is nil.
2553
2554 2003-11-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2555
2556         * elmo.el (elmo-folder-unflag-important): Call
2557         `elmo-global-flag-detach' with 4th argument delete-if-none that is
2558         a symbol `always'.
2559
2560         * elmo-flag.el (elmo-flag-folder-delete-message): Clear hash value
2561         before unset flag.
2562         (elmo-global-flag-detach): Delete the message from flag folder, if
2563         `delete-if-none' is a symbol `always'.
2564
2565 2003-11-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2566
2567         * elsp-spamfilter.el (elsp-spamfilter-decode-buffer): Renamed from
2568         `elmo-spam-spamfilter-decode-buffer'.
2569         (elsp-spamfilter-register-buffer-internal): New internal function.
2570         (elmo-spam-buffer-spam-p): Use it; Follow the API change.
2571         (elmo-spam-register-spam-buffer): Ditto.
2572         (elmo-spam-register-good-buffer): Ditto.
2573
2574         * elsp-bogofilter.el (elmo-spam-buffer-spam-p): Follow the API
2575         change.
2576         (elmo-spam-bogofilter-register-buffer): Added argument `restore'.
2577         (elmo-spam-register-spam-buffer): Follow the API change.
2578         (elmo-spam-register-good-buffer): Ditto.
2579
2580         * elmo-split.el (toplevel): Require elmo-spam when copmile.
2581         (elmo-split-spam-p): Added argument plist; Call
2582         `elmo-spam-buffer-spam-p' with new argument register.
2583
2584         * elmo-spam.el (elmo-spam-buffer-spam-p): Added optional argument
2585         `register'.
2586         (elmo-spam-message-spam-p): Ditto.
2587         (elmo-spam-register-spam-buffer): Added optional argument
2588         `restore'.
2589         (elmo-spam-register-good-buffer): Ditto.
2590         (elmo-spam-register-spam-messages): Ditto.
2591         (elmo-spam-register-good-messages): Ditto.
2592
2593 2003-10-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2594
2595         * elsp-spamfilter.el (elmo-spam-register-spam-buffer): Fixed to
2596         register into good corpus.
2597         (elmo-spam-register-good-buffer): Fixed to register into bad
2598         corpus.
2599
2600 2003-10-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2601
2602         * elmo-version.el (elmo-version): Up to 2.11.20.
2603
2604         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed last
2605         change.
2606
2607         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Determine new
2608         flag without depending on \Recent flag.
2609
2610 2003-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2611
2612         * elsp-spamfilter.el (elsp-spamfilter): Added new slot `modified'.
2613         (elmo-spam-modified-p): Defined.
2614         (elmo-spam-save-status): Set `modified' slot to nil.
2615         (elmo-spam-register-spam-buffer): Set `modified' slot to non nil.
2616         (elmo-spam-register-good-buffer): Ditto.
2617
2618         * elmo-spam.el (elmo-spam-modified-p): New API.
2619
2620 2003-10-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2621
2622         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Abolish
2623         duplicate definition.
2624
2625         * elmo-util.el (elmo-unfold-field-body): New function.
2626         (elmo-msgdb-get-message-id-from-buffer): Use it.
2627
2628         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
2629         Fixed the last change; Use elmo-unfold-field-body.
2630
2631 2003-10-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2632
2633         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
2634         Unfold date value.
2635
2636 2003-10-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2637
2638         * elmo-spam.el (elmo-spam-save-status): New API.
2639
2640         * elsp-spamfilter.el: New file.
2641
2642 2003-10-21  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2643
2644         * elmo-split.el (toplevel): Add `elmo-spam-processor' args.
2645
2646 2003-10-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2647
2648         * elmo-split.el (elmo-split-spam-p): New function.
2649
2650         * elmo-spam.el: New file.
2651
2652         * elsp-bogofilter.el: Ditto.
2653
2654 2003-10-15  Yuuichi Teranishi  <teranisi@gohome.org>
2655
2656         * elmo.el (elmo-folder-next-message-number): New API.
2657         (elmo-folder-next-message-number): Define.
2658         (elmo-message-field): Don't check folder length.
2659
2660         * elmo-net.el (elmo-folder-next-message-number): Define.
2661         (elmo-folder-next-message-number-unplugged): Define.
2662
2663         * elmo-map.el (elmo-folder-next-message-number): Define.
2664         (elmo-folder-delete-messages): Clear hash value.
2665
2666         * elmo-imap4.el (elmo-folder-next-message-number-plugged): Define.
2667
2668         * elmo-dop.el (elmo-folder-next-message-number-dop): New function.
2669         (elmo-folder-delete-messages-dop-delayed): Always return t.
2670
2671         * elmo-version.el (elmo-version): Up to 2.11.19.
2672
2673 2003-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2674
2675         * modb-legacy.el (elmo-msgdb-append-entity): Fixed the last
2676         change.
2677
2678         * modb-legacy.el (elmo-msgdb-append-entity): Registered an
2679         identical cons cell into the mark-alist and the hash table.
2680
2681 2003-10-08  Yuuichi Teranishi  <teranisi@gohome.org>
2682
2683         * elmo-pipe.el (elmo-pipe-folder-list-target-messages): Call
2684         elmo-folder-list-messages with argument `visible-only' as t.
2685
2686         * elmo-filter.el (elmo-folder-search-requires-msgdb-p): Define.
2687         (elmo-folder-msgdb-create): Check the target folder.
2688
2689 2003-10-07  Yuuichi Teranishi  <teranisi@gohome.org>
2690
2691         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Use
2692         `permanentflag' instead of `flags'.
2693         (elmo-folder-open): Ditto.
2694         (elmo-imap4-set-flag): Treat \Deleted flag as an exception.
2695         (elmo-imap4-disuse-server-flag-mailbox-regexp): Abolish.
2696         (elmo-folder-use-flag-p): Always return t.
2697         (elmo-imap4-session-select-mailbox): Use value of `flags' if
2698         `permanentflags' does not exist.
2699         (elmo-folder-open): Ditto.
2700
2701 2003-10-06  Yuuichi Teranishi  <teranisi@gohome.org>
2702
2703         * modb-legacy.el (elmo-msgdb-message-entity): Return nil when key
2704         is nil.
2705         * modb-standard.el (elmo-msgdb-message-entity): Ditto.
2706
2707         * elmo-imap4.el (elmo-imap4-session): Added new slot `flags'.
2708         (elmo-imap4-session-select-mailbox): Set it according to the SELECT
2709         response.
2710         (elmo-folder-open): Ditto.
2711         (elmo-imap4-set-flag): Send store flag command only when the `flags'
2712         slot of the session includes the flag.
2713         (elmo-imap4-session-flag-available-p): New function.
2714         (elmo-imap4-folder-list-flagged): Ditto.
2715         (elmo-folder-list-unreads-plugged): Use it.
2716         (elmo-folder-list-importants-plugged): Ditto.
2717         (elmo-folder-list-answereds-plugged): Ditto.
2718         (elmo-imap4-search-internal-primitive): Ditto.
2719         (elmo-imap4-folder-list-any-plugged,
2720         elmo-imap4-folder-list-digest-plugged): Abolish.
2721
2722         * elmo-filter.el (elmo-folder-search): Don't call elmo-list-filter
2723         if numbers is nil.
2724
2725 2003-10-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
2726
2727         * elmo-util.el (toplevel): Require emu for char-list-to-string.
2728
2729 2003-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
2730
2731         * elmo-util.el (elmo-get-hash-val): Simplify.
2732         (elmo-set-hash-val): Rewrite.
2733
2734 2003-09-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2735
2736         * elmo.el (elmo-folder-list-messages): Append killed messages into
2737         result if `visible-only' is nil and `in-msgdb' is non-nil.
2738
2739         * elmo-util.el (elmo-uniq-list): Added optional argument
2740         `delete-function'.
2741
2742         * modb.el (elmo-msgdb-flag-count): New API.
2743
2744         * modb-standard.el (modb-standard): Added slot flag-count.
2745         (modb-standard-countup-flags): New function.
2746         (modb-standard-load-flag): Call it.
2747         (elmo-msgdb-append): Ditto.
2748         (elmo-msgdb-clear): Clear slot flag-count.
2749         (elmo-msgdb-set-flag): Call modb-standard-countup-flags.
2750         (elmo-msgdb-unset-flag): Treat `all' flag and call
2751         modb-standard-countup-flags.
2752         (elmo-msgdb-flag-count): Define.
2753         (elmo-msgdb-append-entity): Call modb-standard-countup-flags.
2754         (elmo-msgdb-delete-messages): Ditto.
2755
2756         * modb-legacy.el (elmo-msgdb-unset-flag): Treat `all' flag.
2757         (elmo-msgdb-flag-count): Define.
2758
2759         * elmo.el (elmo-folder-list-messages): Undo last change.
2760         (elmo-folder-count-flags): Use elmo-msgdb-flag-count.
2761         (elmo-folder-kill-messages): Unset all flags to numbers.
2762
2763         * elmo-sendlog.el (elmo-folder-delete-messages): Rewrite; use
2764         elmo-folder-kill-messages.
2765
2766         * elmo-nntp.el (elmo-folder-delete-messages): Ditto.
2767         (elmo-nntp-folder-delete-messages): Abolish.
2768
2769         * elmo-version.el (elmo-version): Up to 2.11.18.
2770
2771 2003-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2772
2773         * elmo.el (elmo-folder-kill-messages-before): Abolish.
2774         (elmo-folder-kill-messages-range): New function.
2775         (elmo-folder-synchronize): Use elmo-folder-kill-messages-range
2776         instead of elmo-folder-kill-messages-before.
2777
2778 2003-09-26  Yuuichi Teranishi  <teranisi@gohome.org>
2779
2780         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use
2781         elmo-imap4-current-msgdb to decide entity handler.
2782
2783 2003-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
2784
2785         * elmo-dop.el (elmo-dop-msgdb): Rewrite.
2786
2787         * modb-legacy.el (elmo-msgdb-overview-entity-get-id-internal): New
2788         inline function.
2789         (elmo-msgdb-overview-entity-get-number-internal): Ditto.
2790         (elmo-msgdb-overview-entity-set-number,
2791         elmo-msgdb-overview-entity-get-references,
2792         elmo-msgdb-overview-entity-set-references,
2793         elmo-msgdb-overview-entity-get-from-no-decode,
2794         elmo-msgdb-overview-entity-get-from,
2795         elmo-msgdb-overview-entity-set-from,
2796         elmo-msgdb-overview-entity-get-subject,
2797         elmo-msgdb-overview-entity-get-subject-no-decode,
2798         elmo-msgdb-overview-entity-set-subject,
2799         elmo-msgdb-overview-entity-get-date,
2800         elmo-msgdb-overview-entity-set-date,
2801         elmo-msgdb-overview-entity-get-to,
2802         elmo-msgdb-overview-entity-get-cc,
2803         elmo-msgdb-overview-entity-get-size,
2804         elmo-msgdb-overview-entity-set-size,
2805         elmo-msgdb-overview-entity-get-extra,
2806         elmo-msgdb-overview-entity-set-extra,
2807         elmo-msgdb-overview-entity-get-extra-field,
2808         elmo-msgdb-overview-entity-set-extra-field): Moved to elmo-msgdb.el.
2809         (elmo-msgdb-make-index): Use
2810         `elmo-msgdb-overview-entity-get-number-internal'.
2811         (elmo-msgdb-clear-index): Ditto.
2812         (elmo-msgdb-append-entity): Ditto;
2813         Use `elmo-msgdb-overview-entity-get-id-internal'.
2814
2815         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-number,
2816         elmo-msgdb-overview-entity-set-number,
2817         elmo-msgdb-overview-entity-get-references,
2818         elmo-msgdb-overview-entity-set-references,
2819         elmo-msgdb-overview-entity-get-from-no-decode,
2820         elmo-msgdb-overview-entity-get-from,
2821         elmo-msgdb-overview-entity-set-from,
2822         elmo-msgdb-overview-entity-get-subject,
2823         elmo-msgdb-overview-entity-get-subject-no-decode,
2824         elmo-msgdb-overview-entity-set-subject,
2825         elmo-msgdb-overview-entity-get-date,
2826         elmo-msgdb-overview-entity-set-date,
2827         elmo-msgdb-overview-entity-get-to,
2828         elmo-msgdb-overview-entity-get-cc,
2829         elmo-msgdb-overview-entity-get-size,
2830         elmo-msgdb-overview-entity-set-size,
2831         elmo-msgdb-overview-entity-get-extra,
2832         elmo-msgdb-overview-entity-set-extra,
2833         elmo-msgdb-overview-entity-get-extra-field,
2834         elmo-msgdb-overview-entity-set-extra-field): Moved from modb-legacy.el
2835         and rewrote for backward compatibility.
2836
2837 2003-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2838
2839         * elmo.el (elmo-message-entity-number,
2840         elmo-message-entity-set-number,
2841         elmo-message-entity-field,
2842         elmo-message-entity-set-field): Moved to elmo-msgdb.el.
2843
2844         * elmo-msgdb.el (elmo-message-entity-number,
2845         elmo-message-entity-set-number,
2846         elmo-message-entity-field,
2847         elmo-message-entity-set-field): Moved from elmo.el.
2848
2849 2003-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
2850
2851         * elmo.el (toplevel): Changed definition orders.
2852
2853 2003-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2854
2855         * modb.el (elmo-msgdb-search): New API .
2856         (elmo-msgdb-match-condition): Ditto.
2857
2858         * modb-standard.el (elmo-msgdb-search): Define.
2859
2860         * modb-legacy.el (elmo-msgdb-search): Ditto.
2861
2862         * modb-entity.el (elmo-msgdb-message-match-condition): Renamed
2863         from elmo-msgdb-match-condition-internal.
2864
2865         * elmo.el (elmo-folder-search-fast): Abolish.
2866         (elmo-folder-search): Use elmo-msgdb-search and
2867         elmo-with-progress-display.
2868
2869         * elmo-msgdb.el (elmo-msgdb-match-condition): Removed; redefined
2870         as msgdb API.
2871
2872         * elmo.el (elmo-folder): Remove slot message-modified and
2873         flag-modified.
2874         (elmo-folder-set-message-modified): Abolish.
2875         (elmo-generic-folder-commit): Follow the change above.
2876         (elmo-folder-synchronize): Ditto.
2877
2878         * elmo-pipe.el (elmo-folder-set-message-modified): Abolish.
2879
2880         * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
2881
2882         * elmo-filter.el (elmo-folder-set-message-modified): Ditto.
2883
2884 2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
2885
2886         * modb-standard.el (modb-standard-make-message-entity,
2887         elmo-msgdb-make-message-entity,
2888         elmo-msgdb-create-message-entity-from-buffer,
2889         elmo-msgdb-message-entity-number,
2890         elmo-msgdb-message-entity-set-number,
2891         elmo-msgdb-message-entity-field,
2892         elmo-msgdb-message-entity-set-field,
2893         elmo-msgdb-copy-message-entity,
2894         elmo-msgdb-match-condition-internal): Remove.
2895
2896         * modb-entity.el: New file (again).
2897
2898         * modb.el (toplevel): Require modb-entity.
2899         (elmo-msgdb-message-entity-handler): New method.
2900
2901         * modb-standard.el (modb-standard-entity-id): Use
2902         elmo-message-entity-handler.
2903         (modb-standard-load-entity): Ditto.
2904         (elmo-msgdb-append-entity): Ditto.
2905         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
2906
2907         * modb-legacy.el (elmo-msgdb-get-decoded-cache,
2908         elmo-msgdb-decoded-cache-hashtb,
2909         (modb-legacy-make-message-entity,
2910         elmo-msgdb-make-message-entity,
2911         elmo-msgdb-create-message-entity-from-buffer,
2912         elmo-msgdb-message-entity-number,
2913         elmo-msgdb-message-entity-set-number,
2914         elmo-msgdb-message-entity-field,
2915         elmo-msgdb-message-entity-set-field,
2916         elmo-msgdb-copy-message-entity,
2917         elmo-msgdb-match-condition-internal,
2918         elmo-msgdb-match-condition-primitive): Moved to modb-entity.el.
2919
2920         * elmo.el (elmo-message-copy-entity): Use elmo-message-entity-handler.
2921         (elmo-message-entity-set-number): Ditto.
2922         (elmo-message-entity-field): Ditto.
2923         (elmo-message-entity-set-field): Ditto.
2924
2925         * elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Ditto.
2926
2927         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
2928
2929         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
2930
2931         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
2932         (elmo-nntp-msgdb-create-message): Ditto.
2933
2934         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
2935         (elmo-folder-msgdb-create): Add unread flag.
2936
2937         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
2938
2939         * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Ditto.
2940
2941         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Ditto.
2942
2943         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
2944
2945         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Call
2946         elmo-msgdb-messge-entity-handler.
2947         * elmo-version.el (elmo-version): Up to 2.11.17.
2948
2949 2003-09-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2950
2951         * elmo-shimbun.el (elmo-shimbun-update-overview): Fixed the last
2952         change.
2953
2954 2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
2955
2956         * elmo.el (elmo-message-field): Use elmo-message-entity-field.
2957
2958         * elmo-msgdb.el (elmo-msgdb-get-number): Abolish.
2959         (elmo-msgdb-get-parent-entity): Use elmo-message-entity-field.
2960         (elmo-msgdb-flag-table): Ditto.
2961         (elmo-msgdb-sort-by-date): Ditto.
2962
2963         * modb.el (elmo-msgdb-create-message-entity-from-file): Define.
2964
2965         * modb-standard.el (toplevel): Require mime.
2966         (modb-standard-entity-id): Use elmo-msgdb-message-entity-field.
2967         (modb-standard-load-entity): Use elmo-msgdb-message-entity-field and
2968         elmo-msgdb-message-entity-number.
2969         (elmo-msgdb-append-entity): Ditto.
2970         (elmo-msgdb-create-message-entity-from-file): Remove.
2971         (elmo-msgdb-create-message-entity-from-buffer): Use msgdb which 
2972         corresponds to the entity.
2973         (elmo-msgdb-message-entity-number): Do nothing currently.
2974         (elmo-msgdb-message-entity-field): Ditto.
2975         (elmo-msgdb-message-entity-set-field): Ditto.
2976         (elmo-msgdb-copy-message-entity): Ditto.
2977         (elmo-msgdb-match-condition-internal): Ditto.
2978
2979         * modb-legacy.el (elmo-msgdb-insert-file-header): Moved to
2980         elmo-util.el.
2981         (elmo-msgdb-create-message-entity-from-file): Remove.
2982
2983         * elmo-util.el (elmo-msgdb-insert-file-header): Moved from
2984         modb-legacy.el.
2985         (elmo-multiple-field-body): Moved from elmo-msgdb.el.
2986
2987         * elmo-msgdb.el (elmo-multiple-field-body): Moved to elmo-util.el.
2988
2989 2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
2990
2991         * modb.el (elmo-msgdb-make-message-entity): Define simple one.
2992         (elmo-msgdb-message-entity-field): Ditto.
2993         (elmo-msgdb-message-entity-number): Ditto.
2994
2995 2003-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2996
2997         * modb-standard.el (elmo-msgdb-create-message-entity-from-buffer): 
2998         Fixed how to set extra field into entity.
2999         (elmo-msgdb-message-entity-set-field): Fixed mistake string for
3000         symbol.
3001
3002         * modb-legacy.el (elmo-msgdb-create-message-entity-from-buffer):
3003         Fixed how to set extra field into entity.
3004         (elmo-msgdb-message-entity-set-field): Fixed mistake string for
3005         symbol.
3006
3007 2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
3008
3009         * modb.el (elmo-message-entity-db): New function.
3010         (elmo-msgdb-make-message-entity): New API.
3011         (elmo-msgdb-message-entity-number): Ditto.
3012         (elmo-msgdb-message-entity-set-number): Ditto.
3013         (elmo-msgdb-message-entity-field): Ditto.
3014         (elmo-msgdb-message-entity-set-field): Ditto.
3015         (elmo-msgdb-copy-message-entity): Ditto.
3016         (elmo-msgdb-create-message-entity-from-file): Ditto.
3017         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
3018         (elmo-msgdb-match-condition-internal): Ditto.
3019
3020         * modb-standard.el (modb-legacy): Require modb-legacy.
3021         (modb-standard-make-message-entity): New inline function.
3022         (elmo-msgdb-make-message-entity): Define.
3023         (elmo-msgdb-create-message-entity-from-file): Ditto.
3024         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
3025         (elmo-msgdb-message-entity-field): Ditto.
3026         (elmo-msgdb-message-entity-set-field): Ditto.
3027         (elmo-msgdb-copy-message-entity): Ditto.
3028         (elmo-msgdb-match-condition-internal): Ditto.
3029
3030         * modb-legacy.el: Don't require modb-entity.
3031         (elmo-msgdb-decoded-cache-hashtb): Moved from elmo-msgdb.el
3032         (elmo-msgdb-match-condition-primitive): Ditto.
3033         (elmo-msgdb-get-decoded-cache): Ditto.
3034         (elmo-msgdb-overview-entity-get-id): Ditto.
3035         (elmo-msgdb-overview-entity-get-number): Ditto.
3036         (elmo-msgdb-overview-entity-set-number): Ditto.
3037         (elmo-msgdb-overview-entity-get-references): Ditto.
3038         (elmo-msgdb-overview-entity-set-references): Ditto.
3039         (elmo-msgdb-overview-entity-get-from-no-decode): Ditto.
3040         (elmo-msgdb-overview-entity-get-from): Ditto.
3041         (elmo-msgdb-overview-entity-set-from): Ditto.
3042         (elmo-msgdb-overview-entity-get-subject): Ditto.
3043         (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
3044         (elmo-msgdb-overview-entity-set-subject): Ditto.
3045         (elmo-msgdb-overview-entity-get-date): Ditto.
3046         (elmo-msgdb-overview-entity-set-date): Ditto.
3047         (elmo-msgdb-overview-entity-get-to): Ditto.
3048         (elmo-msgdb-overview-entity-get-cc): Ditto.
3049         (elmo-msgdb-overview-entity-get-size): Ditto.
3050         (elmo-msgdb-overview-entity-set-size): Ditto.
3051         (elmo-msgdb-overview-entity-get-extra): Ditto.
3052         (elmo-msgdb-overview-entity-set-extra): Ditto.
3053         (elmo-msgdb-overview-entity-get-extra-field): Ditto.
3054         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
3055         (elmo-msgdb-number-load): Ditto.
3056         (elmo-msgdb-overview-load): Ditto.
3057         (elmo-msgdb-mark-load): Ditto.
3058         (elmo-msgdb-number-save): Ditto.
3059         (elmo-msgdb-mark-save): Ditto.
3060         (elmo-msgdb-overview-save): Ditto.
3061         (modb-legacy-make-message-entity): New inline function.
3062         (elmo-msgdb-insert-file-header): Ditto.
3063         (elmo-msgdb-make-message-entity): Define.
3064         (elmo-msgdb-create-message-entity-from-file): Ditto.
3065         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
3066         (elmo-msgdb-message-entity-number): Ditto.
3067         (elmo-msgdb-message-entity-set-number): Ditto.
3068         (elmo-msgdb-message-entity-field): Ditto.
3069         (elmo-msgdb-message-entity-set-field): Ditto.
3070         (elmo-msgdb-copy-message-entity): Ditto.
3071         (elmo-msgdb-match-condition-internal): Ditto.
3072
3073         * elmo.el (elmo-find-fetch-strategy): Use elmo-message-entity-field.
3074         (elmo-message-copy-entity): Rewrite.
3075         (elmo-message-entity-number): Ditto.
3076         (elmo-message-entity-set-number): Ditto.
3077         (elmo-message-entity-field): Use elmo-message-entity-db.
3078         (elmo-message-entity-set-field): Ditto.
3079         (elmo-message-field): Rewrite.
3080
3081         * elmo-util.el (elmo-msgdb-get-last-message-id): Moved from
3082         elmo-msgdb.el
3083         (elmo-msgdb-get-message-id-from-buffer): Ditto.
3084
3085         * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
3086         elmo-message-entity-field.
3087         (elmo-shimbun-folder-shimbun-header): Ditto.
3088         (elmo-shimbun-entity-to-header): Ditto.
3089         (elmo-folder-msgdb-create): Ditto.
3090         (elmo-shimbun-msgdb-create-entity): Ditto;
3091         Use elmo-msgdb-create-message-entity-from-buffer.
3092         (elmo-shimbun-update-overview): Use elmo-message-entity-set-field.
3093         (elmo-map-folder-list-message-locations): elmo-message-entity-field.
3094
3095         * elmo-sendlog.el (elmo-folder-msgdb-create): Use
3096         elmo-msgdb-create-message-entity-from-file and 
3097         elmo-message-entity-field.
3098
3099         * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
3100         elmo-message-entity-number.
3101         (elmo-pop3-msgdb-create-message): Use
3102         elmo-msgdb-create-message-entity-from-buffer,
3103         elmo-message-entity-set-field, elmo-message-entity-number and
3104         elmo-message-entity-set-number.
3105
3106         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Follow
3107         the API change in elmo-msgdb-make-message-entity.
3108         (elmo-nntp-msgdb-create-message): Use
3109         elmo-msgdb-create-message-entity-from-buffer.
3110
3111         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Use
3112         elmo-message-entity-field and
3113         elmo-msgdb-create-message-entity-from-file.
3114
3115         * elmo-msgdb.el (toplevel): Don't require modb-entity.
3116         (elmo-msgdb-get-field): Abolish.
3117         (elmo-msgdb-get-number): Rewrite.
3118         (elmo-msgdb-sort-by-date): Use elmo-message-entity-field.
3119         (elmo-msgdb-flag-table): Ditto.
3120         (elmo-msgdb-get-last-message-id,
3121         elmo-msgdb-number-load, elmo-msgdb-overview-load,
3122         elmo-msgdb-mark-load, elmo-msgdb-number-save,
3123         elmo-msgdb-mark-save, elmo-msgdb-overview-save): Moved to modb-legacy.
3124         (elmo-msgdb-create-overview-from-buffer,
3125         elmo-msgdb-overview-get-parent-entity): Abolish.
3126
3127         * elmo-mime.el (elmo-mime-display-as-is): Use
3128         elmo-message-entity-field.
3129
3130         * elmo-map.el (elmo-folder-pack-numbers): Use
3131         elmo-message-entity-set-number.
3132
3133         * elmo-maildir.el (elmo-folder-msgdb-create): 
3134         elmo-msgdb-create-message-entity-from-file instead of
3135         elmo-msgdb-create-overview-entity-from-file.
3136
3137         * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Added argument
3138         msgdb.
3139         (elmo-folder-msgdb-create): Use elmo-message-entity-field.
3140         (elmo-folder-pack-numbers): Use elmo-message-entity-set-number.
3141
3142         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Use
3143         elmo-messge-entity-field and elmo-message-entity-number.
3144         (elmo-imap4-fetch-callback-1): Call
3145         elmo-msgdb-create-message-entity-from-buffer instead of
3146         elmo-msgdb-create-overview-from-buffer. 
3147         (elmo-folder-msgdb-create-plugged): Use elmo-messge-entity-field.
3148         (elmo-find-fetch-strategy): Likewise.
3149
3150         * elmo-flag.el (elmo-folder-msgdb-create): Call 
3151         elmo-localdir-msgdb-create-entity with argument msgdb.
3152
3153         * elmo-dop.el (elmo-dop-msgdb): Use elmo-message-entity-number
3154         and elmo-message-entity-set-number.
3155
3156         * elmo-cache.el (elmo-folder-msgdb-create): Use
3157         elmo-message-entity-field.
3158         (elmo-folder-msgdb-create): Call
3159         elmo-msgdb-create-message-entity-from-file instead of
3160         elmo-msgdb-create-overview-entity-from-file.
3161
3162         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Added
3163         argument msgdb; Call elmo-msgdb-create-message-from-buffer
3164         instead of elmo-msgdb-create-overview-from-buffer.
3165         (elmo-archive-msgdb-create-entity): Ditto.
3166         (elmo-archive-msgdb-create-as-numlist-subr1): Use
3167         elmo-message-entity-field.
3168         (elmo-archive-parse-mmdf): Ditto.
3169
3170         * modb-entity.el: Removed.
3171
3172         * elmo-version.el (elmo-version): Up to 2.11.16.
3173
3174 2003-09-20  Yuuichi Teranishi  <teranisi@gohome.org>
3175
3176         * elmo-map.el (elmo-folder-unflag-answered): Added optional argument
3177         `is-local'.
3178         (elmo-folder-flag-as-answered): Ditto.
3179
3180 2003-09-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3181
3182         * modb-standard.el: New file.
3183
3184         * elmo.el (elmo-folder-clear): Reconstruct msgdb if
3185         elmo-msgdb-convert-type is `sync'.
3186
3187         * elmo-vars.el (elmo-msgdb-default-type): Added `standard'.
3188         (elmo-msgdb-convert-type): New user option.
3189
3190         * elmo-msgdb.el (elmo-msgdb-load-priorities): New internal variable.
3191         (elmo-load-msgdb): Auto detect saved type.
3192
3193         * elmo-version.el (elmo-version): Up to 2.11.15.
3194
3195 2003-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
3196
3197         * elmo-flag.el (elmo-folder-list-global-flag-messages): New function.
3198
3199         * elmo.el (elmo-folder-delete-messages): Added notice in docstring.
3200         (elmo-folder-move-messages): Call elmo-global-flag-detach-messages
3201         with argument `delete-if-none' when dst-folder is 'null.
3202
3203         * elmo-flag.el (elmo-folder-append-messages): Defined.
3204         (elmo-global-flag-detach-messages): Added argumnet `delete-if-none'.
3205
3206 2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
3207
3208         * elmo-flag.el (elmo-folder-initialize): Fixed ("/.minfo"->".minfo").
3209
3210 2003-09-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3211
3212         * elmo-flag.el (elmo-folder-expand-msgdb-path): Define.
3213         (elmo-folder-initialize): Use `elmo-folder-msgdb-path'.
3214         (elmo-folder-commit): Ditto.
3215
3216 2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
3217
3218         * elmo-flag.el: New file.
3219
3220         * elmo-mark.el: Removed.
3221
3222         * modb-legacy.el (modb-legacy-new-mark,
3223         modb-legacy-unread-uncached-mark,
3224         modb-legacy-unread-cached-mark,
3225         modb-legacy-read-uncached-mark,
3226         modb-legacy-answered-cached-mark,
3227         modb-legacy-answered-uncached-mark,
3228         modb-legacy-important-mark): New constants (Moved from elmo-msgdb.el);
3229         All other related portions are changed.
3230
3231         * elmo.el (luna-define-class): Changed mark-modified to flag-modified.
3232         (elmo-folder-list-messages-with-global-mark): Abolish.
3233         (elmo-folder-unflag-important): Renamed from `mark' to `flag'.
3234         (elmo-folder-flag-as-important): Ditto.
3235         (elmo-folder-unflag-read): Ditto.
3236         (elmo-folder-flag-as-read): Ditto.
3237         (elmo-folder-unflag-answered): Ditto.
3238         (elmo-folder-flag-as-answered): Ditto.
3239         (elmo-message-encache): Return the cache path.
3240         (elmo-folder-move-messages): Call elmo-global-flag-detach-messages.
3241         (elmo-message-set-flag): Transitional implementation.
3242         (elmo-message-unset-flag): Ditto.
3243         (elmo-folder-unflag-important): Call elmo-global-flag-detach.
3244         (elmo-folder-flag-as-important): Call elmo-global-flag-set.
3245         (elmo-init): Call elmo-global-flag-initialize.
3246         (toplevel): Added autoload settings for elmo-flag.
3247
3248         * elmo-vars.el (elmo-msgdb-global-mark-filename): Abolished.
3249
3250         * elmo-util.el: Removed all elmo-msgdb-global-mark stuff.
3251         (elmo-file-cache-delete): Don't treat global-mark.
3252
3253         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
3254
3255         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
3256
3257         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Call
3258         `elmo-global-flags-set'.
3259
3260         * elmo-pipe.el (elmo-folder-flag-as-read): Renamed from `mark' to
3261         `flag'.
3262         (elmo-folder-unflag-read): Ditto.
3263         (elmo-folder-unflag-important): Ditto.
3264         (elmo-folder-flag-as-important): Ditto.
3265         (elmo-folder-unflag-answered): Ditto.
3266         (elmo-folder-flag-as-answered): Ditto.
3267
3268         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Call
3269         `elmo-global-flags-set'.
3270         (elmo-folder-flag-as-read): Renamed from `mark' to `flag'.
3271
3272         * elmo-nmz.el (elmo-folder-msgdb-create): Always put `new' flag.
3273
3274         * elmo-net.el (elmo-folder-unflag-important): Renamed from `mark' to
3275         `flag'.
3276         (elmo-folder-flag-as-important): Ditto.
3277         (elmo-folder-unflag-important): Ditto.
3278         (elmo-folder-flag-as-important): Ditto.
3279         (elmo-folder-unflag-read): Ditto.
3280         (elmo-folder-flag-as-read): Ditto.
3281         (elmo-folder-unflag-answered): Ditto.
3282         (elmo-folder-flag-as-answered): Ditto.
3283
3284         * elmo-multi.el (elmo-folder-list-importants): Don't call
3285         elmo-folder-list-messages-with-global-mark.
3286         (elmo-folder-flag-as-important): Renamed from `mark' to `flag'.
3287         (elmo-folder-unflag-important): Ditto.
3288         (elmo-folder-flag-as-read): Ditto.
3289         (elmo-folder-unflag-read): Ditto.
3290         (elmo-folder-flag-as-answered): Ditto.
3291         (elmo-folder-unflag-answered): Ditto.
3292
3293         * elmo-msgdb.el (elmo-msgdb-new-mark,
3294         elmo-msgdb-unread-uncached-mark, elmo-msgdb-unread-cached-mark,
3295         elmo-msgdb-read-uncached-mark, elmo-msgdb-answered-cached-mark,
3296         elmo-msgdb-answered-uncached-mark, elmo-msgdb-important-mark): Removed
3297         (Moved to modb-legacy.el).
3298         (elmo-flag-table-get): Treat important flag too.
3299
3300         * elmo-map.el (elmo-map-folder-unflag-important): Renamed from
3301         `mark' to `flag'.
3302         (elmo-map-folder-flag-as-important): Ditto.
3303         (elmo-map-folder-unflag-read): Ditto.
3304         (elmo-map-folder-flag-as-read): Ditto.
3305         (elmo-map-folder-unflag-answered): Ditto.
3306         (elmo-map-folder-flag-as-answered): Ditto.
3307         (elmo-folder-unflag-important): Ditto.
3308         (elmo-folder-flag-as-important): Ditto.
3309         (elmo-folder-unflag-read): Ditto.
3310         (elmo-folder-flag-as-read): Ditto.
3311         (elmo-folder-unflag-answered): Ditto.
3312         (elmo-folder-flag-as-answered): Ditto.
3313
3314         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
3315         (elmo-map-folder-flag-as-important): Renamed from `mark' to
3316         `flag'.
3317         (elmo-map-folder-unflag-important): Ditto.
3318         (elmo-map-folder-flag-as-read): Ditto.
3319         (elmo-map-folder-unflag-read): Ditto.
3320         (elmo-map-folder-flag-as-answered): Ditto.
3321         (elmo-map-folder-unflag-answered): Ditto.
3322
3323         * elmo-localdir.el (elmo-folder-msgdb-create): Call
3324         `elmo-global-flags-set'.
3325         (elmo-global-flags-set): Added autoload setting.
3326
3327         * elmo-internal.el (elmo-internal-folder-list): Changed `mark' to
3328         `flag'.
3329
3330         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Don't call
3331         `elmo-msgdb-global-mark-set'.
3332         (elmo-folder-msgdb-create-plugged): Changed callback-data structure;
3333         Call `elmo-global-flags-set'.
3334         (elmo-folder-unflag-important-plugged): Renamed from `mark' to
3335         `flag'.
3336         (elmo-folder-flag-as-important-plugged): Ditto.
3337         (elmo-folder-unflag-read-plugged): Ditto.
3338         (elmo-folder-flag-as-read-plugged): Ditto.
3339         (elmo-folder-unflag-answered-plugged): Ditto.
3340         (elmo-folder-flag-as-answered-plugged): Ditto.
3341         (elmo-global-flags-set): Added autoload setting.
3342
3343         * elmo-filter.el (elmo-folder-flag-as-read): Renamed from `mark' to
3344         `flag'.
3345         (elmo-folder-unflag-read): Ditto.
3346         (elmo-folder-flag-as-important): Ditto.
3347         (elmo-folder-unflag-important): Ditto.
3348         (elmo-folder-flag-as-answered): Ditto.
3349         (elmo-folder-unflag-answered): Ditto.
3350
3351         * elmo-dop.el (elmo-dop-queue-merge-method-list): Follow the API
3352         change of `mark'->`flag'.
3353         (elmo-dop-queue-method-name-alist): Ditto.
3354         (elmo-folder-flag-as-read-dop): Renamed from `mark' to `flag'.
3355         (elmo-folder-unflag-read-dop): Ditto.
3356         (elmo-folder-flag-as-important-dop): Ditto.
3357         (elmo-folder-unflag-important-dop): Ditto.
3358         (elmo-folder-flag-as-answered-dop): Ditto.
3359         (elmo-folder-unflag-answered-dop): Ditto.
3360
3361         * elmo-cache.el (elmo-folder-msgdb-create): Call
3362         `elmo-global-flags-set'.
3363
3364         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
3365         Call `elmo-global-flags-set'.
3366         (elmo-archive-msgdb-create-as-numlist-subr2): Call
3367         elmo-archive-parse-mmdf with argument `folder'.
3368         (elmo-archive-parse-mmdf): Added argument `folder';
3369         Call `elmo-global-flags-set'.
3370
3371         * elmo-version.el (elmo-version): Up to 2.11.14.
3372
3373 2003-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3374
3375         * modb.el (elmo-msgdb-length): Define.
3376
3377         * elmo.el (elmo-make-folder): Fixed.
3378         (elmo-generic-folder-append-messages): Follow the API change.
3379
3380         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Follow the
3381         API change.
3382
3383 2003-09-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3384
3385         * modb.el: New file.
3386
3387         * modb-entity.el: Ditto.
3388
3389         * modb-legacy.el: Ditto.
3390
3391         * elmo-msgdb.el (elmo-make-msgdb): Added 2nd argument `type'.
3392         (elmo-msgdb-get-number): Use `elmo-msgdb-message-entity' instead
3393         of `elmo-msgdb-overview-get-entity'.
3394         (elmo-msgdb-get-field): Ditto.
3395         (elmo-msgdb-merge): Moved to `elmo.el'.
3396         (elmo-msgdb-length): Removed; redefine as modb method.
3397         (elmo-msgdb-change-mark): Abolish.
3398         (elmo-msgdb-out-of-date-messages): Rewrite; don't use it.
3399         (elmo-msgdb-match-condition): Don't use mark.
3400         (elmo-msgdb-overview-get-entity): Abolish.
3401         Split modb part into `modb*.el'.
3402
3403         * elmo-vars.el (elmo-msgdb-default-type): New user option.
3404
3405         * elmo-shimbun.el (shimbun-mua-search-id): Use
3406         `elmo-msgdb-message-entity' instead of
3407         `elmo-msgdb-overview-get-entity'.
3408         (elmo-shimbun-folder-shimbun-header): Ditto.
3409         (elmo-shimbun-get-headers): Ditto.
3410         (elmo-shimbun-update-overview): Ditto.
3411
3412         * elmo-mime.el (elmo-mime-display-as-is): Ditto.
3413
3414         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
3415
3416         * elmo.el (elmo-folder-list-messages-with-global-mark): Ditto.
3417         (elmo-msgdb-merge): Moved from `elmo-msgdb.el'.
3418
3419         * elmo-mark.el (elmo-mark-folder-msgdb-create): Don't use
3420         `elmo-msgdb-mark-to-flags'.
3421
3422         * elmo-map.el (elmo-folder-pack-numbers): Don't use
3423         `elmo-msgdb-set-path'.
3424
3425         * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
3426  
3427         * elmo-version.el (elmo-version): Up to 2.11.13.
3428
3429         * elmo.el (elmo-generic-folder-commit): Don't load msgdb.
3430
3431         * elmo-mark.el (elmo-mark-folder-msgdb-create): Use flag instead
3432         of mark.
3433
3434 2003-09-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
3435
3436         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed paren
3437         mismatch.
3438
3439 2003-09-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3440
3441         * elmo.el (elmo-message-cached-p): Use `elmo-message-flagged-p'
3442         instead of `elmo-msgdb-get-cached'.
3443         (elmo-message-set-cached): Don't use `elmo-msgdb-set-cached'.
3444
3445         * elmo-msgdb.el (elmo-msgdb-get-cached): Abolish.
3446         (elmo-msgdb-set-cached): Ditto.
3447         (elmo-msgdb-set-flag): Rewrite.
3448         (elmo-msgdb-unset-flag): Ditto.
3449
3450         * elmo-msgdb.el: Rewrite with luna.
3451
3452         * elmo.el (elmo-folder-msgdb-load): Renamed from `elmo-msgdb-load'.
3453         (elmo-folder-msgdb): Follow the change above.
3454         (elmo-generic-folder-commit): Use `elmo-msgdb-save'.
3455         (elmo-folder-unmark-important): Follow the API change.
3456         (elmo-folder-mark-as-important): Ditto.
3457         (elmo-folder-unmark-read): Ditto.
3458         (elmo-folder-mark-as-read): Ditto.
3459         (elmo-folder-unmark-answered): Ditto.
3460         (elmo-folder-mark-as-answered): Ditto.
3461         (elmo-folder-clear): Likewise.
3462
3463         * elmo-imap4.el (elmo-folder-open): Use `elmo-folder-msgdb-load'
3464         instead of `elmo-msgdb-load' (renamed).
3465
3466         * elmo-version.el (elmo-version): Up to 2.11.12.
3467
3468 2003-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3469
3470         * elmo.el (elmo-generic-folder-append-messages): Follow the API
3471         change.
3472         (elmo-message-mark): Abolish.
3473         (elmo-folder-synchronize): Use `elmo-msgdb-out-of-date-messages'
3474         instead of `elmo-msgdb-change-mark'.
3475
3476         * elmo-pipe.el (elmo-message-mark): Abolish.
3477
3478         * elmo-multi.el (elmo-message-mark): Ditto.
3479
3480         * elmo-msgdb.el (elmo-msgdb-new-mark): Changed to constant.
3481         (elmo-msgdb-unread-uncached-mark): Ditto.
3482         (elmo-msgdb-unread-cached-mark): Ditto.
3483         (elmo-msgdb-read-uncached-mark): Ditto.
3484         (elmo-msgdb-answered-cached-mark): Ditto.
3485         (elmo-msgdb-answered-uncached-mark): Ditto.
3486         (elmo-msgdb-important-mark): Ditto.
3487         (elmo-msgdb-flags-to-mark): Remove arguments `cached' and
3488         `use-cache'.
3489         (elmo-msgdb-append-entity): Changed 3rd arg from `mark' to
3490         `flags'.
3491         (elmo-flag-table-load): Changed flag to list of flag.
3492         (elmo-flag-table-set): If flags is nil, set read flag.
3493         (elmo-flag-table-get): Return derived flags from global mark,
3494         cache status and saved flags.
3495         (elmo-msgdb-flag-table): Follow the change above.
3496         (elmo-msgdb-out-of-date-messages): New function.
3497
3498         * elmo-shimbun.el (elmo-folder-msgdb-create): Follow the API change.
3499
3500         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
3501
3502         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
3503
3504         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
3505         (elmo-nntp-msgdb-create-message): Ditto.
3506
3507         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
3508
3509         * elmo-maildir.el (elmo-maildir-list-location): Treat flags as
3510         independent.
3511         (elmo-folder-msgdb-create): Follow the API change.
3512
3513         * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
3514         (elmo-folder-append-messages): Ditto.
3515
3516         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
3517         (elmo-folder-append-buffer): Ditto.
3518
3519         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
3520
3521         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
3522
3523         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
3524         (elmo-archive-parse-mmdf): Ditto.
3525
3526         * elmo-version.el (elmo-version): Up to 2.11.11.
3527
3528 2003-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3529
3530         * elmo.el (elmo-message-flags): Use `elmo-msgdb-flags' instead of
3531         `elmo-msgdb-mark'.
3532
3533         * elmo-util.el (elmo-with-progress-display): Fixed edebug spec.
3534
3535         * elmo-pipe.el (elmo-message-flags): Defined.
3536
3537         * elmo-multi.el (elmo-message-flags): Ditto.
3538
3539 2003-09-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3540
3541         * elmo-msgdb.el (elmo-msgdb-delete-messages): Renamed from
3542         `elmo-msgdb-delete-msgs'.
3543
3544         * elmo.el (elmo-folder-count-flags): Don't use
3545         `elmo-msgdb-get-mark-alist'.
3546         (elmo-folder-detach-messages): Follow the API change.
3547
3548         * elmo.el (elmo-folder-list-messages): Append killed messages into
3549         result if `visible-only' is nil.
3550
3551         * elmo-nntp.el (elmo-nntp-catchup-msgdb): Return a list of
3552         canceled messages.
3553         (elmo-nntp-folder-msgdb-create): Kill messages which already canceled.
3554         (elmo-folder-update-number): Likewise.
3555
3556         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number): Abolish.
3557         (elmo-pop3-sort-msgdb-by-original-number): Use
3558         `elmo-msgdb-sort-entities'.
3559
3560         * elmo-msgdb.el (elmo-msgdb-sort-entities): New function.
3561         (elmo-msgdb-sort-by-date): Use it.
3562         (elmo-msgdb-overview-sort-by-date): Abolish.
3563
3564         * elmo-dop.el (elmo-folder-status-dop): Fixed.
3565
3566         * elmo-msgdb.el (elmo-msgdb-list-messages): Undo last change.
3567         (elmo-msgdb-flags): New function.
3568         (elmo-msgdb-merge): Use elmo-msgdb-append.
3569
3570         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed the last
3571         change.
3572
3573         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
3574
3575         * elmo-dop.el (elmo-folder-status-dop): Use
3576         elmo-folder-list-messages instead of elmo-msgdb-list-messages.
3577
3578 2003-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3579
3580         * elmo-map.el (elmo-folder-pack-numbers): Rewrite.
3581
3582         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed last change.
3583
3584         * elmo-msgdb.el (elmo-msgdb-append-entity): Fixed.
3585
3586         * elmo-util.el (elmo-with-progress-display): New macro.
3587
3588         * elmo-localdir.el (elmo-folder-pack-numbers): Rewrite.
3589
3590 2003-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3591
3592         * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
3593         `elmo-folder-list-message-entities' instead of
3594         `elmo-msgdb-get-overview'.
3595         (elmo-map-folder-list-message-locations): Ditto.
3596
3597         * elmo-msgdb.el (elmo-msgdb-append): Rewrite (use interface
3598         methods instead of treat directly).
3599         (elmo-msgdb-clear): Ditto.
3600         (elmo-msgdb-delete-msgs): Ditto.
3601         (elmo-msgdb-sort-by-date): Ditto.
3602
3603         * elmo-nntp.el (elmo-nntp-msgdb-create-message): Removed unused
3604         local variables.
3605         (elmo-nntp-folder-msgdb-create): Follow the API change.
3606
3607         * elmo-version.el (elmo-version): Up to 2.11.10.
3608
3609 2003-08-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3610
3611         * elmo-msgdb.el (elmo-msgdb-mark-to-flags): New function.
3612         (elmo-msgdb-flags-to-mark): Ditto.
3613         (elmo-msgdb-append-entity): Ditto.
3614
3615         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
3616         Use `elmo-msgdb-append-entity' instead of construct msgdb.
3617         (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
3618         (elmo-archive-parse-mmdf): Ditto.
3619
3620         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
3621
3622         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
3623
3624         * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
3625
3626         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
3627
3628         * elmo-mark.el (elmo-mark-folder-msgdb-create): Ditto.
3629
3630         * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
3631
3632         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
3633
3634         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
3635
3636         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
3637         (elmo-folder-msgdb-create-plugged): Set elmo-imap4-current-msgdb
3638         to empty msgdb.
3639
3640         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Use
3641         `elmo-msgdb-make-message-entity' and `elmo-msgdb-append-entity'
3642         instead of directly construction.
3643         (elmo-nntp-msgdb-create-message): Use `elmo-msgdb-append-entity'
3644         instead of construct msgdb.
3645
3646         * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
3647         `elmo-msgdb-set-overview' instead of reconstruct msgdb.
3648         (elmo-pop3-msgdb-create-message): Use `elmo-msgdb-append-entity'
3649         instead of construct msgdb.
3650
3651 2003-08-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3652
3653         * elmo-msgdb.el (elmo-msgdb-message-entity-field): Decode value
3654         when field is from or subject.
3655
3656 2003-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
3657
3658         * elmo-multi.el (elmo-message-entity-parent): Define.
3659         (elmo-folder-search): Rewrite.
3660
3661 2003-08-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3662
3663         * elmo-multi.el (elmo-message-cached-p): Define.
3664
3665         * elmo.el (elmo-message-cached-p): New method.
3666         (elmo-message-accessible-p): Use it instead of msgdb API directly.
3667         (elmo-message-flags): New method.
3668         (elmo-message-flagged-p): New function.
3669
3670         * elmo-version.el (elmo-version): Up to 2.11.9.
3671
3672 2003-08-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3673
3674         * elmo-version.el (elmo-version): Up to 2.11.8.
3675
3676         * elmo.el (elmo-folder-move-messages): Removed unused arguments.
3677
3678         * elmo-pipe.el (elmo-pipe-drain): Follow the change above.
3679
3680 2003-08-14  Yuuichi Teranishi  <teranisi@gohome.org>
3681
3682         * elmo.el (elmo-folder-detach-messages): Undo last change.
3683
3684 2003-08-13  Yuuichi Teranishi  <teranisi@gohome.org>
3685
3686         * elmo.el (elmo-folder-detach-messages): Don't load msgdb if empty.
3687
3688         * elmo-pipe.el (elmo-pipe-drain): Bind elmo-inhibit-number-mapping
3689         only when src folder type is pop3.
3690
3691 2003-08-12  Yuuichi Teranishi  <teranisi@gohome.org>
3692
3693         * elmo-msgdb.el (elmo-msgdb-make-index): Use
3694         elmo-msgdb-overview-entity-get-number instead of
3695         elmo-message-entity-number.
3696
3697 2003-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3698
3699         * elmo-version.el (elmo-version): Up to 2.11.7.
3700
3701 2003-08-07  Yuuichi Teranishi  <teranisi@gohome.org>
3702
3703         * elmo.el (elmo-folder-append-msgdb): Rewrite and define as an inline
3704         function.
3705
3706         * elmo-msgdb.el (elmo-msgdb-append): Use elmo-msgdb-make-index-return.
3707         (elmo-msgdb-merge): New function.
3708         (elmo-msgdb-make-index-return): Renamed from elmo-msgdb-make-index.
3709         (elmo-msgdb-make-index): Rewrite.
3710
3711         * elmo-version.el (elmo-version): Up to 2.11.6.
3712
3713         * elmo-msgdb.el (elmo-msgdb-list-messages): If argument is a string,
3714         use it as a the path for loading message entities.
3715
3716         * elmo-dop.el (elmo-folder-status-dop): Use elmo-msgdb-list-messages.
3717
3718 2003-08-05  Yuuichi Teranishi  <teranisi@gohome.org>
3719
3720         * elmo-filter.el (elmo-folder-set-message-modified): Set 
3721         message-modified slot of itself if it does not require target msgdb.
3722
3723         * elmo-mime.el (elmo-mime-message-display): Display message entirely
3724         if folder length is zero.
3725         (elmo-mime-display-as-is): Ditto.
3726
3727         * elmo-filter.el (elmo-folder-set-message-modified): Define.
3728
3729         * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
3730
3731 2003-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3732
3733         * elmo.el (elmo-folder-set-message-modified): New method.
3734         (elmo-generic-folder-commit): Use it.
3735         (elmo-folder-synchronize): Ditto.
3736
3737         * elmo-pipe.el (elmo-folder-set-message-modified): Define.
3738         (elmo-folder-commit): Remove duplicate definition.
3739
3740 2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
3741
3742         * elmo.el (elmo-folder-list-message-entities): Ignore killed-list.
3743
3744 2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3745
3746         * elmo.el (elmo-msgdb-load): Use elmo-msgdb-list-messages.
3747         (elmo-strict-folder-diff): Ditto.
3748         (elmo-folder-set-info-max-by-numdb): Simplify.
3749
3750         * elmo-nntp.el (elmo-nntp-folder-msgdb-create): Use
3751         elmo-msgdb-list-messages.
3752
3753         * elmo-msgdb.el (elmo-msgdb-seen-save): Abolish.
3754         (elmo-msgdb-list-flagged): Fixed problem when `flag' is `read'.
3755
3756 2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
3757
3758         * elmo.el (elmo-folder-list-messages): Treat killed-list only when
3759         visible-only is non-nil.
3760         (elmo-folder-confirm-appends): Changed message.
3761         (elmo-folder-synchronize): Added argument disable-killed.
3762
3763         * elmo-multi.el (elmo-folder-synchronize): Added argument
3764         disable-killed.
3765
3766         * elmo-pipe.el (elmo-folder-synchronize): Ditto.
3767
3768         * elmo-version.el (elmo-version): Up to 2.11.5.
3769
3770         * elmo-multi.el (elmo-folder-search): Use nil for 1st argument of
3771         elmo-list-filter.
3772
3773         * elmo-util.el (elmo-list-filter): Simplify.
3774
3775         * elmo.el (elmo-generic-folder-commit): Use elmo-folder-list-messages.
3776         (elmo-folder-set-info-max-by-numdb): Changed argument to number list.
3777         (elmo-generic-folder-diff): Abolish argument.
3778         (elmo-msgdb-load): Don't use number-alist.
3779
3780         * elmo-filter.el (elmo-folder-diff): Abolish argument.
3781
3782         * elmo-pipe.el (elmo-folder-diff): Ditto.
3783
3784         * elmo-nmz.el (elmo-folder-diff): Ditto.
3785
3786         * elmo-net.el (elmo-folder-diff): Ditto.
3787
3788         * elmo-maildir.el (elmo-folder-diff): Ditto.
3789
3790         * elmo-imap4.el (elmo-folder-diff-async): Ditto.
3791
3792         * elmo-multi.el (elmo-folder-diff): Ditto
3793         (elmo-multi-folder-diff): Rewrite.
3794
3795 2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3796
3797         * elmo-pipe.el (elmo-folder-msgdb): Define.
3798
3799 2003-08-01  Yuuichi Teranishi  <teranisi@gohome.org>
3800
3801         * elmo.el (elmo-message-set-cached): Define as a method.
3802
3803         * elmo-pipe.el (elmo-message-set-cached): Define.
3804         (elmo-find-fetch-strategy): Ditto.
3805
3806         * elmo-multi.el (elmo-message-set-cached): Define.
3807         (elmo-find-fetch-strategy): Rewrite.
3808
3809         * elmo-mime.el (elmo-mime-message-display): Use elmo-message-entity.
3810
3811         * elmo-pipe.el (elmo-message-folder): Fixed definition.
3812
3813 2003-07-30  Yuuichi Teranishi  <teranisi@gohome.org>
3814
3815         * elmo-msgdb.el (elmo-msgdb-list-messages): Use number of overviews
3816         instead of number-alist.
3817
3818         * elmo-localdir.el (elmo-folder-append-messages): Don't refer
3819         mark nor message-id when msgdb of source folder is not loaded.
3820
3821         * elmo.el (elmo-generic-folder-append-messages): Ditto.
3822
3823         * elmo-maildir.el (elmo-folder-append-messages): Ditto.
3824
3825 2003-07-29  Yuuichi Teranishi  <teranisi@gohome.org>
3826
3827         * elmo.el (elmo-folder-length): Don't require msgdb.
3828
3829 2003-07-28  Yuuichi Teranishi  <teranisi@gohome.org>
3830
3831         * elmo.el (elmo-message-mark): Cause an error when empty folder.
3832         (elmo-message-field): Ditto.
3833
3834         * elmo-maildir.el (luna-define-class): Added slot `answered-locations'.
3835         (elmo-map-folder-list-message-locations): Setup `answered-locations'
3836         slot.
3837         (elmo-map-folder-list-answereds): Define.
3838         (elmo-maildir-list-location): Treat 'R' info.
3839         (elmo-folder-msgdb-create): Treat flag-table.
3840         (elmo-folder-append-messages): Save flag-table.
3841
3842 2002-05-05  David Smith <ultrasoul@ultrasoul.com>
3843
3844         * elmo-imap4.el (elmo-imap4-folder-diff-plugged): 
3845         Use SELECT when elmo-imap4-use-select-to-update-status is t.
3846
3847 2003-07-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3848
3849         * elmo.el (elmo-generic-folder-append-messages): Fixed last change.
3850
3851         * elmo-localdir.el (elmo-folder-append-messages): Set flag as
3852         'read when mark is null.
3853
3854 2003-07-24  Yuuichi Teranishi  <teranisi@gohome.org>
3855
3856         * elmo-version.el (elmo-version): Up to 2.11.4.
3857
3858 2003-07-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3859
3860         * elmo-pipe.el (elmo-folder-unmark-answered): Define.
3861         (elmo-folder-mark-as-answered): Ditto.
3862
3863 2003-07-22  Yuuichi Teranishi  <teranisi@gohome.org>
3864
3865         * elmo-pop3.el (elmo-pop3-exists-exactly): Set default value as nil.
3866         (elmo-pop3-get-session): Make msgdb directory after session.
3867         (elmo-folder-exists-p): Check exactly at the first time even when the
3868         elmo-pop3-exists-exactly is nil.
3869
3870         * elmo-pipe.el (elmo-folder-open-internal): Don't drain here.
3871         (elmo-folder-list-messages): Define instead of
3872         elmo-folder-list-messages-internal.
3873         (elmo-folder-check): Check destination folder.
3874         (elmo-folder-synchronize): Drain the pipe.
3875
3876         * elmo-localdir.el (elmo-folder-append-messages): Don't cause an error
3877         when msgdb is not loaded.
3878
3879         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): Abolish.
3880
3881         * elmo-imap4.el (elmo-folder-list-messages-plugged): Fixed.
3882         (elmo-imap4-folder-diff-plugged): Use uidnext to calculate number of
3883         messages.
3884
3885         * elmo.el (elmo-folder-kill-messages-before): New function.
3886         (elmo-folder-kill-messages): Ditto.
3887         (elmo-folder-synchronize): Use elmo-folder-kill-messages-before.
3888
3889         * elmo-imap4.el (elmo-folder-list-messages-plugged): 
3890         Don't use elmo-msgdb-max-of-killed. It is harmful when messages are
3891         killed not by synchronize (e.g. scoring).
3892
3893 2003-07-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3894
3895         * elmo.el (elmo-folder-search-fast): Return t if condition is not
3896         treated.
3897         (elmo-folder-search): Follow the change above.
3898
3899         * elmo-util.el (elmo-read-search-condition-internal): Add `Flag'
3900         into the candidates of search field.
3901
3902 2003-07-21  Yuuichi Teranishi  <teranisi@gohome.org>
3903
3904         * elmo-msgdb.el (elmo-msgdb-set-flag): Overwrite answered flag.
3905         (elmo-msgdb-unset-flag): Ditto.
3906
3907         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Precedes Seen flag.
3908
3909 2003-07-19  Yuuichi Teranishi  <teranisi@gohome.org>
3910
3911         * elmo-pipe.el (elmo-folder-msgdb-create): Don't define.
3912         (elmo-folder-commit): Define.
3913         (elmo-folder-synchronize): Ditto.
3914         (elmo-folder-list-flagged): Ditto.
3915         (elmo-folder-commit): Ditto.
3916         (elmo-folder-length): Ditto.
3917         (elmo-folder-count-flags): Ditto.
3918         (elmo-message-mark): Ditto.
3919         (elmo-message-field): Ditto.
3920         (elmo-message-entity): Ditto.
3921         (elmo-message-folder): Ditto.
3922
3923 2003-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
3924
3925         * elmo.el (elmo-message-field): Define as a method.
3926
3927         * elmo-multi.el (elmo-message-entity): Fixed bug when no entity found.
3928         (elmo-message-field): Define.
3929
3930         * elmo.el (elmo-folder-list-unreads): Don't use msgdb API.
3931         (elmo-folder-list-importants): Ditto.
3932         (elmo-folder-list-answereds): Ditto.
3933
3934         * elmo-multi.el (elmo-folder-mark-as-important): Remove :before
3935         qualifier.
3936         (elmo-folder-mark-as-read): Ditto.
3937         (elmo-folder-unmark-read): Ditto.
3938         (elmo-folder-mark-as-answered): Ditto.
3939         (elmo-folder-unmark-answered): Ditto.
3940         (elmo-folder-list-flagged): Define.
3941         (elmo-folder-commit): Ditto.
3942         (elmo-folder-length): Ditto.
3943         (elmo-folder-count-flags): Ditto.
3944
3945 2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
3946
3947         * elmo.el (elmo-folder-detach-messages): New method.
3948         (elmo-folder-move-messages): Use it.
3949         (elmo-folder-synchronize): Ditto.
3950
3951         * elmo-multi.el (elmo-folder-detach-messages): Define.
3952
3953         * elmo.el (elmo-message-copy-entity): New function.
3954         (elmo-message-entity-set-number): Ditto.
3955         (elmo-message-mark): Define as method.
3956
3957         * elmo-multi.el (elmo-multi-real-folder-number): Changed position.
3958         (elmo-folder-synchronize): Return 0 (Should be reconsider).
3959         (elmo-message-entity): Fixed last change.
3960         (elmo-message-mark): Define.
3961         (elmo-folder-msgdb-create): Abolish.
3962         (elmo-multi-folder-append-msgdb): Ditto.
3963         (elmo-multi-folder-diff): Fixed.
3964         (elmo-multi-split-number-alist): Removed.
3965         (elmo-multi-split-mark-alist): Removed.
3966         (elmo-folder-list-messages): Define.
3967         (elmo-folder-list-messages-internal): Removed.
3968
3969         * elmo-localdir.el (elmo-folder-append-messages): Treat flags for
3970         local file messages.
3971         (elmo-folder-msgdb-create): Fixed read mark.
3972
3973 2003-07-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3974
3975         * elmo.el (elmo-generic-folder-append-messages): Set flag as nil
3976         if mark is nil.
3977
3978 2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
3979
3980         * elmo.el (elmo-folder-list-message-entities): Define as inline
3981         function.
3982         (elmo-folder-messages): Abolish.
3983
3984         * elmo-multi.el (elmo-folder-check): Call elmo-folder-check for each
3985         folder.
3986         (elmo-folder-synchronize): Define.
3987         (elmo-message-entity): Define.
3988
3989 2003-07-16  Yuuichi Teranishi  <teranisi@gohome.org>
3990
3991         * elmo-imap4.el (elmo-folder-delete-messages-plugged): Call
3992         elmo-imap4-session-select-mailbox.
3993
3994         * elmo.el (elmo-folder-move-messages): Don't display any message.
3995
3996         * elmo-imap4.el (elmo-imap4-send-command): Accept process output when
3997         parsing.
3998         (elmo-imap4-session-check): Don't wait CHECK response.
3999         (elmo-folder-delete-messages-plugged): Don't wait EXPUNGE response.
4000
4001 2003-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
4002
4003         * elmo.el (elmo-folder-synchronize): Fixed bug when sync-all.
4004
4005 2003-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
4006
4007         * elmo-multi.el (elmo-folder-process-crosspost): Follow the change in
4008         API.
4009         * elmo-nntp.el (elmo-folder-process-crosspost): Ditto.
4010
4011
4012         * elmo.el (elmo-folder-process-crosspost): Remove optional argument.
4013         (elmo-folder-list-message-entities): Added argument in-msgdb and
4014         numbers.
4015         (elmo-folder-synchronize): Define as a method.
4016
4017         * elmo-nntp.el (elmo-folder-initialize): Don't use
4018         elmo-nntp-default-user if zero-length username is specified
4019         explicitly.
4020
4021 2003-07-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
4022
4023         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't omit
4024         server name in case with username.
4025         (XXX: this is ad-hoc fix against username includes "@", it
4026         should be solved fundamentally)
4027
4028 2003-07-05  Yoichi NAKAYAMA  <yoichi@geiin.org>
4029
4030         * elmo-nntp.el (elmo-nntp-debug): New function.
4031         (elmo-nntp-send-command, elmo-nntp-process-filter): Call it.
4032         (elmo-network-authenticate-session): Hide auth-info from the log.
4033
4034         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't append
4035         user name if it is equal to elmo-nntp-default-user.
4036
4037 2003-06-07  Yuuichi Teranishi  <teranisi@gohome.org>
4038
4039         * elmo-shimbun.el (elmo-shimbun-get-headers): Use shimbun-server
4040         instead of shimbun-server-internal;
4041         Use shimbun-current-group instead of shimbun-current-group-internal.
4042         (elmo-folder-plugged-p): Use shimbun-server instead of
4043         shimbun-server-internal.
4044         (elmo-folder-set-plugged): Ditto.
4045         (elmo-net-port-info): Ditto.
4046         (elmo-folder-check): Ditto.
4047         (elmo-folder-expand-msgdb-path): Ditto.
4048         (elmo-folder-list-subfolders): Ditto.
4049
4050 2003-05-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
4051
4052         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra-field):
4053         Convert field-name to lower case.
4054         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
4055
4056 2003-05-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
4057
4058         * acap.el, elmo-imap4.el, elmo-nntp.el, elmo-util.el, pldap.el:
4059         `message' and `error' take format string.
4060
4061 2003-04-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4062
4063         * elmo-pipe.el (elmo-folder-clear): Implemented clear copied-list.
4064
4065 2003-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4066
4067         * elmo-msgdb.el (elmo-msgdb-message-entity-field): Don't use self
4068         recursive call (can't byte compile on emacs 20.7).
4069
4070 2003-04-02  Yuuichi Teranishi  <teranisi@gohome.org>
4071
4072         * elmo.el (elmo-folder-list-messages): Redefine as a luna method.
4073         (elmo-folder-list-message-entities): New API.
4074         (elmo-message-entity): Ditto.
4075         (elmo-message-entity-parent): Ditto.
4076         (elmo-folder-do-each-message-entity): Ditto.
4077         (elmo-message-entity-number): Ditto.
4078         (elmo-message-entity-field): Ditto.
4079         (elmo-message-entity-set-field): Ditto.
4080         (elmo-folder-count-flags): Ditto.
4081         (elmo-folder-length): Ditto.
4082
4083         * elmo-util.el (elmo-get-hash-val): Check whether hashtable is nil or
4084         not.
4085
4086         * elmo-msgdb.el (elmo-msgdb-list-messages): New function.
4087         (elmo-msgdb-count-marks): Abolish.
4088         (elmo-msgdb-make-entity): Ditto.
4089         (elmo-msgdb-do-each-entity): Ditto.
4090         (elmo-msgdb-message-entity): New inline function.
4091         (elmo-msgdb-message-entity-field): Ditto.
4092         (elmo-msgdb-message-entity-set-field): Ditto.
4093         (elmo-msgdb-make-message-entity): New function.
4094
4095 2003-03-25  Yuuichi Teranishi  <teranisi@gohome.org>
4096
4097         * elmo.el (elmo-folder-append-buffer): Changed argument from unread 
4098         to flag. (All other related portions are changed.)
4099         (elmo-folder-msgdb-create): Likewise.
4100         (elmo-generic-folder-append-messages): Use flag-table instead of
4101         seen-list.
4102         (elmo-folder-move-messages): Removed redundant process.
4103         (elmo-folder-synchronize): Likewise.
4104
4105         * elmo-msgdb.el (elmo-flag-table-get): New function.
4106         (elmo-flag-table-save): Fixed.
4107         (elmo-msgdb-length): New inline function.
4108         (elmo-msgdb-flag-table): New function.
4109         (elmo-msgdb-mark): Add optional argument new.
4110         (elmo-msgdb-add-msgs-to-seen-list): Abolish.
4111         (elmo-msgdb-seen-list): Ditto.
4112         (elmo-msgdb-add-msgs-to-seen-list): Ditto.
4113
4114
4115 2003-03-24  Yuuichi Teranishi  <teranisi@gohome.org>
4116
4117         * elmo.el (elmo-message-set-mark): Abolish.
4118         (elmo-folder-unmark-important): Added optional argument `ignore-flag'.
4119         (All related portions are changed.)
4120
4121         * elmo-msgdb.el (toplevel): Added comment.
4122         (elmo-load-msgdb): Added 4th element `path'.
4123         (elmo-msgdb-append): Follow the change above.
4124         (elmo-msgdb-clear): Ditto.
4125         (elmo-msgdb-delete-msgs): Ditto.
4126         (elmo-msgdb-get-path): New inline function.
4127         (elmo-msgdb-set-path): Ditto.
4128         (elmo-flag-table-filename): New variable.
4129         (elmo-flag-table-load): New function.
4130         (elmo-flag-table-set): Ditto.
4131         (elmo-flag-table-save): Ditto.
4132         (elmo-msgdb-get-field-value): Abolish.
4133         (elmo-msgdb-overview-get-entity-by-number): Ditto.
4134
4135 2003-03-30  Yoichi NAKAYAMA  <yoichi@geiin.org>
4136
4137         * elmo.el (elmo-folder-delete): Confirm deletion here, return t if
4138         the folder has been deleted successfully.
4139         * elmo-imap4.el (elmo-folder-delete): Ditto.
4140         * elmo-archive.el (elmo-folder-delete): Ditto.
4141         * elmo-localdir.el (elmo-folder-delete): Ditto.
4142         * elmo-maildir.el (elmo-folder-delete): Ditto.
4143
4144 2003-03-27  Tetsurou Okazaki  <okazaki@be.to>
4145
4146         * elmo-util.el (elmo-string-member-ignore-case): New function.
4147         * elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Use it.
4148         (elmo-imap4-fetch-callback-1-subr): Likewise.
4149
4150 2003-03-27  Kimura Fuyuki <fuyuki@hadaly.org>
4151
4152         * elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Fix
4153         the case of the name attribute "\Noselect".
4154
4155 2003-02-16  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4156
4157         * elmo.el (elmo-folder-rename-internal): New method to cause error.
4158
4159         * elmo-localdir.el (elmo-folder-pack-numbers): onum, a member of
4160         flist, is not always a member of onum-alist.
4161
4162 2003-02-14  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4163
4164         * elmo-version.el (elmo-version): Up to 2.11.3.
4165
4166 2003-02-10  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4167
4168         * elmo-maildir.el (elmo-folder-rename-internal): New method,
4169         copied from localdir's one.
4170
4171         * elmo-pipe.el (elmo-folder-rename): New method, rename
4172         destination folder with leaving source folder as it is.
4173
4174 2003-02-08  KAMO Tomoyuki  <kamo@ITmanage.co.jp>
4175
4176         * elmo-nntp.el (elmo-nntp-get-folders-info): Don't use
4177         replace-regexp.
4178
4179 2003-02-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4180
4181         * elmo-version.el (elmo-version): Up to 2.11.2.
4182
4183 2003-02-05  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4184
4185         * elmo-shimbun.el (elmo-folder-initialize): Do not call
4186         shimbun-open in case of "@".
4187         (elmo-folder-open-internal): Cope with shimbun = nil case.
4188         (elmo-folder-plugged-p): Ditto.
4189         (elmo-folder-list-subfolders): Make list for "@/" group.
4190
4191 2003-01-31  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4192
4193         * elmo-imap4.el (elmo-folder-expand-msgdb-path): Don't expand
4194         mailbox (e.g. for %~/something).
4195
4196 2003-01-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4197
4198         * elmo-localdir.el (elmo-folder-rename-internal): Referctoring;
4199         Replace nested conditional with guard clauses.
4200
4201 2003-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
4202
4203         * pldap.el (ldap-search-basic): Don't treat exit status 32 as an
4204         error [wl:11327].
4205
4206         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Bind print-level,
4207         print-depth.
4208
4209 2003-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4210
4211         * elmo-archive.el (elmo-folder-rename-internal): Referctoring;
4212         Replace nested conditional with guard clauses.
4213
4214 2003-01-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4215
4216         * elmo-util.el (elmo-object-save): Bind print-level, print-length.
4217         (elmo-passwd-alist-save): Ditto.
4218         * elmo-database.el (elmo-database-msgid-put): Bind print-length.
4219
4220 2003-01-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4221
4222         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Expand
4223         dir-name only if it is absolute path.
4224         (TODO: distinguish +/something and +something)
4225
4226 2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4227
4228         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Correct msgdb
4229         path for "+~/something".
4230
4231 2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4232
4233         * elmo-localdir.el (elmo-folder-rename-internal): If new-dir exist
4234         as non-directory, cause error before rename-file.
4235         * elmo-archive.el (elmo-folder-rename-internal): Create directory
4236         apropriately, mimic localdir's one.
4237         Based on the patch from KAMO Tomoyuki <kamo@ITmanage.co.jp>.
4238
4239 2003-01-10  Tsutomu OKADA  <okada@furuno.co.jp>
4240
4241         * elmo-map.el (elmo-folder-pack-numbers): Fix name of the function.
4242
4243 2003-01-06  Yuuichi Teranishi  <teranisi@gohome.org>
4244
4245         * elmo-msgdb.el: Moved global mark handling stuffs to elmo-util.el.
4246
4247         * elmo-util.el: Moved global mark handling stuffs from elmo-msgdb.el.
4248         
4249         * elmo-util.el (elmo-file-cache-delete): Check whether the cache file
4250         is included in the global-mark or not.
4251
4252 2002-12-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4253
4254         * utf7.el (toplevel): Avoid error when the function
4255         find-coding-system does not exist.
4256
4257 2002-12-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4258
4259         * elmo-nntp.el (elmo-folder-search): Body search is to search from
4260         cache even if the folder is plugged.
4261         (elmo-nntp-search-primitive): Do nothing when body search is
4262         invoked (although it is not used by the change above).
4263         * elmo-multi.el (elmo-folder-search): Don't ignore error anymore.
4264
4265 2002-12-20  Kenichi OKADA  <okada@opaopa.org>
4266
4267         * elmo-version.el (elmo-version): Up to 2.11.1.
4268
4269 2002-12-10  Kenichi OKADA  <okada@opaopa.org>
4270
4271         * elmo-archive.el: Specify charset.
4272
4273 2002-12-04  Yuuichi Teranishi  <teranisi@gohome.org>
4274
4275         * elmo-pop3.el (elmo-pop3-process-filter): Check whether the pop3
4276         process buffer lives or not.
4277
4278         * elmo-dop.el (elmo-dop-queue-flush): Don't append to the dop-queue
4279         while flushing queues (It causes infinite loop).
4280
4281 2002-11-26  Yuuichi Teranishi  <teranisi@gohome.org>
4282
4283         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed last change.
4284
4285 2002-11-24  Yuuichi Teranishi  <teranisi@gohome.org>
4286
4287         * utf7.el (toplevel): Check the ucs features dynamically.
4288         (Advice from Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>)
4289
4290         * elmo-pipe.el (elmo-folder-creatable-p): Don't check whether the
4291         folder is creatabe or not if it already exists.
4292
4293 2002-11-21  Yuuichi Teranishi  <teranisi@gohome.org>
4294
4295         * elmo-nntp.el (elmo-nntp-search-primitive): Revert the last change.
4296
4297         * elmo-multi.el (elmo-folder-search): Ignore errors while search.
4298
4299         * elmo-imap4.el (elmo-imap4-response-garbage-p): New macro.
4300         (elmo-imap4-read-response): Take care of garbage response.
4301
4302 2002-11-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4303
4304         * elmo-nntp.el (elmo-nntp-search-primitive): Fix the last change,
4305         just return nil instead of error.
4306
4307 2002-11-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4308
4309         * elmo-nntp.el (elmo-nntp-search-primitive): Cause error when the
4310         search-key is "body".
4311
4312 2002-11-19  Yuuichi Teranishi  <teranisi@gohome.org>
4313
4314         * elmo-imap4.el (elmo-folder-list-subfolders): Check the return value
4315         of elmo-string-matched-assoc to use match-data.
4316         (Thanks to Mito <mito@mxa.nes.nec.co.jp>)
4317
4318 2002-11-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4319
4320         * elmo-split.el (elmo-split->): New function.
4321         (elmo-split-<): Ditto.
4322
4323 2002-11-14  Yuuichi Teranishi  <teranisi@gohome.org>
4324
4325         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Added
4326         workaround for invalid message-id.
4327
4328 2002-11-13  Yuuichi Teranishi  <teranisi@gohome.org>
4329
4330         * elmo-pop3.el (elmo-pop3-get-session): If if-exists is 'any-exists,
4331         return normal pop3 session or pop3 biff session.
4332
4333 2002-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
4334
4335         * elmo-maildir.el (elmo-maildir-update-current): Don't append
4336         info part to the cur files when the new files already have it.
4337         (Adviced by Jared Rhine <jared@wordzoo.com>)
4338
4339 2002-11-06  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4340
4341         * elmo-split.el (elmo-split-default-action): New variable.
4342         (elmo-split-subr): Use it if all other conditions are passed.
4343         Extend `fname' and rename it as `action'. (implemented
4344         Teranishi-san's idea in [wl:10800])
4345
4346 2002-10-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4347
4348         * elmo-imap4.el: Remove Nemacs hack, replace `elmo-read' by `read'.
4349         * elmo-util.el: Ditto.
4350
4351 2002-10-28  Yuuichi Teranishi  <teranisi@gohome.org>
4352
4353         * elmo.el (elmo-message-accessible-p): Renamed from
4354         elmo-message-cached-p and rewritten.
4355
4356 2002-10-27  Yuuichi Teranishi  <teranisi@gohome.org>
4357
4358         * elmo.el (elmo-folder-list-flagged): New generic function.
4359         (elmo-folder-list-importants): New implementation.
4360         (elmo-folder-list-answereds): Ditto.
4361         (elmo-folder-search-fast):  Use 'flag' instead of 'mark';
4362         Added 'digest'.
4363         (elmo-message-cached-p): New function.
4364         (elmo-message-set-flag): Ditto (no content).
4365         (elmo-message-unset-flag): Ditto.
4366         (elmo-folder-list-messages-mark-match): Abolish.
4367
4368         * elmo-util.el (elmo-regexp-opt): New function.
4369
4370         * elmo-msgdb.el (elmo-msgdb-get-cached): New function.
4371         (elmo-msgdb-match-condition-primitive): Use 'flag' instead of 'mark';
4372         Added 'digest'.
4373         (elmo-msgdb-list-flagged): New function.
4374
4375         * elmo-imap4.el (elmo-imap4-folder-list-digest-plugged): New function.
4376         (elmo-imap4-search-internal-primitive): Use 'flag' instead of 'mark';
4377         Added 'digest'.
4378
4379         * elmo-filter.el (elmo-folder-diff): Use 'flag' instead of 'mark'.
4380
4381 2002-10-26  Yuuichi Teranishi  <teranisi@gohome.org>
4382
4383         * elmo-version.el (elmo-version): Up to 2.11.0.
4384
4385 2002-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4386
4387         * elmo-msgdb.el (elmo-msgdb-set-flag): Use
4388         `elmo-file-cache-exists-p'; use proper mark that depends on
4389         `use-cache'.
4390         (elmo-msgdb-unset-flag): Ditto.
4391         (elmo-msgdb-set-cached): Ditto. added argument `use-cache'.
4392
4393         * elmo.el (elmo-message-set-cached): Call `elmo-msgdb-set-cached'
4394         with 4th argument `use-cache'.
4395
4396 2002-10-18  Yuuichi Teranishi  <teranisi@gohome.org>
4397
4398         * elmo.el (elmo-folder-unmark-important): Follow the changes above.
4399         (elmo-folder-mark-as-important): Ditto.
4400         (elmo-folder-unmark-read): Ditto.
4401         (elmo-folder-mark-as-read): Ditto.
4402         (elmo-folder-unmark-answered): Ditto.
4403         (elmo-folder-mark-as-answered): Ditto.
4404
4405         * elmo-msgdb.el (elmo-msgdb-set-cached): Use the term 'flag' for
4406         message status.
4407         (elmo-msgdb-mark): Likewise.
4408         (elmo-msgdb-set-flag): Renamed from elmo-msgdb-set-status.
4409         (elmo-msgdb-unset-flag): Likewise.
4410
4411         * elmo.el (elmo-generic-folder-diff): Avoid byte-compile warning.
4412
4413 2002-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4414
4415         * elmo-filter.el (elmo-folder-diff): Fixed condition checking
4416         `last:' filter.
4417
4418 2002-10-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4419
4420         * elmo-dop.el (elmo-folder-status-dop): If spool-folder is absent,
4421         set spool-length to 0.
4422
4423 2002-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4424
4425         * elmo-dop.el (elmo-dop-queue-flush): Check obsolete at first.
4426         (elmo-dop-queue-flush): Fixed last change.
4427
4428 2002-10-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4429
4430         * elmo-filter.el (elmo-folder-list-unreads): Call generic method
4431         if require-msgdb slot is nil.
4432         (elmo-folder-list-importants): Likewise.
4433
4434 2002-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4435
4436         * elmo.el (elmo-message-set-cached): Set mark-modified slot if
4437         mark is changed.
4438
4439         * elmo-msgdb.el (elmo-msgdb-set-mark): Return t.
4440         (elmo-msgdb-set-cached): Undo last change; return non-nil if mark
4441         is changed.
4442
4443 2002-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
4444
4445         * elmo-msgdb.el (elmo-msgdb-set-cached): Set mark-modified slot.
4446
4447 2002-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
4448
4449         * elmo-msgdb.el (elmo-msgdb-unset-status): Set mark-modified slot.
4450
4451         * elmo-multi.el (elmo-folder-close): Set msgdb of children as nil.
4452
4453 2002-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4454
4455         * elmo-msgdb.el (elmo-msgdb-set-status): Fixed logic (new to read).
4456         (elmo-msgdb-uncached-marks): Added elmo-msgdb-new-mark.
4457
4458 2002-09-24  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4459
4460         * elmo.el: Add autoload setting for elmo-nntp-post, fix against
4461         the problem reported by Sean Rima [wl-en:180].
4462
4463 2002-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
4464
4465         * elmo-filter.el (elmo-folder-diff): Treat 'mark:' filter.
4466
4467         * elmo.el (elmo-folder-unmark-read): Added argument `ignore-flag'.
4468
4469         * elmo-filter.el (elmo-folder-unmark-read): Ditto.
4470
4471         * elmo-map.el (elmo-folder-unmark-read): Ditto.
4472
4473         * elmo-multi.el (elmo-folder-unmark-read): Ditto.
4474
4475         * elmo-net.el (elmo-folder-unmark-read): Ditto.
4476
4477         * elmo-pipe.el (elmo-folder-unmark-read): Ditto.
4478
4479 2002-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
4480
4481         * elmo-imap4.el (elmo-imap4-parse-status): Skip white spaces after
4482         status number.
4483
4484 2002-09-17  Yuuichi Teranishi  <teranisi@gohome.org>
4485
4486         * elmo.el (elmo-folder-mark-as-read): Added argument `ignore-flag'.
4487         (elmo-folder-mark-as-read): Follow the API change.
4488         (elmo-message-set-cached): New function.
4489
4490         * elmo-pipe.el (elmo-folder-mark-as-read): Follow the API change.
4491
4492         * elmo-nntp.el (elmo-folder-mark-as-read): Set :before qualifier.
4493
4494         * elmo-net.el (elmo-folder-unmark-important): Set :before qualifier.
4495         (elmo-folder-mark-as-important): Ditto.
4496         (elmo-folder-unmark-read): Ditto.
4497         (elmo-folder-mark-as-read): Ditto.
4498         (elmo-folder-unmark-answered): Ditto.
4499         (elmo-folder-mark-as-answered): Ditto.
4500
4501         * elmo-multi.el (elmo-folder-mark-as-important): Set :before qualifier.
4502         (elmo-folder-unmark-important): Ditto.
4503         (elmo-folder-mark-as-read): Ditto.
4504         (elmo-folder-unmark-read): Ditto.
4505         (elmo-folder-mark-as-answered): Ditto.
4506         (elmo-folder-unmark-answered): Ditto.
4507
4508         * elmo-mark.el (toplevel): Removed some mark method definitions.
4509
4510         * elmo-map.el (elmo-map-folder-unmark-answered): New method.
4511         (elmo-map-folder-mark-as-answered): Ditto.
4512         (elmo-folder-unmark-important): Add :before qualifier.
4513         (elmo-folder-mark-as-important): Ditto.
4514         (elmo-folder-unmark-read): Ditto.
4515         (elmo-folder-mark-as-read): Ditto.
4516         (elmo-folder-unmark-answered): Define.
4517         (elmo-folder-mark-as-answered): Ditto.
4518
4519         * elmo-maildir.el (elmo-map-folder-mark-as-answered): Define.
4520         (elmo-map-folder-unmark-answered): Ditto.
4521
4522         * elmo-filter.el (elmo-folder-mark-as-read): Follow the API change.
4523
4524         * elmo-net.el (elmo-folder-unmark-important): Added :around qualifier.
4525         (elmo-folder-mark-as-important): Ditto.
4526         (elmo-folder-unmark-read): Ditto.
4527         (elmo-folder-mark-as-read): Ditto.
4528         (elmo-folder-unmark-answered): Ditto.
4529         (elmo-folder-mark-as-answered): Ditto.
4530
4531         * elmo-msgdb.el (elmo-msgdb-match-condition-primitive): Added argument
4532         `mark'; evaluate mark condition.
4533         (elmo-msgdb-match-condition-internal): New function.
4534         (elmo-msgdb-match-condition): Call it; changed argument.
4535
4536         * elmo.el (elmo-folder-search): Follow the API change on
4537         `elmo-msgdb-match-condition'.
4538
4539 2002-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4540
4541         * elmo-filter.el (elmo-folder-msgdb-create): Add to mark-alist if
4542         original mark is non-nil.
4543
4544 2002-09-17  Yuuichi Teranishi  <teranisi@gohome.org>
4545
4546         * elmo-map.el (elmo-map-folder-list-unreads): Define default behavior.
4547         (elmo-map-folder-list-answereds): New method.
4548         (elmo-folder-list-unreads): Add :around qualifier.
4549         (elmo-folder-list-importants): Ditto.
4550         (elmo-folder-list-answereds): Ditto.
4551
4552 2002-09-16  Yuuichi Teranishi  <teranisi@gohome.org>
4553
4554         * elmo-msgdb.el (elmo-msgdb-mark): New inline function.
4555
4556         * elmo-filter.el (elmo-folder-msgdb-create): Call target-folder's
4557         method if msgdb is not required.
4558         (elmo-filter-folder-list-importants): Don't treat global-mark.
4559
4560         * elmo.el (elmo-folder-list-importants): Ditto.
4561
4562         * elmo-net.el (elmo-folder-list-importants): Ditto.
4563
4564         * elmo-map.el (elmo-folder-list-importants): Ditto.
4565
4566         * elmo-msgdb.el (elmo-msgdb-seen-list): Use `elmo-msgdb-unread-marks'
4567
4568         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Set answered mark.
4569         (elmo-imap4-folder-list-any-plugged): New function.
4570         (elmo-imap4-search-internal-primitive): Use it.
4571
4572         * elmo-filter.el (elmo-folder-check): Synchronize original folder
4573         only when require-msgdb slot is non-nil.
4574         (elmo-folder-close): Clear target folder's msgdb.
4575
4576 2002-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
4577
4578         * elmo-pop3.el (elmo-folder-msgdb-create): Follow the API change.
4579         (elmo-pop3-msgdb-create-by-header): Ditto.
4580         (elmo-pop3-msgdb-create-message): Ditto.
4581
4582         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
4583
4584         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
4585
4586         * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
4587
4588         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
4589         (elmo-folder-msgdb-create): Ditto.
4590         (elmo-nntp-folder-msgdb-create): Ditto.
4591         (elmo-nntp-msgdb-create-by-header): Ditto.
4592         (elmo-nntp-msgdb-create-message): Ditto.
4593         (elmo-folder-list-unreads): Define.
4594
4595         * elmo-pipe.el (elmo-folder-msgdb-create): Ditto.
4596         (elmo-folder-append-messages): Ditto.
4597         (elmo-folder-list-unreads): Define.
4598         (elmo-folder-list-importants): Ditto.
4599         (elmo-folder-list-answereds): Ditto.
4600
4601         * elmo-net.el (elmo-folder-list-unreads): Define.
4602         (elmo-folder-list-importants): Ditto.
4603         (elmo-folder-list-answereds): Ditto.
4604         (elmo-folder-list-answereds-plugged): Ditto.
4605         (elmo-folder-msgdb-create): Follow the API change.
4606         (elmo-folder-msgdb-create-unplugged): Ditto.
4607         (elmo-folder-unmark-answered): Define.
4608         (elmo-folder-mark-as-answered-unplugged): Ditto.
4609         (elmo-folder-unmark-answered-unplugged): Ditto.
4610
4611         * elmo-msgdb.el (elmo-msgdb-new-mark): New user option.
4612         (elmo-msgdb-unread-uncached-mark): Ditto.
4613         (elmo-msgdb-unread-cached-mark): Ditto.
4614         (elmo-msgdb-read-uncached-mark): Ditto.
4615         (elmo-msgdb-answered-cached-mark): Ditto.
4616         (elmo-msgdb-answered-uncached-mark): Ditto.
4617         (elmo-msgdb-important-mark): Ditto.
4618         (elmo-msgdb-set-mark): Rewrite.
4619         (elmo-msgdb-count-marks): Rewrite.
4620         (elmo-msgdb-mark-alist-set): Abolish.
4621         (elmo-msgdb-seen-list): Removed argument `seen-marks'.
4622         (elmo-msgdb-add-msgs-to-seen-list): Likewise.
4623
4624         * elmo-multi.el (elmo-folder-check): Call elmo-folder-synchronize.
4625         (elmo-folder-close): Define.
4626         (elmo-folder-msgdb-create): Follow the API change.
4627         (elmo-folder-list-unreads): Rewrite.
4628         (elmo-folder-mark-as-important): Ditto.
4629         (elmo-folder-unmark-important): Ditto.
4630         (elmo-folder-mark-as-read): Ditto.
4631         (elmo-folder-unmark-read): Ditto.
4632         (elmo-folder-mark-as-answered): Define.
4633         (elmo-folder-unmark-answered): Ditto.
4634
4635         * elmo-localdir.el (elmo-folder-msgdb-create): Follow the API change.
4636         (elmo-folder-append-messages): Ditto.
4637
4638         * elmo-mark.el (elmo-folder-msgdb-create): Ditto.
4639
4640         * elmo-map.el (elmo-folder-list-unreads): Ditto.
4641         (elmo-folder-list-importants): Ditto.
4642
4643         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
4644         (elmo-folder-append-messages): Ditto.
4645
4646         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Follow the API
4647         change.
4648         (elmo-folder-msgdb-create-plugged): Ditto.
4649         (elmo-folder-append-messages): Ditto.
4650         (elmo-folder-list-answereds-plugged): Define.
4651         (elmo-imap4-search-internal-primitive): Add `mark' processing.
4652         (elmo-folder-unmark-answered-plugged): Define.
4653         (elmo-folder-mark-as-answered-plugged): Ditto.
4654         (elmo-folder-search-requires-msgdb-p): Ditto.
4655
4656         * elmo-filter.el (elmo-filter-folder): Added new slot 'require-msgdb'.
4657         (elmo-folder-initialize): Set it.
4658         (elmo-folder-msgdb): Define.
4659         (elmo-folder-check): Call elmo-folder-synchronize.
4660         (elmo-folder-close): Define.
4661         (elmo-folder-commit): Ditto.
4662         (elmo-folder-msgdb-create): Rewrite.
4663         (elmo-folder-list-unreads): Ditto.
4664         (elmo-folder-list-importants): Ditto.
4665         (elmo-folder-mark-as-read): Ditto.
4666         (elmo-folder-unmark-read): Ditto.
4667         (elmo-folder-mark-as-important): Ditto.
4668         (elmo-folder-unmark-important): Ditto.
4669         (elmo-folder-mark-as-answered): Define.
4670         (elmo-folder-unmark-answered): Ditto.
4671
4672         * elmo-dop.el (elmo-dop-queue-merge-method-list): Added
4673         elmo-folder-mark-as-answered, elmo-folder-unmark-answered.
4674         (elmo-dop-queue-method-name-alist): Likewise.
4675         (elmo-folder-mark-as-answered-dop): New inline function.
4676         (elmo-folder-unmark-answered-dop): Ditto.
4677         (elmo-folder-status-dop): Treat spool-length as 0 if it does not exist.
4678
4679         * elmo-archive.el (elmo-folder-append-messages): Follow the API change.
4680         (elmo-folder-msgdb-create): Ditto.
4681         (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
4682         (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
4683         (elmo-archive-parse-mmdf): Ditto.
4684
4685         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
4686         (elmo-folder-list-unreads-internal): Ditto.
4687
4688         * elmo.el (elmo-folder-msgdb): Define as generic function.
4689         (elmo-folder-list-messages): Added argument `in-msgdb'.
4690         (elmo-folder-list-unreads): Define as generic function.
4691         (elmo-folder-list-importants): Ditto.
4692         (elmo-folder-list-answereds): Ditto.
4693         (elmo-folder-list-messages-with-global-mark): New function.
4694         (elmo-folder-msgdb-create): Removed mark arguments.
4695         (elmo-folder-unmark-answered): New generic function.
4696         (elmo-folder-mark-as-answered): Ditto.
4697         (elmo-folder-append-messages): Removed argunment `unread-marks'
4698         (elmo-folder-list-unreads-internal): Abolish.
4699         (elmo-folder-list-importants-internal): Ditto.
4700         (elmo-folder-search-requires-msgdb-p): New generic function.
4701         (elmo-folder-search-requires-msgdb-p-internal): New function.
4702         (elmo-generic-folder-open): Call elmo-folder-msgdb instead of
4703         elmo-msgdb-load.
4704         (elmo-folder-search-fast): Added key 'mark'.
4705         (elmo-generic-folder-append-messages): Use elmo-msgdb-unread-marks
4706         instead of unread-marks argument.
4707         (elmo-folder-move-messages): Removed argunment `unread-marks'
4708         (elmo-folder-unmark-important): Define.
4709         (elmo-folder-mark-as-important): Ditto.
4710         (elmo-folder-unmark-read): Ditto.
4711         (elmo-folder-mark-as-read): Ditto.
4712         (elmo-folder-unmark-answered): Ditto.
4713         (elmo-folder-mark-as-answered): Ditto.
4714         (elmo-folder-replace-marks): Abolish.
4715         (elmo-generic-folder-append-msgdb): Append msgdb before checking
4716         duplicates.
4717         (elmo-folder-synchronize): Removed mark arguments;
4718         return crosspost only number.
4719
4720 2002-09-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4721
4722         * elmo-dop.el (elmo-dop-queue-flush): Remove unused argument.
4723         Remove redundunt connectivity check.
4724
4725 2002-09-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4726
4727         * elmo-dop.el (elmo-dop-queue-flush): Perform plugged ones only so
4728         as not to clear queue unexpectedly. (Ref. [wl:9778],[wl:10493])
4729
4730 2002-09-03  Yuuichi Teranishi  <teranisi@gohome.org>
4731
4732         * pldap.el (ldap-decode-string): Return string as-is if
4733         `ldap-coding-system' is nil.
4734         (ldap-encode-string): Ditto.
4735         (ldap-search-entries): Encode filter string with `ldap-encode-string'.
4736         (ldap-default-host): Fixed docstring.
4737
4738 2002-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
4739
4740         * elmo-util.el (elmo-warning): Define as a macro which uses
4741         `display-warning' if it is defined as a function.
4742
4743         * elmo-split.el (elmo-split-fetch-decoded-field): New function.
4744         (elmo-split-equal): Use it.
4745         (elmo-split-match): Ditto.
4746         (elmo-split-message-entity): New buffer-local variable.
4747         (elmo-split-subr): Set it.
4748
4749         * elmo-version.el (elmo-version): Up to 2.9.15.
4750
4751 2002-08-18  Kenichi OKADA  <okada@opaopa.org>
4752
4753         * elmo-imap4.el (elmo-network-initialize-session):
4754         Check capability after starttls.
4755
4756 2002-08-06  Yuuichi Teranishi  <teranisi@gohome.org>
4757
4758         * elmo-util.el (elmo-list-delete): Added optional argument
4759         DELETE-FUNCTION.
4760
4761         * elmo-vars.el (elmo-imap4-default-mailbox): Abolished.
4762
4763         * elmo-util.el (elmo-warning): Ignore errors while recenter.
4764
4765         * elmo-msgdb.el (elmo-msgdb-do-each-entity): New macro.
4766
4767         * elmo-imap4.el (elmo-folder-initialize): Don't use
4768         elmo-imap4-default-mailbox.
4769
4770 2002-07-24  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4771
4772         * elmo-split.el (toplevel): Use `product-provide'.
4773         (elmo-split): Checkdoc.
4774
4775 2002-07-21  Tetsurou Okazaki  <okazaki@be.to>
4776
4777         * elmo-imap4.el (elmo-imap4-debug, elmo-imap4-debug-1):
4778         Split `elmo-imap4-debug' into the macro `elmo-imap4-debug' and
4779         the function `elmo-imap4-debug-1'.
4780
4781 2002-07-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4782
4783         * elmo-split.el (elmo-split): Moved to run hooks and to show
4784         message from elmo-split-subr.
4785         (elmo-split-subr): Follow the change above.
4786
4787         * elmo-split.el (elmo-split-subr): New function (renamed from
4788         elmo-split-subr).
4789         (elmo-split): Changed to call elmo-split-subr by element of
4790         elmo-split-folder.
4791         (elmo-split-folder): Changed customization type to choice.
4792
4793 2002-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4794
4795         * elmo-split.el (elmo-split-and): Fixed condition.
4796
4797 2002-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
4798
4799         * elmo-split.el: New file.
4800         (elmo-split): Fixed logic.
4801         Display "Test:" instead of "Folder:" when reharsal.
4802
4803         * elmo-imap4.el (elmo-folder-append-buffer): Set flag as empty
4804         explicitly.
4805
4806         * elmo-version.el (elmo-version): Up to 2.9.14.
4807
4808         * elmo-util.el (elmo-expand-newtext): New function (renamed from
4809         wl-expand-newtext).
4810
4811 2002-06-10  Kenichi Sato <ksato@sonycom.com>
4812
4813         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Fix for
4814         message with no message-id field.
4815
4816 2002-05-20  Yuuichi Teranishi  <teranisi@gohome.org>
4817
4818         * elmo-version.el (elmo-version): Up to 2.9.13.
4819
4820         * elmo-dop.el (elmo-folder-status-dop): Fix.
4821
4822 2002-05-19  Yuuichi Teranishi  <teranisi@gohome.org>
4823
4824         * elmo-util.el (elmo-disk-usage): Return 0 if invalid file attribute.
4825
4826         * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Avoid
4827         changing default value of default-mime-charset.
4828         (elmo-msgdb-create-overview-from-buffer): Remove TAB character.
4829
4830         * elmo-imap4.el (elmo-folder-open): Fixed NO response check.
4831
4832         * elmo-dop.el (elmo-dop-queue-merge-method-list): New variable.
4833         (elmo-dop-queue-merge): Use elmo-dop-queue-merge-method-list
4834         instead of elmo-dop-queue-method-name-alist to check merging queue.
4835         (elmo-folder-delete-messages-dop): Delete from queue if negative
4836         message number.
4837         (elmo-folder-append-buffer-dop-delayed): Treat as success if queue
4838         file is already removed.
4839
4840 2002-05-10  Katsumi Yamaoka  <yamaoka@jpl.org>
4841
4842         * elmo-vars.el: Bind colon keywords for old Emacsen.
4843
4844 2002-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4845
4846         * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Protect
4847         against non-exsisting charset.
4848
4849 2002-05-09  Yuuichi Teranishi  <teranisi@gohome.org>
4850
4851         * elmo-util.el (elmo-mime-string): Eliminate needless binding;
4852         Use eword-decode-and-unfold-unstructured-field-body.
4853
4854         * elmo-msgdb.el (elmo-msgdb-make-entity): New function.
4855         (elmo-msgdb-create-overview-from-buffer): Use document charset if
4856         exists to decode raw subject string.
4857         (toplevel): Require 'mime.
4858
4859         * elmo-version.el (elmo-version): Up to 2.9.12.
4860
4861 2002-05-02  Yuuichi Teranishi  <teranisi@gohome.org>
4862
4863         * elmo-msgdb.el (elmo-msgdb-get-mark): Fix docstring.
4864         (elmo-msgdb-set-mark): Ditto.
4865
4866         * elmo-version.el (elmo-version): Up to 2.9.11.
4867
4868 2002-05-01  Yuuichi Teranishi  <teranisi@gohome.org>
4869
4870         * elmo-util.el (elmo-delete-match-files): New function.
4871
4872         * elmo-localdir.el (elmo-folder-delete): Use elmo-delete-match-files
4873         instead of elmo-delete-directory.
4874
4875         * elmo-shimbun.el (elmo-shimbun-get-headers): Bind
4876         elmo-hash-minimun-size as 63.
4877
4878         * elmo-multi.el (elmo-multi-folder-diff): Use elmo-diff-new if
4879         elmo-diff-unread is nil.
4880
4881         * elmo-imap4.el (elmo-folder-open): Fix.
4882
4883         * elmo.el (elmo-message-mark): Rewrite.
4884         (elmo-message-field): Ditto.
4885         (elmo-message-set-mark): Ditto.
4886         (elmo-folder-replace-marks): New function.
4887         (elmo-generic-folder-append-msgdb): Removed third argument for
4888         elmo-msgdb-append.
4889         (elmo-folder-synchronize): Use elmo-msgdb-seen-list.
4890         (elmo-msgdb-load): New implementation.
4891
4892         * elmo-vars.el (elmo-use-overview-hashtb): Removed.
4893
4894         * elmo-util.el (elmo-list-insert): New implementation.
4895
4896         * elmo-multi.el (elmo-multi-folder-append-msgdb): Removed third
4897         argument for elmo-msgdb-append.
4898         
4899
4900         * elmo-msgdb.el (elmo-load-msgdb): New function.
4901         (elmo-make-msgdb): Ditto.
4902         (elmo-msgdb-get-index): New inline function.
4903         (elmo-msgdb-set-index): Ditto.
4904         (elmo-msgdb-get-entity-hashtb): Ditto.
4905         (elmo-msgdb-get-mark-hashtb): Ditto.
4906         (elmo-msgdb-get-mark): Ditto.
4907         (elmo-msgdb-set-mark): Ditto.
4908         (elmo-msgdb-count-marks): Ditto.
4909         (elmo-msgdb-get-number): Ditto.
4910         (elmo-msgdb-get-field): Ditto.
4911         (elmo-msgdb-seen-list): Ditto.
4912         (elmo-msgdb-mark-alist-set): Renamed from elmo-msgdb-mark-set.
4913         (elmo-msgdb-delete-msgs): Follow the changes above.
4914         (elmo-msgdb-overview-get-entity): Ditto.
4915         (elmo-msgdb-add-msgs-to-seen-list): Ditto.
4916         (elmo-msgdb-clear-index): Renamed from elmo-msgdb-clear-overview-hastb
4917         and rewritten.
4918         (elmo-msgdb-make-index): Likewise.
4919         (elmo-msgdb-append): Removed third argument.
4920         (elmo-msgdb-clear): Clear index as nil.
4921         (elmo-folder-set-info-hashtb): Removed.
4922         (elmo-folder-set-info-max-by-numdb): Ditto.
4923         (elmo-folder-info-make-hashtb): Ditto.
4924
4925         * elmo-localdir.el (elmo-folder-pack-numbers): Use elmo-make-msgdb.
4926
4927         * elmo-map.el (elmo-folder-pack-number): Ditto.
4928
4929 2002-04-30  Yuuichi Teranishi  <teranisi@gohome.org>
4930
4931         * elmo-version.el (elmo-version): Up to 2.9.10.
4932
4933         * elmo-util.el (elmo-get-hash-val): Check the 1st argument is string.
4934
4935         * elmo-msgdb.el (elmo-msgdb-get-parent-entity): New inline function.
4936
4937 2002-04-26  Kenichi OKADA  <okada@opaopa.org>
4938
4939         * elmo-utils.el (elmo-make-directory): Add option.
4940         Default file mode is 700.
4941
4942 2002-04-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4943
4944         * elmo-shimbun.el (elmo-folder-local-p): Defined.
4945
4946 2002-04-15  Yuuichi Teranishi  <teranisi@gohome.org>
4947
4948         * elmo-shimbun.el (elmo-shimbun-entity-to-header): Decode by
4949         mime-charset.
4950
4951         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added "larger"
4952         and "smaller".
4953
4954 2002-04-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4955
4956         * elmo-shimbun.el (elomo-shimbun-folder): Added entity-hash slot.
4957         (elmo-shimbun-folder-entity-hash): New function.
4958         (elmo-shimbun-folder-shimbun-header): Ditto.
4959         (elmo-shimbun-entity-to-header): Ditto.
4960         (elmo-shimbun-msgdb-to-headers): Removed.
4961         (elmo-shimbun-folder-setup): Ditto.
4962         (elmo-shimbun-folder-header-hash-setup): Don't use x-shimbun-id
4963         for hash key.
4964         (elmo-shimbun-get-headers): Set new headers only to slot. Don't
4965         call `elmo-shimbun-folder-header-hash-setup' if headers is nil.
4966         Removed useless local bind.
4967         (elmo-folder-open-internal): Don't call
4968         `elmo-shimbun-folder-setup'.
4969         (elmo-folder-close-internal): Clear entity-hash slot.
4970         (elmo-folder-clear): Ditto.
4971         (elmo-shimbun-msgdb-create-entity): Use
4972         `elmo-shimbun-folder-shimbun-header'.
4973         (elmo-map-message-fetch): Ditto.
4974         (elmo-shimbun-update-overview): Use overview entity instead of
4975         shimbun header to lookup id by references.
4976         (elmo-map-folder-list-message-locations): Use not only headers but
4977         also overviews to list locations.
4978
4979 2002-04-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4980
4981         * elmo-net.el (elmo-folder-exists-p): If unplugged, guessed by
4982         msgdb path.
4983
4984         * elmo-pop3.el (elmo-folder-exists-p): Ditto.
4985
4986 2002-04-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4987
4988         * elmo-util.el (elmo-read-search-condition-internal): Give default
4989         value for date.
4990
4991 2002-04-04  Mito  <mito@mxa.nes.nec.co.jp>
4992
4993         * elmo-util.el (elmo-condition-parse-search-value): Accept
4994         YYYY-MM-DD format to search.
4995         * elmo-date.el (elmo-date-get-datevec): Likewise.
4996
4997 2002-04-04  Kenichi OKADA  <okada@opaopa.org>
4998
4999         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Delete
5000         debugging code.
5001
5002 2002-04-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5003
5004         * elmo.el (elmo-folder-creatable-p): Changed default value to nil
5005         from t.
5006
5007         * elmo-pop3.el (elmo-folder-exists-p): Return nil if unplugged.
5008
5009         * elmo-nntp.el (elmo-folder-exists-p-plugged): Divided plugged
5010         case from `elmo-folder-exists-p'.
5011         (elmo-folder-exists-p): Removed.
5012         (elmo-folder-creatable-p) Ditto.
5013
5014         * elmo-net.el (elmo-folder-create): Defined.
5015         (elmo-folder-create-unplugged): New function.
5016         (elmo-folder-exists-p): Changed default value to nil from t.
5017
5018         * elmo-imap4.el (elmo-folder-creatable-p): Defined.
5019         (elmo-folder-create-plugged): Renamed from `elmo-folder-create'.
5020
5021         * elmo-dop.el (elmo-folder-create-dop): Renamed from
5022         `elmo-create-folder-dop' and append queue
5023         'elmo-folder-create-dop-delayed instead of 'elmo-folder-create.
5024         (elmo-folder-create-dop-delayed): New function.
5025
5026         * elmo-cache.el (elmo-folder-creatable-p): Ditto.
5027
5028         * elmo-shimbun.el (elmo-folder-creatable-p): Ditto.
5029
5030         * elmo-sendlog.el (elmo-folder-creatable-p): Ditto.
5031         (elmo-folder-writable-p) : Ditto.
5032
5033         * elmo-version.el (elmo-version): Up to 2.9.9.
5034
5035 2002-03-26  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5036
5037         * elmo.el (elmo-find-fetch-strategy): Don't use file cache when
5038         `elmo-message-use-cache-p' returns nil.
5039         * elmo-mime.el (elmo-mime-display-as-is): Ditto.
5040         (ignore cache file and refer the substance in local folders)
5041
5042 2002-03-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5043
5044         * elmo-version.el (elmo-version): Up to 2.9.8.
5045
5046 2002-02-19  Yuuichi Teranishi  <teranisi@gohome.org>
5047
5048         * elmo-version.el (elmo-version): Up to 2.9.7.
5049
5050         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed logic.
5051
5052 2002-02-18  Daiki Ueno  <ueno@unixuser.org>
5053
5054         * elmo-nntp.el (elmo-nntp-send-mode-reader): Don't throw an error.
5055
5056 2002-02-12  Yuuichi Teranishi  <teranisi@gohome.org>
5057
5058         * elmo-nmz.el (elmo-nmz-args): Changed default argumnet to --late
5059         from --early.
5060         (elmo-map-folder-list-message-locations): Reverse location list.
5061
5062 2002-02-01  Kenichi OKADA  <okada@opaopa.org>
5063
5064         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Fix.
5065
5066 2002-01-31  Yuuichi Teranishi  <teranisi@gohome.org>
5067
5068         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Use group and server
5069         as a key.
5070         (elmo-nntp-folder-list-subfolders): Follow the change above.
5071
5072 2002-01-27  Takaaki MORIYAMA  <aka@iris.eonet.ne.jp>
5073
5074         * elmo-imap4.el (elmo-folder-list-subfolders): Don't omit user
5075         name if authentication type is specified.
5076
5077 2002-01-28  Yuuichi Teranishi  <teranisi@gohome.org>
5078
5079         * elmo.el (elmo-default-imap4-stream-type): Define as obsolete
5080         variable.
5081         (elmo-default-nntp-stream-type): Ditto.
5082         (elmo-default-pop3-stream-type): Ditto.
5083
5084 2002-01-25  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
5085
5086         * elmo.el (elmo-generic-folder-append-messages): Disable multibyte.
5087
5088 2002-01-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5089
5090         * elmo-localnews.el (elmo-localnews-folder-path): Moved from
5091         elmo-vars.el.
5092         * elmo-maildir.el (elmo-maildir-folder-path): Ditto.
5093
5094         * elmo-vars.el (elmo-localnews-folder-path): Removed.
5095         (elmo-maildir-folder-path): Ditto.
5096         (elmo-maildir-list): Ditto (abolished).
5097
5098 2002-01-23  Kenichi OKADA  <okada@opaopa.org>
5099
5100         * elmo-version.el (elmo-version): Up to 2.9.6.
5101
5102 2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5103
5104         * elmo-vars.el (elmo-localnews-folder-path): Make customizable.
5105         (elmo-maildir-folder-path): Ditto.
5106         (elmo-msgdb-directory): Ditto.
5107         (elmo-passwd-life-time): Ditto.
5108         (elmo-msgdb-extra-fields): Ditto.
5109         (elmo-enable-disconnected-operation): Ditto.
5110
5111 2002-01-22  Kenichi OKADA  <okada@opaopa.org>
5112
5113         * elmo-vars.el (elmo-imap4-default-authenticate-type): Give
5114         other choices.
5115         (elmo-pop3-default-authenticate-type): Ditto.
5116
5117 2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5118
5119         * elmo-vars.el (elmo-imap4-default-authenticate-type): Give
5120         choices for custom.
5121         (elmo-pop3-default-authenticate-type): Ditto.
5122
5123 2002-01-22  Kenichi OKADA  <okada@opaopa.org>
5124
5125         * elmo-imap4.el (elmo-folder-rename-internal): Change current
5126         mailbox to new-folder.
5127
5128 2002-01-21  Yuuichi Teranishi  <teranisi@gohome.org>
5129
5130         * elmo-imap4.el (elmo-imap4-folder-diff-plugged): If unread is
5131         less than new, set new as unread.
5132
5133         * elmo-util.el (elmo-string): Don't put text-property if nil.
5134
5135 2002-01-21  Kenichi OKADA  <okada@opaopa.org>
5136
5137         * elmo-imap4.el (elmo-folder-list-subfolders): Case sensitive.
5138         * elmo-nntp.el (elmo-folder-list-subfolders): Ditto.
5139
5140 2002-01-21  Kenichi OKADA  <okada@opaopa.org>
5141
5142         * elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
5143         is nil on `completing-read'.
5144
5145 2002-01-20  Yuuichi Teranishi  <teranisi@gohome.org>
5146
5147         * elmo-imap4.el (elmo-imap4-extra-namespace-alist): Added grouping
5148         for namespace part.
5149         (elmo-imap4-parse-namespace-subr): Ditto.
5150         (elmo-folder-list-subfolders): Append a delimiter when the specified
5151         folder path is a root with namespace and does not end with delimiter.
5152
5153 2002-01-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5154
5155         * elmo.el (elmo-folder-search-fast): Moved upwards rather than it
5156         was used.
5157
5158 2002-01-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5159
5160         * elmo-util.el (elmo-save-buffer): The first argument of message
5161         is a format control string.
5162
5163 2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5164
5165         * elmo.el (elmo-diff-new): Fixed (Adapted to doc-string of
5166         `elmo-folder-diff').
5167         (elmo-diff-unread): Likewise.
5168
5169 2002-01-19  Kenichi OKADA  <okada@opaopa.org>
5170
5171         * elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
5172         is t on `completing-read'.
5173
5174 2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5175
5176         * elmo-filter.el (elmo-filter-folder-list-unreads-internal): Call
5177         method of target folder with self mark-alist if MARK-ALIST is nil.
5178
5179 2002-01-19  Kenichi OKADA  <okada@opaopa.org>
5180
5181         * elmo-version.el (elmo-version): Up to 2.9.5.
5182
5183 2002-01-17  Kenichi OKADA  <okada@opaopa.org>
5184
5185         * elmo-dop.el (elmo-dop-queue-merge): Implement.
5186         (elmo-dop-merge-funcs): Remove.
5187
5188 2002-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5189
5190         * elmo-util.el (elmo-file-cache-delete): Fixed last change;
5191         Return t if PATH is directory, too.
5192         Use `dolist' instead of while loop.
5193
5194 2002-01-11  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5195
5196         * elmo-util.el (elmo-file-cache-delete): Return t if a cache file
5197         is deleted.
5198
5199 2002-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5200
5201         * elmo-net.el (elmo-folder-list-messages-plugged): Changed default
5202         return value to t.
5203         (elmo-folder-list-messages-unplugged): Return t if
5204         elmo-enable-disconnected-operation is nil.
5205
5206         * elmo-pop3.el (elmo-folder-list-messages-plugged): Renamed from
5207         `elmo-folder-list-messages-internal'.
5208
5209 2002-01-07  Kenichi OKADA  <okada@opaopa.org>
5210
5211         * elmo-nntp.el (elmo-nntp-read-response): Added `error-msg' argument.
5212         Change to looking-at `[23][0-9]+'.
5213         (elmo-network-initialize-session): Use 'error-msg'
5214         * elmo-net.el (elmo-network-open-session): Set unplugged
5215         if elmo-network-initialize-session returns 'elmo-open-err.
5216
5217 2002-01-07  Kenichi OKADA  <okada@opaopa.org>
5218
5219         * elmo-version.el (elmo-version): Up to 2.9.4.
5220
5221 2002-01-07  Yuuichi Teranishi  <teranisi@gohome.org>
5222
5223         * elmo-nntp.el (elmo-folder-list-messages-plugged): Renamed from
5224         `elmo-folder-list-messages-internal'.
5225
5226 2002-01-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5227
5228         * elmo.el (elmo-folder-search): Defined. Fixed docstring.
5229         (elmo-message-match-condition): New method.
5230         (elmo-folder-search-fast): New inline function.
5231         (elmo-msgdb-search): Removed.
5232
5233         * elmo-filter.el (elmo-folder-msgdb-create): Create from msgdb of
5234         target folder if it is unplugged.
5235         (elmo-folder-list-messages-internal): Return t if target folder is
5236         unplugged and itself is persistent; In this case, use list be
5237         searched already.
5238
5239         * elmo-msgdb.el (elmo-msgdb-search-internal): Removed.
5240         (elmo-msgdb-search-internal-primitive): Ditto.
5241         (elmo-msgdb-match-condition): New function.
5242         (elmo-msgdb-match-condition-primitive): Ditto.
5243
5244         * elmo-util.el (elmo-filter-condition-p): New macro.
5245
5246         * elmo-cache.el (elmo-folder-search): Removed.
5247
5248         * elmo-localdir.el (elmo-folder-search): Ditto.
5249
5250         * elmo-maildir.el (elmo-folder-search): Ditto.
5251
5252         * elmo-mark.el (elmo-folder-search): Ditto.
5253
5254         * elmo-nmz.el (elmo-folder-search): Ditto.
5255
5256         * elmo-sendlog.el (elmo-folder-search): Ditto.
5257
5258         * elmo-shimbun.el (elmo-folder-search): Ditto.
5259
5260         * elmo-imap4.el (elmo-folder-search): Call method of parent class
5261         if folder is unplugged.
5262
5263         * elmo-nntp.el (elmo-folder-search): Likewise.
5264         (elmo-nntp-search-internal): New function.
5265
5266         * elmo-version.el (elmo-version): Up to 2.9.3.
5267
5268 2001-12-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5269
5270         * elmo.el (elmo-message-fetch-with-cache-process): Fixed typo.
5271
5272 2001-12-27  Tetsurou Okazaki  <okazaki@be.to>
5273
5274         * elmo-vars.el (elmo-nntp-default-user): Customization Type fix.
5275
5276 2001-12-27  Taiji Can  <Taiji.Can@grd.advantest.co.jp>
5277
5278         * elmo-nntp.el (elmo-network-initialize-session): Fixed for NNTP response.
5279
5280 2001-12-27  Yuuichi Teranishi  <teranisi@gohome.org>
5281
5282         * elmo-nmz.el (elmo-nmz-use-drive-letter): New variable.
5283         (elmo-map-folder-list-message-locations): Do drive letter conversion
5284         on Windows environment.
5285         (elmo-nmz-msgdb-create-entity): Use expand-file-name.
5286         (elmo-map-message-fetch): Ditto.
5287
5288 2001-12-27  Kenichi OKADA  <okada@opaopa.org>
5289
5290         * elmo-nntp.el (elmo-nntp-read-response): Fixed for Response '400'
5291         (elmo-network-initialize-session): Ditto.
5292
5293 2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
5294
5295         * elmo-imap4.el (elmo-imap4-message-fetch): Fixed '100%' message.
5296
5297         * elmo-pop3.el (elmo-message-fetch-plugged): Ditto.
5298
5299         * elmo-util.el (elmo-progress-clear): Ditto.
5300
5301         * elmo-date.el (elmo-date-get-datevec): Fix timezone of
5302         `DD-Mon-YYYY' type date.
5303
5304 2001-12-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5305
5306         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
5307         `elmo-date-make-sortable-string' instead of
5308         `timezone-make-date-sortable'.
5309
5310         * elmo-date.el (elmo-date-make-sortable-string): Use
5311         `timezone-make-time-string'.
5312
5313 2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
5314
5315         * elmo.el (elmo-folder-synchronize): Delete important messages too.
5316
5317         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed
5318         `since'; Fix timezone.
5319
5320         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Ditto.
5321
5322         * elmo-nntp.el (elmo-nntp-search-primitive): Likewise.
5323
5324 2001-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5325
5326         * elmo.el (elmo-message-fetch-with-cache-process): Rewrite.
5327
5328 2001-12-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5329
5330         * elmo.el (elmo-generic-folder-append-messages): Make
5331         fetch-strategy with `use-cache' as 'maybe. Check return value of
5332         `elmo-message-fetch'.
5333         (elmo-message-fetch): Return return value of
5334         `elmo-message-fetch-with-cache-process'.
5335         (elmo-message-fetch-with-cache-process): Return non-nil if
5336         fetching was succeed. Load cache when fetching was failed and
5337         fetch-strategy-use-cache is 'maybe.
5338
5339         * elmo-util.el (elmo-file-cache-load): New function.
5340
5341         * elmo-multi.el (elmo-message-use-cache-p): Remove duplicated
5342         defun.
5343
5344         * elmo-archive.el (elmo-archive-message-fetch-internal): Return
5345         non-nil if fetching was succeed.
5346
5347         * elmo-imap4.el (elmo-imap4-message-fetch): Likewise.
5348
5349         * elmo-nmz.el (elmo-map-message-fetch): Likewise.
5350
5351         * elmo-nntp.el (elmo-nntp-read-body): Likewise.
5352         (elmo-message-fetch-with-cache-process): Likwise.
5353
5354         * elmo-pop3.el (elmo-pop3-read-body): Likewise.
5355
5356         * elmo-shimbun.el (elmo-map-message-fetch): Likewise.
5357
5358         * elmo-version.el (elmo-version): Up to 2.9.2.
5359
5360 2001-12-23  Yuuichi Teranishi  <teranisi@gohome.org>
5361
5362         * elmo.el (elmo-folder-delete): Delete msgdb path.
5363
5364         * elmo-archive.el (elmo-folder-delete): Added `:before' qualifier.
5365
5366         * elmo-maildir.el (elmo-folder-delete): Ditto.
5367
5368         * elmo-localdir.el (elmo-folder-delete): Ditto.
5369
5370         * elmo-imap4.el (elmo-folder-delete): Ditto.
5371
5372 2001-12-19  Yuuichi Teranishi  <teranisi@gohome.org>
5373
5374         * elmo.el (luna-define-class): Added `biff' slot.
5375
5376         * elmo-pop3.el (elmo-pop3-debug): Split biff log.
5377         (elmo-pop3-debug-inhibit-logging): Abolished.
5378         (elmo-network-close-session): Eliminated needless let.
5379         (elmo-pop3-get-session): Set prefix 'BIFF' if biff folder.
5380         (elmo-pop3-send-command): Added `no-log' argument.
5381         (elmo-pop3-process-filter): Use `with-current-buffer'.
5382         (elmo-pop3-auth-user): Set `no-log' argument; Delete process
5383         if login failure.
5384         (elmo-pop3-auth-apop): Likewise.
5385         (elmo-network-authenticate-session): Likewise.
5386
5387         * elmo-nntp.el (elmo-nntp-get-session): Set prefix 'BIFF'
5388         if biff folder.
5389
5390         * elmo-net.el (elmo-network-session-password-key): Use class symbol
5391         string to determine protocol.
5392         (elmo-network-session-name-prefix): Abolished.
5393         (elmo-network-session-cache-key): Follow the change above.
5394         (elmo-network-open-session): Ditto.
5395
5396         * elmo-imap4.el (elmo-imap4-send-command): Modified error message.
5397         (elmo-imap4-get-session): Set prefix 'BIFF' if biff folder.
5398
5399         * elmo-version.el (elmo-version): Up to 2.9.1.
5400
5401         * elmo-util.el (elmo-file-field-primitive-condition-match): Fixed
5402         unmatch condition checking.
5403
5404         * elmo-localdir.el (elmo-folder-search): Don't short cut if unmatch
5405         condition.
5406
5407 2001-12-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5408
5409         * elmo.el (elmo-folder-confirm-appends): Fixed docstring.
5410
5411 2001-12-17  Yuuichi Teranishi  <teranisi@gohome.org>
5412
5413         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
5414         test for while loop to execute at least one SEARCH command.
5415
5416 2001-12-15  Yuuichi Teranishi  <teranisi@gohome.org>
5417
5418         * elmo-version.el (elmo-version): Up to 2.9.0.
5419
5420 2001-12-14  Yuuichi Teranishi  <teranisi@gohome.org>
5421
5422         * elmo-archive.el (elmo-archive-folder): Added `dir-name' slot.
5423         (elmo-archive-folder-path): Define.
5424         (elmo-folder-initialize): Setup `dir-name' slot.
5425         (elmo-archive-folder-list-subfolders): Fixed problem when `name' is "".
5426         Use `dir-name' as prefix of each subfolders.
5427         (Applyed patch from Takaaki MORIYAMA <taka@arcadia.co.jp>)
5428
5429 2001-12-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5430
5431         * elmo-pipe.el (elmo-pipe-folder-copied-filename): New variable.
5432         (elmo-pipe-folder-list-target-messages): New internal function.
5433         (elmo-pipe-drain): Use new argument `ignore-list' instead of
5434         `killed-list'.
5435         (elmo-pipe-folder-copied-list-load): New function.
5436         (elmo-pipe-folder-copied-list-save): Ditto.
5437         (elmo-folder-open-internal): Follow the change above.
5438         (elmo-folder-status): Fixed for copy.
5439
5440 2001-12-13  Yuuichi Teranishi  <teranisi@gohome.org>
5441
5442         * elmo-shimbun.el (elmo-folder-creatable-p): Define.
5443
5444 2001-12-12  Yuuichi Teranishi  <teranisi@gohome.org>
5445
5446         * elmo-localdir.el (elmo-folder-message-make-temp-files): Use
5447         elmo-copy-file instead of elmo-add-name-to-file.
5448
5449         * elmo-nmz.el (elmo-folder-message-make-temp-files): Ditto.
5450
5451         * elmo-nmz.el (elmo-map-folder-list-message-locations): Allow
5452         "file://..." index.
5453
5454         * elmo-pop3.el (elmo-pop3-read-response): Set timeout argument
5455         of accept-process-output as 1.
5456         (elmo-pop3-read-contents): Ditto.
5457         (elmo-pop3-read-body): Ditto.
5458
5459 2001-12-12  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5460
5461         * elmo-version.el (product-version-as-string): Remove define.
5462
5463 2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>
5464
5465         * elmo-imap4.el (elmo-imap4-number-set-chop-length): New variable.
5466         (elmo-imap4-copy-messages): Chop number set using
5467         `elmo-imap4-number-set-chop-length'.
5468         (elmo-imap4-set-flag): Ditto.
5469         (elmo-imap4-search-internal-primitive): Ditto.
5470
5471 2001-12-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5472
5473         * elmo.el (elmo-folder-make-temporary-directory): Renamed from
5474         `elmo-folder-make-temp-dir'
5475
5476         * elmo-vars.el (elmo-cache-directory): New variable.
5477         (elmo-cache-dir): Abolished.
5478         (elmo-msgdb-directory): Renamed from `elmo-msgdb-dir'.
5479
5480         * elmo-version.el (elmo-version): Up to 2.7.7.
5481
5482 2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>
5483
5484         * elmo-util.el (elmo-obsolete-variable-show-warnings): Define with
5485         defcustom; Set default value as t.
5486
5487 2001-12-10  Yuuichi Teranishi  <teranisi@gohome.org>
5488
5489         * pldap.el (ldap-ldif-field-name-regexp): Changed regexp.
5490         (ldap-search-program-arguments): Changed default value.
5491         (ldap-search-basic): Accept exit status 4.
5492         (ldap/field-body): Parse options.
5493         (ldap/collect-field): Ditto.
5494         (According to the advise from Mito <mito@mxa.nes.nec.co.jp>)
5495
5496         * elmo-imap4.el (elmo-imap4-process-bye): New function.
5497         (elmo-imap4-send-command): Call elmo-imap4-process-bye.
5498         (elmo-imap4-accept-ok): Ditto.
5499         (elmo-imap4-session-select-mailbox): If argument `no-error' equals to
5500         'notify-bye, only BYE error is reported.
5501         (elmo-folder-exists-p-plugged): Set no-error argument of
5502         `elmo-imap4-session-select-mailbox' as 'notify-bye.
5503
5504         * elmo.el (elmo-imap4-bye-error): Changed message.
5505
5506         * elmo-dop.el (elmo-dop-queue-flush): Fixed obsolete version message.
5507         (elmo-dop-queue-flush): Don't append to the dop-queue while flushing
5508         queues (It causes infinite loop).
5509
5510 2001-12-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5511
5512         * elmo.el (elmo-folder-diff): Fixed docstring for IMAP4
5513         (RECENT UNSEEN MESSAGES) extension.
5514
5515 2001-12-07  Mito <mito@mxa.nes.nec.co.jp>
5516
5517         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
5518         Check number of overview fields.
5519
5520 2001-12-08  Yuuichi Teranishi  <teranisi@gohome.org>
5521
5522         * elmo.el (elmo-folder-confirm-appends): Changed message.
5523         (elmo-folder-confirm-appends): Ditto.
5524
5525         * elmo-archive.el (elmo-archive-exec-msgs-subr1): Use
5526         `with-temp-buffer'.
5527         (According to the advise from Nishimoto Masaki <nishimoto@gaju.org>)
5528
5529 2001-12-06  Hiroshi Tsutsui  <tsutsui@easter.kuee.kyoto-u.ac.jp>
5530
5531         * elmo.el (elmo-folder-confirm-appends): Check whether the value
5532         of elmo-folder-update-threshold is nil, which can be set by
5533         wl-summary-update-confirm-threshold.
5534
5535 2001-12-05  Yuuichi Teranishi  <teranisi@gohome.org>
5536
5537         * elmo-nmz.el (elmo-nmz-default-index-path): Allow path list.
5538         (elmo-nmz-index-alias-alist): Ditto.
5539         (elmo-map-folder-list-message-locations): Follow the change above.
5540
5541 2001-12-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5542
5543         * elmo-filter.el (elmo-folder-list-subfolders): Defined.
5544
5545         * elmo-archive.el (elmo-archive-call-process): Ignore nemacs.
5546
5547         * elmo-msgdb.el (elmo-msgdb-insert-file-header): Ditto.
5548
5549         * elmo-util.el (elmo-read): Ditto.
5550         (elmo-display-error): Ditto.
5551
5552         * elmo-vars.el (elmo-date-match): Ditto.
5553
5554         * pldap.el (ldap-coding-system): Ditto.
5555
5556         * elmo-pipe.el (elmo-pipe-drain): If `copy' is non-nil, bind
5557         `elmo-inhibit-number-mapping' as nil.
5558
5559 2001-11-30  Tatsuya Kinoshita  <tats@iris.ne.jp>
5560
5561         * elmo-pop3.el (elmo-pop3-parse-list-response): Allow multiple
5562         space delimiter for list response.
5563
5564 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5565
5566         * elmo-sendlog.el (elmo-sendlog-buffer-name): Deleted.
5567
5568 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5569
5570         * elmo-sendlog.el (elmo-folder-delete-messages): Added.
5571         (elmo-map-message-fetch): Fix.
5572         * elmo-map.el (elmo-folder-status): Fix for killed.
5573
5574 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5575
5576         * elmo-sendlog.el: New file.
5577         * elmo-internal.el (elmo-internal-folder-list): Added 'sendlog.
5578
5579 2001-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
5580
5581         * acap.el (acap-logging-out): New buffer local variable.
5582         (acap-close): Set it.
5583         (acap-wait-for-response): If acap-logging-out is non-nil, don't cause
5584         an error.
5585
5586 2001-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
5587
5588         * acap.el (acap-response-bye-p): New function.
5589         (acap-response-bye-message): Ditto.
5590         (acap-wait-for-response): If bye response is received, cause an error.
5591         (acap-parse-response): Make bye response when 'Bye' is received.
5592
5593 2001-11-23  Kenichi OKADA  <okada@opaopa.org>
5594
5595         * elmo-pipe.el (elmo-pipe-drain): Load killed-list.
5596
5597 2001-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5598
5599         * elmo-util.el (elmo-copy-file): Added argument
5600         `ok-if-already-exists'.
5601         (elmo-copy-file): Fixed typo.
5602
5603 2001-11-21  Kenichi OKADA  <okada@opaopa.org>
5604
5605         * elmo-pipe.el (elmo-pipe-drain): Load killed-list.
5606
5607 2001-11-21  Kenichi OKADA  <okada@opaopa.org>
5608
5609         * elmo-pipe.el (elmo-pipe-drain): Save killed-list.
5610
5611 2001-11-20  Kenichi OKADA  <okada@opaopa.org>
5612
5613         * elmo-pipe.el (elmo-pipe-drain): Append copied messages
5614         to killed-list.
5615
5616 2001-11-19  Kenichi OKADA  <okada@opaopa.org>
5617
5618         * elmo-pipe.el (elmo-pipe-folder): Add `copy'.
5619         (elmo-folder-initialize): Fix for `copy'.
5620         (elmo-pipe-drain): Ditto.
5621         (elmo-folder-open-internal): Ditto.
5622         (elmo-folder-newsgroups): Fix.
5623
5624 2001-11-19  Yuuichi Teranishi  <teranisi@gohome.org>
5625
5626         * elmo-maildir.el (elmo-folder-append-messages): Make temporal filename
5627         for each message.
5628
5629         * elmo-multi.el (elmo-multi-folder-diff): Fixed problem when
5630         recent value is returned from imap folder.
5631
5632         * elmo.el (elmo-folder-newsgroups): New generic function.
5633
5634         * elmo-localnews.el (elmo-localnews-folder): Added `group' slot.
5635         (elmo-folder-initialize): Set it.
5636         (elmo-folder-expand-msgdb-path): Use it.
5637         (elmo-folder-newsgroups): Define.
5638
5639         * elmo-filter.el (elmo-folder-newsgroups): Define.
5640
5641         * elmo-pipe.el (elmo-folder-newsgroups): Ditto.
5642
5643         * elmo-nntp.el (elmo-folder-newsgroups): Ditto.
5644
5645         * elmo-multi.el (elmo-folder-newsgroups): Ditto.
5646
5647 2001-11-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5648
5649         * elmo-shimbun.el (elmo-shimbun-update-overview-folder-list): New
5650         user option.
5651         (elmo-shimbun-header-extra-field): New inline function.
5652         (elmo-shimbun-header-set-extra-field): Ditto.
5653         (elmo-shimbun-folder-header-hash-setup): Ditto.
5654         (elmo-shimbun-update-overview): Ditto.
5655         (elmo-shimbun-msgdb-to-headers): Set extra field `x-shimbun-id'.
5656         (elmo-shimbun-folder-setup): Use
5657         `elmo-shimbun-folder-header-hash-setup' to be setup hash table.
5658         (elmo-shimbun-get-headers): Ditto.
5659         (elmo-map-message-fetch): Call `elmo-shimbun-update-overview';
5660         Insert `X-Shimbun-Id:' header if extra field is set.
5661         (elmo-map-folder-list-message-locations): Return `x-shimbun-id'
5662         field's value instead of `shimbun-header-id'.
5663
5664         * elmo-msgdb.el (elmo-msgdb-overview-entity-set-references): New
5665         inline function.
5666         (elmo-msgdb-overview-entity-set-date): Ditto.
5667         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
5668
5669 2001-11-09  Yuuichi Teranishi  <teranisi@gohome.org>
5670
5671         * mmimap.el (mmimap-entity-section): Changed body node number from
5672         "0" to "1".
5673
5674 2001-11-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5675
5676         * elmo-pop3.el (elmo-folder-delete-messages-plugged): Renamed from
5677         `elmo-folder-delete-messages'.
5678
5679         * elmo-nmz.el (elmo-nmz-index-alias-alist): New user option.
5680         (elmo-folder-initialize): Changed to expand alias into index path.
5681
5682         * elmo-mime.el (elmo-mime-insert-sorted-header): Call
5683         `elmo-mime-insert-header-from-buffer' with 6th arg
5684         `sorted-fields'.
5685
5686 2001-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
5687
5688         * mmimap.el (mmimap-entity-section): If node-id is nil, return "0".
5689
5690         * elmo.el (elmo-diff-new): New inline function.
5691         (elmo-diff-unread): Ditto.
5692         (elmo-diff-all): Ditto.
5693
5694         * elmo-imap4.el (elmo-imap4-server-diff-async-callback-1): Get recent
5695         value from responseb.
5696         (elmo-imap4-folder-diff-plugged): Ditto.
5697         (elmo-imap4-server-diff-async): Added recent argument.
5698         (elmo-server-diff-async): Ditto.
5699         (elmo-imap4-folder-diff-plugged): Ditto.
5700
5701         * elmo-version.el (elmo-version): Up to 2.7.6.
5702
5703 2001-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5704
5705         * elmo-util.el (elmo-parse-token): Fixed how to treat quoted-pair
5706         in quoted-stirng.
5707
5708 2001-11-05  Yuuichi Teranishi  <teranisi@gohome.org>
5709
5710         * elmo-pop3.el (elmo-folder-initialize): Rewrite.
5711
5712         * elmo-imap4.el (elmo-folder-initialize): Ditto.
5713
5714         * elmo-nntp.el (elmo-folder-initialize): Ditto.
5715
5716         * elmo-multi.el (elmo-folder-initialize): Ditto.
5717
5718         * elmo-util.el (elmo-parse-token): New function.
5719         (elmo-parse-prefixed-element): Ditto.
5720
5721 2001-11-01  Yuuichi Teranishi  <teranisi@gohome.org>
5722
5723         * elmo-imap4.el (elmo-imap4-send-command): If BYE response is detected,
5724         delete process.
5725         (elmo-imap4-accept-ok): Ditto.
5726
5727 2001-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5728
5729         * mmimap.el (mime-imap-entity-header-string): Don't check first
5730         element of node-id is `0' (Follow last change).
5731
5732 2001-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5733
5734         * mmimap.el (mmimap-make-mime-entity): Fixed problem to be
5735         assigned irregular node-id to nested multipart section.
5736         (initialize-instance): Followed above change.
5737
5738 2001-10-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5739
5740         * elmo-shimbun.el (elmo-shimbun-get-headers): Don't call
5741         `shimbun-open-group' (Moved to `elmo-folder-open-internal').
5742         (elmo-folder-open-internal): Call `shimbun-open-group' (Moved from
5743         `elmo-shimbun-get-headers');
5744         Call `elmo-shimbun-folder-setup' if headers is empty (An entity of
5745         visible article on summary exists in headers).
5746         (elmo-map-message-fetch): Cause an error when folder is unplugged.
5747
5748 2001-10-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5749
5750         * elmo-shimbun.el (elmo-shimbun-use-cache): Fix typo in the
5751         definition.
5752
5753 2001-10-16  Yuuichi Teranishi  <teranisi@gohome.org>
5754
5755         * elmo-localnews.el (elmo-folder-expand-msgdb-path): Define.
5756
5757 2001-10-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5758
5759         * elmo-msgdb.el (elmo-msgdb-insert-file-header): Moved searching
5760         header separator into loop condition.
5761
5762 2001-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5763
5764         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed problem;
5765         Return duplicate folder if it has subfolder.
5766
5767 2001-10-11  Yuuichi Teranishi  <teranisi@gohome.org>
5768
5769         * elmo.el (elmo-make-folder): Add folder name error check.
5770
5771         * elmo-nntp.el (elmo-nntp-group-coding-system): New variable.
5772         (elmo-nntp-encode-group-string): New inline function.
5773         (elmo-nntp-decode-group-string): Ditto.
5774         (elmo-folder-initialize): Use elmo-nntp-encode-group-string.
5775         (elmo-nntp-folder-list-subfolders): Set processing buffer as unibyte;
5776         Use `not' instead of `null';
5777         Use elmo-nntp-decode-group-string.
5778
5779         * elmo-imap4.el (elmo-folder-list-subfolders): Don't append delimiter.
5780
5781         * elmo-version.el (elmo-version): Up to 2.7.5.
5782
5783 2001-10-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5784
5785         * elmo-pipe.el (elmo-pipe-drain): Use `unwind-protect';
5786         Hide progress gauge if `elmo-folder-move-messages' exits
5787         nonlocally.
5788
5789 2001-10-09  Yuuichi Teranishi  <teranisi@gohome.org>
5790
5791         * elmo-imap4.el (elmo-folder-initialize): Use
5792         `elmo-imap4-encode-folder-string' for folder name.
5793
5794 2001-10-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5795
5796         * elmo.el (elmo-folder-move-messages): Removed arguments `all' and
5797         `done'.
5798
5799 2001-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5800
5801         * elmo-util.el (elmo-progress-counter-alist): New internal
5802         variable.
5803         (elmo-progress-counter-value): New macro.
5804         (elmo-progress-counter-all-value): Ditto.
5805         (elmo-progress-counter-format): Ditto.
5806         (elmo-progress-counter-set-value): Ditto.
5807         (elmo-progress-set): New function.
5808         (elmo-progress-clear): Ditto.
5809         (elmo-progress-notify): Ditto.
5810
5811         * elmo-pipe.el (elmo-pipe-drain): Setup and clear progress
5812         counter.
5813
5814         * elmo.el (elmo-generic-folder-append-messages): Call
5815         `elmo-progress-notify'.
5816         (elmo-folder-move-messages): Don't call `elmo-display-progress'.
5817
5818         * elmo-archive.el (elmo-folder-append-messages): Call
5819         `elmo-progress-notify'.
5820
5821         * elmo-imap4.el (elmo-folder-append-messages): Ditto.
5822
5823         * elmo-localdir.el (elmo-folder-append-messages): Ditto.
5824
5825         * elmo-maildir.el (elmo-folder-append-messages): Ditto.
5826
5827 2001-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
5828
5829         * elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed 'Encache' and
5830         'Create'.
5831         (elmo-message-encache-dop): Added argument `read'.
5832
5833         * elmo-shimbun.el (elmo-message-encache): Ditto.
5834
5835         * elmo-net.el (elmo-message-encache): Ditto.
5836
5837         * elmo-imap4.el (elmo-imap4-seen-messages): New buffer local variable.
5838         (elmo-imap4-fetch-callback-1-subr): Save important message numbers to
5839         elmo-imap4-seen-messages.
5840         (elmo-folder-msgdb-create-plugged): Initialize
5841         elmo-imap4-seen-messages;
5842         Set seen mark on elmo-imap4-seen-messages.
5843
5844         * elmo-pipe.el (elmo-folder-message-file-p): Define.
5845
5846         * elmo.el (elmo-generic-folder-append-messages): Check return value of
5847         elmo-folder-append-buffer.
5848         (elmo-folder-encache): Added optional argument `read'.
5849         (elmo-message-encache): Ditto.
5850
5851         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.
5852
5853         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
5854
5855         * elmo-archive.el (elmo-archive-folder-append-buffer): Return t
5856         if append buffer content succeds.
5857
5858 2001-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
5859
5860         * elmo-pop3.el (elmo-message-fetch-plugged): Fixed label for
5861         elmo-display-progress.
5862
5863         * elmo-mime.el (elmo-mime-message-display): Added argument keymap;
5864         Set 4th argument of mime-display-message.
5865         (elmo-mime-display-as-is): Ditto.
5866
5867 2001-10-01  Yuuichi Teranishi  <teranisi@gohome.org>
5868
5869         * elmo-nmz.el (toplevel): Require 'mime-edit.
5870         (elmo-nmz-content-type-alist): Abolished.
5871         (elmo-nmz-msgdb-create-entity): Add From: and Subject: field if
5872         content is not a message.
5873         (elmo-map-message-fetch): Changed behavior exept for message content;
5874         Detect mime-charset automatically, Use `mime-find-file-type' to detect
5875         content-type, Add From: and Subject: field.
5876
5877 2001-09-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5878
5879         * elmo-nmz.el (elmo-nmz-content-type-alist): New variable.
5880         (elmo-map-message-fetch): Add `Content-Type' field if contents is
5881         not a message.
5882
5883 2001-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5884
5885         * elmo.el (elmo-folder-writable-p): Changed default value to nil.
5886         (elmo-folder-move-messages): Check `elmo-folder-writable-p'.
5887
5888         * elmo-archive.el (elmo-folder-writable-p): Defined.
5889
5890         * elmo-cache.el (elmo-folder-writable-p): Ditto.
5891
5892         * elmo-filter.el (elmo-folder-writable-p): Ditto.
5893
5894         * elmo-imap4.el (elmo-folder-writable-p): Ditto.
5895
5896         * elmo-localdir.el (elmo-folder-writable-p): Ditto.
5897
5898         * elmo-maildir.el (elmo-folder-writable-p): Ditto.
5899
5900         * elmo-mark.el (elmo-folder-writable-p): Ditto.
5901
5902         * elmo-pipe.el (elmo-folder-writable-p): Ditto.
5903
5904         * elmo-nntp.el (elmo-folder-writable-p): Eliminated.
5905
5906 2001-09-20  Yuuichi Teranishi  <teranisi@gohome.org>
5907
5908         * elmo-util.el (elmo-address-quote-specials): New function;
5909         Renamed from `wl-address-quote-specials'.
5910
5911 2001-09-18  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5912
5913         * elmo-version.el (elmo-version): Up to 2.7.4.
5914
5915 2001-09-14  Yuuichi Teranishi  <teranisi@gohome.org>
5916
5917         * elmo.el (elmo-quit): Call `elmo-dop-queue-save'.
5918
5919 2001-09-14  Katsumi Yamaoka  <yamaoka@jpl.org>
5920
5921         * acap.el (acap-read-passphrase): Always autoload ange-ftp for
5922         both compile-time and run-time to avoid byte-compile warning.
5923
5924 2001-09-13  Kenichi OKADA  <okada@opaopa.org>
5925
5926         * elmo-nntp.el (elmo-nntp-post): Fix for `elmo-nntp-default-stream-type'.
5927
5928 2001-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
5929
5930         * elmo-mime.el (elmo-mime-display-as-is-coding-system): New user
5931         option.
5932         (elmo-mime-display-as-is-internal): Use it.
5933
5934         * acap.el (acap-read-passphrase): Use `ange-ftp-read-passwd'
5935         if `read-passwd' is not defined.
5936
5937 2001-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
5938
5939         * elmo-pop3.el (elmo-pop3-list-location): Sort locations
5940         by original number.
5941         (elmo-folder-status): Call `elmo-folder-open-internal';
5942         Call `elmo-folder-close-internal' instead of `elmo-folder-close'.
5943         (elmo-folder-close-internal): Set location-alist as nil.
5944         (elmo-folder-clear): Define.
5945         (elmo-folder-check): Don't set location-alist as nil.
5946
5947         * elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed symbols.
5948
5949 2001-09-10  Yuuichi Teranishi  <teranisi@gohome.org>
5950
5951         * elmo-util.el (elmo-msgid-to-cache): Enclose with `save-match-data'.
5952         (Pointed out by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>)
5953
5954         * mmimap.el (mime-imap-entity::requested): New slot.
5955         (mime-imap-location-fetch-entity-p): New generic function.
5956         (mime-decode-parameters): Define using `defun-maybe'.
5957         (mmimap-make-mime-entity): Use `make-mime-content-type' to make
5958         content-type structure.
5959         (mime-entity-body): Return empty body if
5960         `mime-imap-location-fetch-entity-p' returns nil in the first request.
5961
5962         * elmo.el (elmo-message-displaying): New variable.
5963
5964         * elmo-mime.el (elmo-mime-message-display): Bind
5965         elmo-message-displaying as t.
5966
5967         * elmo-imap4.el (mime-imap-location-fetch-entity-p): Define.
5968
5969 2001-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
5970
5971         * acap.el (acap-open): erase buffer before starting network process.
5972         (acap-store): Rewrite.
5973
5974 2001-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
5975
5976         * elmo-imap4.el (elmo-imap4-default-mailbox,
5977         elmo-imap4-default-server
5978         elmo-imap4-default-authenticate-type,
5979         elmo-imap4-default-user,
5980         elmo-imap4-default-port,
5981         elmo-imap4-default-stream-type,
5982         elmo-imap4-stream-type-alist): Moved to elmo-vars.el.
5983
5984         * elmo-pop3.el (elmo-pop3-default-user,
5985         elmo-pop3-default-server,
5986         elmo-pop3-default-authenticate-type,
5987         elmo-pop3-default-port,
5988         elmo-pop3-default-stream-type,
5989         elmo-pop3-stream-type-alist): Ditto.
5990
5991         * elmo-nntp.el (elmo-nntp-default-server,
5992         elmo-nntp-default-user,
5993         elmo-nntp-default-port,
5994         elmo-nntp-default-stream-type,
5995         elmo-nntp-stream-type-alist): Ditto.
5996
5997         * elmo-vars.el: Follow changes above.
5998         (elmo-setting): New custom group; added 'elmo-setting group to
5999         above variables.
6000
6001         * elmo-version.el (elmo-version): Up to 2.7.3.
6002
6003         * acap.el (acap-parse-response): Don't delete process when BYE
6004         response (It causes hang-up on slow network environment).
6005         (toplevel): Added comment.
6006
6007 2001-08-28  Yuuichi Teranishi  <teranisi@gohome.org>
6008
6009         * slp.el (slp-exec-wait): Use `slp-program-arguments'.
6010
6011         * acap.el (acap-parse-return-metadata-or-return-metalist): Fix for
6012         parsing NIL.
6013         (acap-parse-return-metadata): Ditto.
6014
6015         * slp.el: New file.
6016         (toplevel): Fixed typo.
6017
6018         * acap.el: New file.
6019         (acap-network-stream-open): Show "Connecting..." message.
6020         (acap-parse-response): Fixed problem for BYE untagged response.
6021         (acap-open): Changed argument (Use `acap-default-user' if user is nil).
6022         (toplevel): Added tiny comments.
6023
6024 2001-08-20  Tatsuya Kinoshita <tats@iris.ne.jp>
6025
6026         * elmo-pop3.el (elmo-pop3-parse-uidl-response): Allow multiple
6027         space delimiter for uidl response.
6028
6029 2001-08-20  Yuuichi Teranishi  <teranisi@gohome.org>
6030
6031         * elmo-vars.el (elmo-use-semi): Eliminated.
6032
6033         * elmo-util.el (elmo-string-assoc-all): New function.
6034
6035 2001-08-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6036
6037         * elmo-mime.el (elmo-mime-display-as-is-internal): Put text
6038         property 'mime-preview-situation for `mime-preview-quit'.
6039
6040 2001-08-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6041
6042         * elmo.el (elmo-message-fetch-with-cache-process): Call
6043         elmo-message-fetch-internal instead of causing an error when fetch
6044         strategy is 'entire but only 'section cache is available.
6045
6046 2001-08-15  Yuuichi Teranishi  <teranisi@gohome.org>
6047
6048         * elmo-version.el (elmo-version): Up to 2.7.2.
6049
6050         * elmo.el (elmo-generic-folder-append-messages): Make
6051         fetch-strategy with `use-cache'.
6052
6053         * elmo-dop.el (elmo-dop-queue-method-name-alist): New variable.
6054         (elmo-dop-queue-method-name): New macro.
6055
6056 2001-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6057
6058         * elmo-archive.el (elmo-archive-get-archive-name): Fixed
6059         unbalanced parenthesis.
6060
6061 2001-08-03  YAMASHITA Junji <ysjj@unixuser.org>
6062
6063         * elmo-localdir.el (elmo-folder-rename-internal): Fixed typo.
6064
6065 2001-08-03  Yuuichi Teranishi  <teranisi@gohome.org>
6066
6067         * elmo-archive.el (elmo-archive-get-archive-name): Fixed logic.
6068         (Advised by YAMASHITA Junji <ysjj@unixuser.org>.)
6069
6070 2001-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
6071
6072         * elmo-shimbun.el (elmo-folder-msgdb-create): Bind unbound
6073         local variables.
6074
6075 2001-07-30  Yuuichi Teranishi  <teranisi@gohome.org>
6076
6077         * elmo-shimbun.el (elmo-shimbun-use-cache): New user option.
6078         (elmo-message-use-cache-p): Define.
6079         (elmo-folder-msgdb-create): Treat cache.
6080
6081 2001-07-28  Kenichi OKADA  <okada@opaopa.org>
6082
6083         * elmo-nntp.el (elmo-network-initialize-session): Call
6084         `elmo-nntp-send-mode-reader'.
6085         (elmo-network-setup-session): Remove `elmo-nntp-send-mode-reader'.
6086
6087 2001-07-26  Yuuichi Teranishi  <teranisi@gohome.org>
6088
6089         * elmo-shimbun.el (elmo-shimbun-index-range-alist): Changed to regexp
6090         alist.
6091         (elmo-folder-initialize): Use elmo-string-matched-assoc instead of
6092         assoc.
6093
6094         * elmo-net.el (elmo-network-get-session): Set stream-type argument
6095         for `elmo-plugged-p'.
6096         (elmo-open-network-stream): Fixed stream-type argument.
6097
6098 2001-07-25  Yuuichi Teranishi  <teranisi@gohome.org>
6099
6100         * elmo-archive.el (elmo-archive-get-archive-name): Cause an error when
6101         unknown archive type is specified.
6102
6103 2001-07-23  Yuuichi Teranishi  <teranisi@gohome.org>
6104
6105         * elmo-shimbun.el (elmo-folder-open-internal): Fixed.
6106
6107         * elmo.el (elmo-generic-folder-open): Bind inhibit-quit as t
6108         while loading msgdb.
6109
6110         * elmo-shimbun.el (elmo-shimbun-folder-setup): New function.
6111         (elmo-folder-open-internal): Rewrite.
6112
6113 2001-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
6114
6115         * elmo-mime.el (elmo-mime-display-as-is-internal):
6116         Adjust buffer-multibyte status.
6117
6118 2001-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
6119
6120         * elmo.el (elmo-msgdb-search): Use elmo-condition-in-msgdb-p instead
6121         of elmo-condition-find-key.
6122
6123         * elmo-util.el (elmo-condition-in-msgdb-p-internal): New function.
6124         (elmo-condition-in-msgdb-p): Ditto.
6125         (elmo-read-search-condition-internal): Don't set REQUIRE-MATCH
6126         argument.
6127
6128 2001-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
6129
6130         * elmo-pipe.el (elmo-folder-pack-numbers): Define.
6131
6132 2001-07-05  Yuuichi Teranishi  <teranisi@gohome.org>
6133
6134         * elmo-imap4.el (elmo-imap4-find-next-line): Fixed
6135         label for elmo-display-progress.
6136
6137 2001-07-02  Yuuichi Teranishi  <teranisi@gohome.org>
6138
6139         * elmo.el (elmo-folder-clear): New method.
6140         (elmo-folder-clear): Define.
6141         (elmo-folder-synchronize): Call `elmo-folder-clear'.
6142
6143         * elmo-shimbun.el (elmo-folder-check): Rewrite.
6144         (elmo-folder-clear): Define.
6145
6146         * elmo-map.el (elmo-folder-clear): Define.
6147
6148         * elmo-version.el (elmo-version): Up to 2.7.1.
6149
6150 2001-06-26  Yuuichi Teranishi  <teranisi@gohome.org>
6151
6152         * elmo.el (elmo-folder-synchronize): Return list of nil when no
6153         updates.
6154
6155 2001-06-21  Yuuichi Teranishi  <teranisi@gohome.org>
6156
6157         * elmo.el (elmo-generic-folder-append-messages): Fixed logic.
6158         (Detected by NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>)
6159
6160 2001-06-20  Yuuichi Teranishi  <teranisi@gohome.org>
6161
6162         * elmo-util.el (elmo-get-network-stream-type): Moved to elmo-net.el.
6163
6164         * elmo-net.el (elmo-get-network-stream-type): Moved from elmo-util.el
6165         and re-written.
6166
6167         * elmo-imap4.el (elmo-folder-initialize): Use
6168         elmo-get-network-stream-type.
6169
6170         * elmo-nntp.el (elmo-folder-initialize): Ditto.
6171
6172         * elmo-pop3.el (elmo-folder-initialize): Ditto.
6173
6174 2001-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
6175
6176         * elmo.el (elmo-message-encache): Set unread argument for
6177         elmo-message-fetch.
6178
6179         * elmo-shimbun.el (elmo-dop): Require 'elmo-dop.
6180
6181         * elmo.el (elmo-net-port-info): New method.
6182
6183         * elmo-shimbun.el (elmo-net-port-info): Define.
6184         (elmo-message-encache): Ditto.
6185
6186         * elmo-net.el (elmo-net-port-info): Define as method.
6187
6188         * elmo.el (elmo-generic-folder-append-messages): Find cache file in
6189         unplugged status when elmo-enable-disconnected-operation is t.
6190
6191         * elmo-dop.el (elmo-dop-spool-folder-append-buffer): Check existence
6192         of spool folder before checking new number.
6193
6194 2001-06-18  Yuuichi Teranishi  <teranisi@gohome.org>
6195
6196         * elmo-pop3.el (elmo-network-close-session): Removed 3rd argument.
6197         (elmo-network-setup-session): Ditto.
6198         (elmo-message-fetch-plugged): Ditto.
6199         (elmo-pop3-send-command): Don't call elmo-pop3-lock.
6200         (elmo-network-initialize-session): Ditto.
6201         (elmo-pop3-read-response): Abolish 3rd argument.
6202         (elmo-pop3-read-response): Don't call elmo-pop3-unlock.
6203         (elmo-pop3-read-contents): Ditto.
6204         (elmo-pop3-read-body): Ditto.
6205         (elmo-folder-status): Call elmo-folder-close.
6206         (elmo-pop3-lock): Abolish.
6207         (elmo-pop3-unlock): Ditto.
6208         (elmo-pop3-locked-p): Ditto.
6209         (elmo-folder-check): Don't call elmo-pop3-locked-p.
6210
6211 2001-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
6212
6213         * elmo-version.el (elmo-version): Up to 2.7.0.
6214
6215         * elmo-pop3.el (elmo-pop3-debug): New variable.
6216         (elmo-pop3-debug-inhibit-logging): Ditto.
6217         (elmo-pop3-debug): New function.
6218         (elmo-pop3-send-command): Call elmo-pop3-debug.
6219         (elmo-pop3-read-response): Added keep-lock optional argument;
6220         Don't unlock if keep-lock is non-nil.
6221         (elmo-pop3-process-filter): Call elmo-pop3-debug.
6222         (elmo-network-authenticate-session): Bind
6223         elmo-pop3-debug-inhibit-logging as t.
6224         (elmo-network-setup-session): Call elmo-pop3-read-response with
6225         keep-lock argument.
6226         (elmo-pop3-read-msg): Ditto.
6227         (elmo-pop3-locked-p): Call elmo-pop3-debug.
6228         (elmo-pop3-read-body): Call elmo-pop3-unlock.
6229         (elmo-network-initialize-session): Call elmo-pop3-lock.
6230         (elmo-folder-close-internal): Don't clear location-alist slot.
6231         (elmo-folder-check): Clear location-alist slot.
6232
6233 2001-06-13  Yuuichi Teranishi  <teranisi@gohome.org>
6234
6235         * elmo-pop3.el (elmo-pop3-lock): New buffer local variable.
6236         (elmo-pop3-send-command): Call elmo-pop3-lock.
6237         (elmo-pop3-read-response): Call elmo-pop3-unlock.
6238         (elmo-pop3-read-contents): Ditto.
6239         (elmo-pop3-lock): New function.
6240         (elmo-pop3-unlock): Ditto.
6241         (elmo-pop3-locked-p): Ditto.
6242         (elmo-folder-check): Don't delete process if elmo-pop3-locked-p
6243         returns t.
6244
6245 2001-06-11  Yuuichi Teranishi  <teranisi@gohome.org>
6246
6247         * elmo-shimbun.el (elmo-shimbun-msgdb-to-headers): Inverted logic.
6248
6249         * elmo-util.el (elmo-file-field-primitive-condition-match):
6250         New inline function (Don't fetch file content if "first" or "last").
6251         (elmo-file-field-condition-match): Use
6252         elmo-file-field-primitive-condition-match.
6253
6254         * elmo-localdir.el (elmo-folder-search): Speed up simple "last" and
6255         "first".
6256
6257         * elmo-pop3.el (elmo-pop3-process-filter): Don't use floor nor float.
6258         (elmo-message-fetch-plugged): Fixed.
6259
6260         * elmo-imap4.el (elmo-imap4-find-next-line): Ditto.
6261
6262 2001-06-10  Yuuichi Teranishi  <teranisi@gohome.org>
6263
6264         * elmo.el (elmo-folder-move-messages): Bind
6265         elmo-inhibit-display-retrieval-progress as t while moving messages.
6266
6267         * elmo-vars.el (elmo-display-retrieval-progress-threshold):
6268         New variable.
6269         (elmo-inhibit-display-retrieval-progress): Ditto.
6270
6271         * elmo-pop3.el (elmo-pop3-process-filter): Use elmo-display-progress
6272         for retrieval progress;
6273         Don't display progress when total buffer size is smaller than
6274         elmo-display-retrieval-progress-threshold.
6275         (elmo-message-fetch-plugged): Don't display progress when
6276         elmo-inhibit-display-retrieval-progress is non-nil.
6277
6278         * elmo-imap4.el (elmo-imap4-find-next-line): Use elmo-display-progress
6279         for retrieval progress;
6280         Don't display progress when literal size is smaller than
6281         elmo-display-retrieval-progress-threshold.
6282         (elmo-imap4-message-fetch): Don't display progress when
6283         elmo-inhibit-display-retrieval-progress is non-nil.
6284
6285 2001-06-07  Yuuichi Teranishi  <teranisi@gohome.org>
6286
6287         * elmo-imap4.el (elmo-imap4-display-literal-progress): New variable.
6288         (elmo-imap4-find-next-line): Display progress whille literal fetching.
6289         (elmo-imap4-message-fetch): Likewise.
6290
6291         * elmo-shimbun.el (elmo-shimbun-default-index-range): New user option.
6292         (elmo-shimbun-index-range-alist): Ditto.
6293         (elmo-shimbun-use-entire-index): Abolish.
6294         (shimbun-mua-use-entire-index): Ditto.
6295         (elmo-shimbun-folder): Added new slot `range'.
6296         (elmo-folder-initialize): Setup slot `range'.
6297
6298 2001-06-06  Yuuichi Teranishi  <teranisi@gohome.org>
6299
6300         * elmo-shimbun.el (elmo-shimbun-parse-time-string): New function.
6301         (elmo-shimbun-msgdb-to-headers): Added `expire-days' argument.
6302         (elmo-shimbun-get-headers): Use return value of
6303         `shimbun-article-expiration-days'.
6304         (elmo-folder-close-internal): Clean up last-check slot.
6305
6306         * elmo-pop3.el (elmo-pop3-process-filter): Show retrieve progress.
6307         (elmo-pop3-total-size): New variable.
6308         (elmo-message-fetch-plugged): Bind elmo-pop3-total-size while fetching.
6309
6310         * elmo.el (elmo-folder-reserve-status-p): New method.
6311
6312         * elmo-shimbun.el (elmo-shimbun-headers-cache): Abolish.
6313         (elmo-shimbun-use-entire-index): New user option.
6314         (shimbun-elmo-mua): New class.
6315         (shimbun-mua-search-id): Define.
6316         (shimbun-mua-use-entire-index): Ditto.
6317         (elmo-shimbun-folder:last-check): New slot.
6318         (elmo-shimbun-headers-cache-header-list): Abolish.
6319         (elmo-shimbun-headers-cache-set-header-list): Ditto.
6320         (elmo-shimbun-headers-cache-header-hash): Ditto.
6321         (elmo-shimbun-headers-cache-set-header-hash): Ditto.
6322         (elmo-shimbun-headers-cache-last-check): Ditto.
6323         (elmo-shimbun-headers-cache-set-last-check): Ditto.
6324         (elmo-shimbun-headers-check-p): Rewrite.
6325         (elmo-shimbun-msgdb-to-headers): New function.
6326         (elmo-shimbun-get-headers): Rewrite.
6327         (elmo-folder-initialize): Set 1st argument of `shimbun-open'.
6328         (elmo-folder-open-internal): Get headers only if
6329         `elmo-shimbun-headers-check-p' is non-nil.
6330         (elmo-folder-check): Check only if `elmo-shimbun-headers-check-p'
6331         is non-nil.
6332         (elmo-shimbun-msgdb-create-entity): Re-use old msgdb entities.
6333         (elmo-quit): Removed.
6334
6335         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra): New inline
6336         function.
6337         (elmo-msgdb-overview-entity-set-extra): Ditto.
6338         (elmo-msgdb-make-overview-hashtb): Make hash if overview is non-nil.
6339
6340         * elmo-map.el (elmo-folder-status): Don't call
6341         elmo-folder-close-internal if `elmo-folder-reserve-status-p'
6342         is non-nil.
6343
6344 2001-06-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6345
6346         * elmo-msgdb.el (elmo-msgdb-search-internal): Call itself instead
6347         of `elmo-msgdb-search-internal-primitive' when condition's car is
6348         `and' or `or'.
6349
6350 2001-05-23  Kenichi OKADA  <okada@opaopa.org>
6351
6352         * elmo-nntp.el (elmo-nntp-get-newsgroup-by-msgid): Fix for luna.
6353
6354 2001-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6355
6356         * elmo-pipe.el (elmo-folder-open-internal): Check plugged before
6357         call `elmo-pipe-drain'.
6358
6359 2001-05-19  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
6360
6361         * elmo-mark.el (elmo-message-fetch-with-cache-process): Fixed
6362         typo. (elmo-cache-folder -> elmo-mark-folder)
6363
6364 2001-05-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6365
6366         * elmo-net.el (elmo-message-fetch-unplugged): Don't call
6367         `elmo-message-fetch'.
6368
6369 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6370
6371         * elmo-net.el (elmo-message-encache): Fixed typo.
6372         (elmo-message-fetch-unplugged): Changed call
6373         `elmo-message-fetch-internal' without argument `outbuf'.
6374
6375 2001-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
6376
6377         * elmo.el (elmo-message-encache): Define as generic function.
6378         (elmo-message-fetch-field): New generic function.
6379         (elmo-message-fetch-with-cache-process): Cause an error when
6380         fetch strategy is 'entire but only 'section cache is available.
6381         (toplevel): Fixed nmz folder definition.
6382
6383         * elmo-vars.el (elmo-msgdb-lock-list-filename): Removed.
6384         (elmo-msgdb-resume-list-filename): Ditto.
6385         (elmo-queue-filename): Ditto.
6386         (elmo-enable-disconnected-operation): Changed default value to t.
6387
6388         * elmo-util.el (elmo-cache-path-section-p): New function.
6389         (elmo-file-cache-get): Use it.
6390         (elmo-dop-queue-filename): Moved from elmo-dop.el.
6391         (elmo-dop-queue-load): Moved from elmo-msgdb.el.
6392         (elmo-dop-queue-save): Ditto.
6393
6394         * elmo-net.el (elmo-folder-status-unplugged): Call
6395         elmo-folder-status-dop.
6396         (elmo-folder-list-messages-unplugged): Implemented.
6397         (elmo-folder-delete-messages-unplugged): Define.
6398         (elmo-folder-msgdb-create): Define.
6399         (elmo-folder-msgdb-create-unplugged): Define.
6400         (elmo-folder-mark-as-read-unplugged): Ditto.
6401         (elmo-folder-unmark-read-unplugged): Ditto.
6402         (elmo-folder-mark-as-important-unplugged): Ditto.
6403         (elmo-folder-unmark-important-unplugged): Ditto.
6404         (elmo-message-encache): Ditto.
6405
6406         * elmo-msgdb.el (elmo-dop-queue-load): Moved to elmo-util.el.
6407         (elmo-dop-queue-save): Ditto.
6408
6409         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Renamed from
6410         `elmo-folder-msgdb-create'.
6411         (elmo-folder-append-buffer): Implemented unplugged operation.
6412         (elmo-folder-append-messages): Call parent method in unplugged status.
6413         (elmo-message-fetch-unplugged): Removed definition.
6414         (elmo-message-fetch-field): Implemented.
6415
6416         * elmo-dop.el (toplevel): Require 'elmo-localdir.
6417         (elmo-dop-folder): Removed variable definition.
6418         (elmo-dop-queue-append): Changed argument `fname' to `folder'.
6419         (elmo-dop-queue-flush): Implemented.
6420         (elmo-dop-queue-merge): Removed definition (TODO).
6421         (elmo-dop-spool-folder): New function.
6422         (elmo-dop-spool-folder-append-buffer): Ditto.
6423         (elmo-dop-spool-folder-list-messages): Ditto.
6424         (elmo-dop-list-deleting-messages): Ditto.
6425         (elmo-folder-append-buffer-dop): Ditto.
6426         (elmo-folder-delete-messages-dop): Ditto.
6427         (elmo-message-encache-dop): New inline function.
6428         (elmo-create-folder-dop): Ditto.
6429         (elmo-folder-mark-as-read-dop): Ditto.
6430         (elmo-folder-unmark-read-dop): Ditto.
6431         (elmo-folder-mark-as-important-dop): Ditto.
6432         (elmo-folder-unmark-important-dop): Ditto.
6433         (elmo-folder-status-dop): Fixed.
6434         (elmo-folder-append-buffer-dop-delayed): New function.
6435         (elmo-folder-delete-messages-dop-delayed): Ditto.
6436         (elmo-dop-msgdb): Ditto.
6437
6438 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6439
6440         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed.
6441
6442 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6443
6444         * elmo.el (elmo-folder-move-messages): Fixed problem when
6445         `dst-folder' is 'null.
6446
6447 2001-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6448
6449         * elmo.el (elmo-folder-list-importants): Rewirte. Use global mark
6450         instead of current mark.
6451
6452         * elmo-multi.el (elmo-folder-list-importants-internal): No
6453         operation if importants is not list.
6454
6455         * elmo-filter.el (elmo-filter-folder-list-importants-internal):
6456         Return t if importants is not list.
6457
6458         * elmo-map.el (elmo-map-folder-list-importants): Define.
6459         (elmo-folder-list-importants-internal): Check return value of
6460         `elmo-map-folder-list-importants-internal'.
6461
6462         * elmo-cache.el (elmo-folder-list-importants-internal): Eliminated.
6463
6464         * elmo-mark.el (elmo-folder-list-importants-internal): Ditto.
6465
6466         * elmo-nmz.el (elmo-folder-list-importants-internal): Ditto.
6467
6468         * elmo-shimbun.el (elmo-folder-list-importants-internal): Ditto.
6469
6470 2001-05-08  Yuuichi Teranishi  <teranisi@gohome.org>
6471
6472         * elmo.el (elmo-message-fetch-confirm): Fixed docstring.
6473         (Patch is provided by <kita@coe.nttdata.co.jp>).
6474
6475 2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6476
6477         * elmo.el (elmo-folder-synchronize): Don't check important mark in
6478         mark folder.
6479
6480 2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6481
6482         * elmo.el (elmo-message-fetch): Define.
6483         (elmo-message-fetch-with-cache-process): New generic method.
6484         (elmo-message-fetch-internal): New generic method.
6485         (elmo-folder-synchronize):
6486
6487         * elmo-archive.el (elmo-message-fetch-internal): Define.
6488         (elmo-message-fetch): Eliminated.
6489
6490         * elmo-localdir.el (elmo-message-fetch-internal): Define.
6491         (elmo-message-fetch): Eliminated.
6492
6493         * elmo-map.el (elmo-map-message-fetch): Eliminated optional
6494         argument OUTBUF.
6495         (elmo-message-fetch-internal): Define (Renamed from `elmo-message-fetch').
6496
6497         * elmo-cache.el (elmo-message-fetch-with-cache-process): Define.
6498         (elmo-map-message-fetch): Merged with elmo-cache-folder-map-message-fetch.
6499
6500         * elmo-mark.el (elmo-message-fetch-with-cache-process): Define.
6501         (elmo-map-message-fetch): Merged with `elmo-mark-folder-map-message-fetch'.
6502
6503         * elmo-maildir.el (elmo-map-message-fetch): Rewrite.
6504
6505         * elmo-nmz.el (elmo-map-message-fetch): Ditto.
6506
6507         * elmo-shimbun.el (elmo-map-message-fetch): Ditto.
6508
6509         * elmo-net.el (elmo-message-fetch-plugged): Remove cache process.
6510         (elmo-message-fetch-unplugged): New generic method.
6511         (elmo-message-fetch-internal): Remove cache process (Renamed from
6512         `elmo-message-fetch').
6513
6514         * elmo-nntp.el (elmo-message-fetch-with-cache-process): Define.
6515         (elmo-message-fetch): Eliminated.
6516         (elmo-message-fetch-unplugged): Ditto.
6517
6518         * elmo-imap4.el (elmo-message-fetch-unplugged): Remove cache process.
6519
6520 2001-05-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6521
6522         * elmo-multi.el (elmo-multi-folder-append-msgdb): Fixed structure
6523         of `to-be-deleted' from number-alist to number-list.
6524
6525 2001-04-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6526
6527         * elmo-pipe.el (elmo-folder-unmark-important): Fixed typo.
6528         (elmo-folder-mark-as-important): Ditto.
6529
6530 2001-04-26  Yuuichi Teranishi  <teranisi@gohome.org>
6531
6532         * elmo.el (elmo-folder): Added process-duplicates slot.
6533
6534         * elmo-pipe.el (elmo-folder-mark-as-read): Define.
6535         (elmo-folder-unmark-read): Ditto.
6536         (elmo-folder-unmark-important): Ditto.
6537         (elmo-folder-mark-as-important): Ditto.
6538
6539         * elmo-multi.el (elmo-multi-folder-append-msgdb): Implemented
6540         duplicated message processing.
6541
6542         * elmo.el (elmo-generic-folder-append-msgdb): Ditto.
6543
6544 2001-04-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6545
6546         * elmo-util.el (elmo-list-subdirectories-1): New function.
6547         (elmo-list-subdirectories): Use `elmo-list-subdirectories-1'.
6548         (elmo-mapcar-list-of-list): New function.
6549
6550         * elmo-archive.el (elmo-archive-folder-list-subfolders): Use
6551         `elmo-mapcar-list-of-list' instead of `mapcar'.
6552
6553         * elmo-localdir.el (elmo-folder-list-subfolders): Ditto.
6554
6555         * elmo-maildir.el (elmo-folder-list-subfolders): Ditto. Bind
6556         `elmo-have-link-count'. Return the fully qualified folder name.
6557
6558 2001-04-23  Yuuichi Teranishi  <teranisi@gohome.org>
6559
6560         * elmo-shimbun.el (elmo-shimbun-check-interval): New user option.
6561         (elmo-shimbun-headers-cache): New internal variable.
6562         (elmo-shimbun-headers-cache-header-list): New inline function.
6563         (elmo-shimbun-headers-cache-set-header-list): Ditto.
6564         (elmo-shimbun-headers-cache-header-hash): Ditto.
6565         (elmo-shimbun-headers-cache-set-header-hash): Ditto.
6566         (elmo-shimbun-headers-cache-last-check): Ditto.
6567         (elmo-shimbun-headers-cache-set-last-check): Ditto.
6568         (elmo-shimbun-lapse-seconds): Ditto.
6569         (elmo-shimbun-headers-cache-check-p): Ditto.
6570         (elmo-shimbun-get-headers): New function.
6571         (elmo-folder-open-internal): Call it.
6572         (elmo-quit): Define (Clear headers-cache).
6573
6574 2001-04-18  Yuuichi Teranishi  <teranisi@gohome.org>
6575
6576         * elmo-nntp.el (elmo-folder-initialize): Fixed typo (folder->name).
6577
6578         * elmo-msgdb.el (elmo-msgdb-flist-load): Use elmo-mime-charset.
6579         (elmo-msgdb-flist-save): Ditto.
6580
6581         * elmo-shimbun.el (elmo-folder-list-subfolders):
6582         Use `shimbun-groups' instead of `shimbun-groups-internal'.
6583         (elmo-folder-exists-p): Ditto.
6584
6585         * elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Set `shimbun'
6586         argument for `shimbun-header-insert'.
6587
6588 2001-04-17  Yuuichi Teranishi  <teranisi@gohome.org>
6589
6590         * elmo-multi.el (elmo-multi-folder-diff): Use dummy number list
6591         at first time.
6592
6593         * elmo-util.el (toplevel): Require 'mcharset and 'pces.
6594         (With a little help from 'NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>')
6595
6596 2001-04-16  Yuuichi Teranishi  <teranisi@gohome.org>
6597
6598         * elmo-shimbun.el (elmo-folder-open-internal): Do nothing if unplugged.
6599         (elmo-folder-plugged-p): Define.
6600         (elmo-folder-set-plugged): Ditto.
6601         (elmo-shimbun-msgdb-create-entity): Do nothing if there's no header.
6602         (elmo-folder-list-messages-internal): Return t if unplugged.
6603         (elmo-folder-initialize): Fixed for "@gnome.gnome-1.4-list".
6604
6605         * elmo-multi.el (elmo-folder-list-messages-internal): Fixed problem
6606         when elmo-folder-list-messages-internal method of children returns t.
6607
6608         * elmo-map.el (elmo-map-folder-update-locations): Fixed problem when
6609         pair is nil.
6610         (elmo-folder-open-internal): Don't update if unplugged status.
6611
6612 2001-04-13  Yuuichi Teranishi  <teranisi@gohome.org>
6613
6614         * elmo.el (elmo-folder-synchronize): Fixed problem when there's no
6615         new message.
6616
6617 2001-04-12  Yuuichi Teranishi  <teranisi@gohome.org>
6618
6619         * elmo-util.el (elmo-file-cache-save): Ignore errors.
6620
6621         * elmo-net.el (elmo-message-fetch): Check cache-path is non-nil before
6622         saving.
6623
6624 2001-04-09  Yuuichi Teranishi  <teranisi@gohome.org>
6625
6626         * elmo.el (elmo-folder-synchronize): Added optional no-check argument.
6627
6628         * elmo-shimbun.el (elmo-shimbun-folder): Added headers slot.
6629         (elmo-folder-open-internal): Set up headers slot.
6630         (elmo-folder-check): Call elmo-folder-close-internal and
6631         elmo-folder-open-internal.
6632         (elmo-folder-close-internal): Clean up headers slot.
6633
6634 2001-04-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
6635
6636         * elmo-archive.el (elmo-archive-folder-list-subfolders): Match
6637         exactly folder list.
6638         (elmo-folder-append-messages): Fixed append archive with prefix.
6639
6640         * elmo-localdir.el (elmo-folder-message-make-temp-files): Fixed
6641         make temp files with start-number.
6642
6643         * elmo-pipe.el (elmo-folder-message-make-temp-file-p): Fixed typo.
6644
6645 2001-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6646
6647         * elmo.el (elmo-folder-list-messages-internal): Fixed lucking optional
6648         argument `visible-only'.
6649         (elmo-generic-folder-append-messages): Fixed condition. Use `unless'
6650         instead of `if'.
6651
6652         * elmo-pop3.el (elmo-folder-open-internal): Check
6653         `elmo-inhibit-number-mapping' is non-nil.
6654
6655         * elmo-pipe.el (elmo-folder-status): Fixed.
6656
6657 2001-04-05  Yuuichi Teranishi  <teranisi@gohome.org>
6658
6659         * elmo.el (elmo-dop-queue-flush): Added autload setting.
6660
6661         * elmo-shimbun.el (elmo-shimbun-folder): Added `header-hash' slot.
6662         (elmo-folder-open-internal): Setup `header-hash' slot.
6663         (elmo-shimbun-msgdb-create-entity): Use `header-hash' to get header
6664         information.
6665         (elmo-map-message-fetch): Ditto.
6666
6667 2001-04-04  Yuuichi Teranishi  <teranisi@gohome.org>
6668
6669         * shimbun.el, sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
6670         sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
6671         sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
6672         sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el, sb-tcup.el: Removed.
6673
6674         * elmo-util.el (elmo-resque-obsolete-variable): Fix.
6675
6676 2001-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
6677
6678         * sb-airs.el: Added footer.
6679
6680         * shimbun.el (shimbun-article): Define as luna-method.
6681
6682         * sb-tcup.el: New file.
6683
6684         * sb-airs.el (toplevel): Require 'sb-mhonarc.
6685         (According to the report from ABE Yasushi <yasushi@indigo.co.jp>)
6686
6687 2001-04-02  Yuuichi Teranishi  <teranisi@gohome.org>
6688
6689         * sb-asahi.el (shimbun-index-url): Removed redundant '/' in URL string.
6690         (shimbun-get-headers): Ditto.
6691
6692         * elmo.el: Moved obsolete variable definitions from
6693         elmo-imap4.el, elmo-nntp.el and elmo-pop3.el.
6694
6695         * sb-asahi.el (shimbun-asahi-groups): Deleted "feneral" and "personal"
6696         groups.
6697
6698         * shimbun.el: New file.
6699
6700         * elmo-shimbun.el: New file.
6701
6702         * sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
6703         sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
6704         sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
6705         sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el: New files.
6706
6707 2001-03-27  Kenichi OKADA  <okada@opaopa.org>
6708
6709         * elmo-imap4.el (elmo-imap4-list-folders): Fixed problem when
6710         hierarchy is t.
6711
6712 2001-03-12  Yuuichi Teranishi  <teranisi@gohome.org>
6713
6714         * elmo.el (elmo-folder-msgdb): Define as macro.
6715         (elmo-folder-open): Added argument `load-msgdb'.
6716         (elmo-generic-folder-open): Ditto.
6717         (elmo-folder-encache): New function.
6718
6719         * elmo-dop.el (elmo-dop-queue): Moved from elmo-dop.el.
6720
6721         * elmo-net.el (elmo-message-fetch): Check the cache path is non-nil.
6722
6723         * elmo-msgdb.el (elmo-msgdb-delete-msgs):
6724         Eliminated argument FOLDER and added argument MSGDB.
6725         (elmo-dop-queue-load): Moved from elmo-dop.el.
6726         (elmo-dop-queue-save): Ditto.
6727
6728         * elmo-map.el (elmo-map-folder-update-locations): Sort by number.
6729
6730         * elmo-imap4.el (elmo-folder-open): Added argument load-msgdb.
6731
6732         * elmo-filter.el (elmo-filter-folder-list-unreads-internal):
6733         Use elmo-folder-msgdb instead of elmo-folder-msgdb-internal.
6734         (elmo-filter-folder-list-importants-internal): Ditto.
6735
6736         * elmo-map.el (elmo-folder-pack-number): Ditto.
6737
6738         * elmo-mime.el (elmo-mime-message-display): Ditto.
6739
6740         * elmo.el (elmo-generic-folder-commit): Ditto.
6741         (elmo-folder-list-unreads): Ditto.
6742         (elmo-folder-list-importants): Ditto.
6743         (elmo-generic-folder-commit): Ditto.
6744         (elmo-message-set-mark): Ditto.
6745         (elmo-generic-folder-append-msgdb): Ditto.
6746         (elmo-folder-synchronize): Ditto.
6747         (elmo-folder-messages): Ditto.
6748         (elmo-init): Call elmo-dop-queue-load.
6749         (elmo-folder-list-messages): Ditto.
6750
6751         * elmo-nntp.el (elmo-folder-update-number): Ditto.
6752         (elmo-nntp-folder-process-crosspost): Ditto.
6753         (elmo-folder-list-unreads-internal): Ditto.
6754
6755         * elmo-dop.el: Removed old functions.
6756
6757 2001-03-05  Yuuichi Teranishi  <teranisi@gohome.org>
6758
6759         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument from
6760         `folder' to `msgdb'.
6761
6762 2001-03-01  Yuuichi Teranishi  <teranisi@gohome.org>
6763
6764         * mmimap.el (mmimap-parse-parameters-from-list): Define as alias for
6765         `mime-decode-parameters' instead of `mime-decode-parameter-plist'.
6766
6767         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Bind
6768         case-fold-search.
6769
6770 2001-02-28  Yuuichi Teranishi  <teranisi@gohome.org>
6771
6772         * elmo-util.el (elmo-resque-obsolete-variable): Use defvaralias if
6773         defined.
6774
6775         * mmimap.el (toplevel): Require 'mime-parse and 'static.
6776         (mmimap-parse-parameters-from-list): Define as alias for
6777         `mime-decode-parameter-plist' if it is defined as function.
6778         (mmimap-make-mime-entity): Added argument `number'.
6779         (initialize-instance): Set `number' argument of mmimap-make-mime-entity
6780         as 0.
6781         (mime-imap-entity-header-string): Arrange node-id for rfc2060 section.
6782
6783         * elmo.el (elmo-folder-have-subfolder-p): New generic function.
6784
6785         * elmo-mark.el (elmo-folder-have-subfolder-p): Define.
6786
6787         * elmo-internal.el (elmo-folder-list-subfolders): Rewrite.
6788
6789 2001-02-27  Yuuichi Teranishi  <teranisi@gohome.org>
6790
6791         * elmo-maildir.el (elmo-folder-msgdb-create): Fixed.
6792
6793         * elmo-imap4.el (elmo-folder-initialize): Fixed problem
6794         when elmo-imap4-default-authenticate-type is nil.
6795         (elmo-folder-list-subfolders): Ditto
6796         (According to the reported of Bun Mizuhara <mizuhara@acm.org>)
6797         (elmo-imap4-fetch-callback-1-subr): Renamed from
6798         `elmo-imap4-fetch-callback-1' and define as inline function.
6799         (elmo-imap4-fetch-callback-1):
6800         Renamed from `elmo-imap4-fetch-callback'.
6801         (elmo-imap4-parse-fetch): Funcall `elmo-imap4-fetch-callback'.
6802
6803         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Fixed
6804         msgdb path (To keep compatibility with main trunk).
6805
6806         * elmo-vars.el (elmo-inhibit-number-mapping): New variable.
6807
6808         * elmo-util.el (elmo-make-file-cache): Moved position of
6809         some macros.
6810
6811         * elmo-pop3.el (elmo-pop3-inhibit-uidl): Eliminated.
6812         (elmo-pop3-get-session): Use `elmo-inhibit-number-mapping'
6813         instead of `elmo-pop3-inhibit-uidl'.
6814         (elmo-folder-exists-p): Ditto.
6815         (elmo-pop3-folder-list-messages): Ditto.
6816
6817         * elmo-pipe.el (elmo-pipe-drain): Use `elmo-inhibit-number-mapping'
6818         instead of `elmo-pop3-inhibit-uidl'.
6819         (elmo-folder-status): Ditto.
6820
6821         * elmo-dop.el (elmo-dop-folder): New variable.
6822         (elmo-dop-lock-message): Eliminated.
6823         (elmo-dop-unlock-message): Ditto.
6824         (elmo-dop-lock-list-load): Ditto.
6825         (elmo-dop-lock-list-save): Ditto.
6826         (elmo-dop-delete-folder): Ditto.
6827         (elmo-dop-rename-folder): Ditto.
6828
6829         * elmo.el: Removed incomplete commentary.
6830
6831 2001-02-25  TAKAHASHI Kaoru  <kaoru@kaisei.org>
6832
6833         * elmo.el (toplevel): Require 'elmo-version first;
6834         for little `recursive-load-depth' settings.
6835         Fix "ends here" comment.
6836
6837 2001-02-23  Yuuichi Teranishi  <teranisi@gohome.org>
6838
6839         * elmo-util.el (toplevel): Require 'poem;
6840         Some functions are moved from elmo-cache.el.
6841
6842         * elmo-net.el (toplevel): Require 'elmo-cache.
6843
6844         * elmo-msgdb.el (toplevel): Don't require 'elmo-cache.
6845
6846         * elmo.el (toplevel): Ditto.
6847
6848         * elmo-cache.el: Rewrite with luna;
6849         Some functions are moved to elmo-util.el.
6850
6851         * elmo-internal.el (elmo-internal-folder-list): New variable.
6852         (elmo-internal-folder-initialize): Rewrite.
6853         (elmo-folder-list-subfolders): Ditto.
6854
6855         * elmo-cache.el (elmo-cache-search-all): Eliminated.
6856         (elmo-cache-collect-sub-directories): Ditto.
6857
6858 2001-02-22  Yuuichi Teranishi  <teranisi@gohome.org>
6859
6860         * elmo-version.el (elmo-version): Up to 2.5.8.
6861
6862         * elmo.el (elmo-folder-list-messages-mark-match): New function.
6863
6864         * elmo-util.el (elmo-list-insert): New function.
6865
6866 2001-02-21  Yuuichi Teranishi  <teranisi@gohome.org>
6867
6868         * elmo.el (elmo-init): New function.
6869         (elmo-quit): Call `elmo-crosspost-message-alist-save'.
6870
6871         * elmo-vars.el (elmo-msgdb-file-header-chop-length): New variable
6872         (Renamed from `elmo-localdir-header-chop-length').
6873
6874         * elmo-pop3.el (elmo-pop3-use-cache,
6875         elmo-pop3-send-command-synchronously): Moved from `elmo-vars.el'.
6876
6877         * elmo-nntp.el (elmo-message-fetch): Define.
6878         (elmo-message-fetch-unplugged): Ditto.
6879         (elmo-nntp-overview-fetch-chop-length): Moved from `elmo-vars.el'.
6880         (elmo-nntp-use-cache): Ditto.
6881         (elmo-nntp-max-number-precedes-list-active): Ditto.
6882
6883         * elmo-multi.el (elmo-multi-divide-number): Moved from `elmo-vars.el'.
6884
6885         * elmo-msgdb.el (elmo-localdir-insert-header): Renamed to
6886         `elmo-msgdb-insert-file-header'.
6887         Use `elmo-msgdb-file-header-chop-length'.
6888
6889         * elmo-localdir.el (elmo-localdir-lockfile-list): Moved from
6890         `elmo-vars.el'.
6891
6892         * elmo-cache.el (elmo-cache-insert-header): Eliminated.
6893         (elmo-cache-msgdb-create-overview-entity-from-file): Use
6894         `elmo-msgdb-insert-file-header'.
6895
6896         * elmo-imap4.el, elmo-nntp.el, elmo-pop3.el:
6897         Use new variable;
6898         Define obsolete variables with `elmo-define-obsolete-variable',
6899
6900         * elmo-util.el (elmo-warning-buffer-name): New constant.
6901         (elmo-warning): New function.
6902         (elmo-obsolete-variable-alist): New variable.
6903         (elmo-obsolete-variable-show-warnings): New variable.
6904         (elmo-define-obsolete-variable): New function.
6905         (elmo-resque-obsolete-variable): Ditto.
6906         (elmo-resque-obsolete-variables): Ditto.
6907
6908 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6909
6910         * elmo-vars.el (elmo-use-buffer-cache, elmo-buffer-cache-size):
6911         Eliminated.
6912
6913         * elmo-pop3.el, elmo-nntp.el: Use custom.
6914
6915 2000-02-20  Kenichi OKADA  <okada@opaopa.org>
6916
6917         * elmo-imap4.el (elmo-network-authenticate-session): Fix.
6918         * elmo-pop3.el (elmo-network-authenticate-session): Add comments.
6919
6920 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6921
6922         * Luna-fy Kenichi OKADA's following changes.
6923         * elmo.el (elmo-folder-list-messages-internal): Added optional argument
6924         `nohide'.
6925         (elmo-folder-synchronize): Changed meaning of argument `ignore-msgdb'.
6926
6927 2001-02-21  OKAZAKI Tetsurou  <okazaki@be.to>
6928
6929         * elmo-util.el (elmo-display-progress): Prefer
6930         `progress-feedback-with-label' to `lprogress-display'.
6931
6932 2000-02-20  Kenichi OKADA  <okada@opaopa.org>
6933
6934         * elmo-imap4.el (elmo-imap4-list-folder): Added 'uid'
6935
6936 2000-02-19  Kenichi OKADA  <okada@opaopa.org>
6937
6938         * elmo2.el (elmo-list-folder): Added optional argument `nohide'.
6939         * elmo-imap4.el (elmo-imap4-list-folder): Added optional argument `nohide'.
6940         * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
6941         * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
6942         * elmo-localdir.el (elmo-localdir-list-folder): Ditto.
6943         * elmo-localnews.el (elmo-localnews-list-folder): Ditto.
6944         * elmo-archive.el (elmo-archive-list-folder): Ditto.
6945         * elmo-filter.el (elmo-filter-list-folder): Ditto.
6946         * elmo-internal.el (elmo-internal-list-folder): Ditto.
6947         * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
6948         * elmo-multi.el (elmo-multi-list-folder): Ditto.
6949         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
6950         * elmo-dop.el (elmo-dop-list-folder): Ditto.
6951
6952 2000-02-17  Kenichi OKADA  <okada@opaopa.org>
6953
6954         * elmo-msgdb.el (elmo-msgdb-max-of-killed): New function.
6955         * elmo-imap4.el (elmo-imap4-list-folder): Use killed-list.
6956
6957 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6958
6959         * elmo.el (elmo-folder-process-crosspost): New generic method.
6960         (elmo-folder-writable-p): Ditto.
6961         (elmo-folder-message-appendable-p): Eliminated.
6962         (elmo-generic-folder-append-msgdb): Rewrite.
6963         (elmo-newsgroups-hashtb): New internal variable.
6964         (elmo-crosspost-message-set): Eliminated.
6965         (elmo-crosspost-message-delete): Ditto.
6966         (elmo-setup-subscribed-newsgroups): New function.
6967         (elmo-crosspost-message-alist-modified): New internal variable.
6968         (elmo-crosspost-message-alist-load): New function (Renamed from
6969         `wl-crosspost-alist-load').
6970         (elmo-crosspost-message-alist-save): Ditto (Renamed from
6971         `wl-crosspost-alist-save').
6972
6973         * elmo-util.el (elmo-parse): New function (Renamed from `wl-parse').
6974
6975         * elmo-nntp.el (elmo-nntp-folder): New slots `temp-crosses' and
6976         `unreads'.
6977         (elmo-nntp-groups-hashtb): Eliminated (Renamed to
6978         elmo-newsgroups-hashtb).
6979         (elmo-nntp-message-fetch): Call `elmo-nntp-setup-crosspost-buffer',
6980         `elmo-nntp-folder-update-crosspost-message-alist'.
6981         (elmo-nntp-get-folders-info): Use `elmo-newsgroups-hashtb' instead of
6982         `elmo-nntp-groups-hashtb'.
6983         (elmo-nntp-make-groups-hashtb): Eliminated.
6984         (elmo-nntp-parse-newsgroups): New function (Renamed from
6985         `wl-parse-newsgroups').
6986         (elmo-folder-creatable-p, elmo-folder-writable-p,
6987         elmo-folder-close-internal, elmo-folder-mark-as-read,
6988         elmo-folder-process-crosspost, elmo-folder-list-unreads-internal):
6989         Define.
6990         (elmo-nntp-folder-update-crosspost-message-alist): New function.
6991
6992         * elmo-net.el (elmo-message-fetch): Check buffer size.
6993
6994         * elmo-multi.el (elmo-multi-split-number-alist): New function.
6995
6996         * elmo-localdir.el (elmo-folder-append-buffer): Fixed logic.
6997
6998         * elmo-imap4.el (elmo-folder-rename-internal): Send `select' command
6999         before `close' command.
7000
7001         * elmo.el (elmo-folder-list-unreads-internal): Added argument
7002         `mark-alist' (All other related portions are changed).
7003
7004 2001-02-13  Yuuichi Teranishi  <teranisi@gohome.org>
7005
7006         * elmo-util.el (elmo-create-hash-size): Eliminated.
7007         (elmo-make-hash) Make a hash with `one less than a power of two'
7008         length.
7009
7010         * elmo-vars.el (elmo-hash-minimum-size): New variable.
7011         (elmo-hash-maximum-size): Changed value.
7012
7013 2001-02-09  Yuuichi Teranishi  <teranisi@gohome.org>
7014
7015         * elmo-mime.el (elmo-mime-message-display): Added argument `unread'.
7016         (elmo-mime-message-display-as-is): Ditto.
7017
7018 2001-02-07  Yuuichi Teranishi  <teranisi@gohome.org>
7019
7020         * elmo-pipe.el (elmo-pipe-drain): Eliminated needless bindings;
7021         Use `elmo-folder-close-internal' instead of `elmo-folder-close'.
7022
7023 2001-02-06  Yuuichi Teranishi  <teranisi@gohome.org>
7024
7025         * elmo-mark.el: New file.
7026
7027         * elmo-internal.el: Rewrite (Almost empty).
7028
7029 2001-02-05  Yuuichi Teranishi  <teranisi@gohome.org>
7030
7031         * mmimap.el (mmimap-make-mime-entity): Consider message/rfc822.
7032         (mime-imap-entity-header-string): Ditto.
7033         (mmimap-entity-section): Rewrite.
7034
7035 2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
7036
7037         * elmo-nmz.el: New file.
7038
7039         * elmo-pipe.el: Rewrite with luna.
7040
7041 2001-01-29  Yuuichi Teranishi  <teranisi@gohome.org>
7042
7043         * elmo-archive.el: Rewrite with luna.
7044
7045         * elmo-multi.el (elmo-folder-list-unreads-internal): Fixed.
7046         (elmo-folder-list-importants-internal): Ditto.
7047
7048 2001-01-24  Yuuichi Teranishi  <teranisi@gohome.org>
7049
7050         * elmo-archive.el (elmo-archive-version): Abolish.
7051         (toplevel) Removed `boso' comment.
7052
7053 2001-01-23  Yuuichi Teranishi  <teranisi@gohome.org>
7054
7055         * elmo-msgdb.el (elmo-msgdb-add-msgs-to-seen-list): Renamed from
7056         elmo-msgdb-add-msgs-to-seen-list-subr;
7057         Changed argument seen-marks to unread-marks.
7058
7059         * elmo-nntp.el: Rewrite with luna.
7060
7061 2001-01-22  Yuuichi Teranishi  <teranisi@gohome.org>
7062
7063         * elmo-filter.el: Rewrite with luna.
7064
7065 2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>
7066
7067         * elmo-pop3.el: Rewrite with luna.
7068
7069 2001-01-17  Yuuichi Teranishi  <teranisi@gohome.org>
7070
7071         * elmo-multi.el: Rewrite with luna.
7072
7073         * elmo-vars.el (elmo-use-killed-list): Abolish.
7074         All other related portions are changed.
7075         (elmo-filename-replace-string-alist): Renamed from
7076         elmo-msgid-replace-string-alist.
7077
7078 2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>
7079
7080         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument.
7081
7082         * elmo-map.el: New file.
7083         * elmo-maildir.el: Rewrite with luna.
7084
7085 2001-01-14  Yuuichi Teranishi  <teranisi@gohome.org>
7086
7087         * elmo.el: Changed meaning of `elmo-folder-commit'.
7088         * elmo-mime.el (elmo-mime-display-as-is-internal): New function.
7089
7090 2001-01-07  Yuuichi Teranishi  <teranisi@gohome.org>
7091
7092         * elmo.el (elmo-folder-append-buffer): New function.
7093         (Renamed from `elmo-append-msg')
7094
7095 2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>
7096
7097         * elmo-mime.el: New file.
7098
7099 2000-12-14  Yuuichi Teranishi  <teranisi@gohome.org>
7100
7101         * elmo-cache.el: Rewrite.
7102
7103 2000-02-17  Kenichi OKADA  <okada@opaopa.org>
7104
7105         * elmo-pop3.el (elmo-network-authenticate-session): Bind `sasl-mechanisms'
7106
7107 2000-12-08  Yuuichi Teranishi  <teranisi@gohome.org>
7108
7109         * elmo-vars.el (elmo): New group.
7110         (elmo-strict-diff-folder-regexp): New variable.
7111
7112         * elmo-util.el (elmo-call-func): Abolish.
7113         (elmo-folder-get-type): Ditto.
7114         (elmo-*-get-spec): Ditto.
7115         (elmo-*-spec-*): Ditto.
7116         (elmo-imap4-identical-name-space-p): Ditto.
7117         (elmo-folder-identical-system-p): Ditto.
7118         (elmo-folder-direct-copy-alist): Ditto.
7119         (elmo-folder-direct-copy-p): Ditto.
7120
7121         * elmo-pipe.el (elmo-pipe-folder): New luna class.
7122         (elmo-folder-initialize): Define.
7123         (elmo-folder-get-primitive-list): Ditto.
7124
7125         * elmo-nntp.el (elmo-nntp-folder): New luna class.
7126         (elmo-folder-initialize): Define.
7127         Renamed `elmo-network-session-host-internal' to
7128         `elmo-network-session-server-internal'.
7129
7130         * elmo-multi.el (elmo-multi-folder): New luna class.
7131         (elmo-folder-initialize): Define.
7132         (elmo-folder-get-primitive-list): Ditto.
7133         (elmo-folder-contains-type): Ditto.
7134         (elmo-message-use-cache-p): Ditto.
7135
7136         * elmo-msgdb.el (elmo-msgdb-expand-path): Abolish.
7137         Use `elmo-folder-msgdb-path' instead of `elmo-msgdb-expand-path'.
7138
7139         * elmo-maildir.el (elmo-maildir-folder): New luna class.
7140         (elmo-folder-initialize): Define.
7141
7142         * elmo-filter.el (elmo-filter-folder): New luna class.
7143         (elmo-folder-initialize): Define.
7144         (elmo-folder-get-primitive-list): Ditto.
7145         (elmo-folder-contains-type): Ditto.
7146
7147 2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>
7148
7149         * elmo-imap4.el: Rewrite with luna.
7150
7151         * mmimap.el: New file.
7152
7153         * mmelmo.el, mmelmo-imap4.el: Removed.
7154
7155         * elmo-net.el: Ditto.
7156
7157         * elmo-pop3.el (elmo-pop3-folder): New luna class.
7158         (elmo-folder-initialize): Define.
7159
7160         * elmo-archive.el (elmo-archive-folder): New luna class.
7161         (elmo-folder-initialize): Define.
7162
7163         * elmo-dop.el: Rename `elmo-msgdb-expand-path' to
7164         `elmo-folder-msgdb-path'.
7165         (elmo-dop-queue-append): Use `elmo-folder-name-internal' and
7166         `elmo-make-folder'.
7167
7168 2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>
7169
7170         * elmo.el: New file.
7171
7172         * elmo2.el: Renamed to elmo.el.
7173
7174 \f
7175 2001-02-01  OKAZAKI Tetsurou  <okazaki@be.to>
7176
7177         * elmo-cache.el (elmo-cache-expire-by-size): Count
7178         a disk usage for a cache file entry in KB even when
7179         its kind is a directory.
7180
7181 2001-02-01  Yuuichi Teranishi  <teranisi@gohome.org>
7182
7183         * elmo-version.el (elmo-version): Up to 2.5.7.
7184
7185 2001-01-23  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7186
7187         * elmo-version.el (elmo-version): Up to 2.5.6.
7188
7189 2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>
7190
7191         * elmo-version.el (elmo-version): Up to 2.5.5.
7192
7193 2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
7194
7195         * elmo-imap4.el (elmo-network-authenticate-session):
7196         Fixed a logic for response checking.
7197
7198 2000-12-15   Daiki Ueno  <ueno@unixuser.org>
7199
7200         * elmo-net.el: Add autoload settings for `starttls-negotiate',
7201         `sasl-find-mechanism', `sasl-make-client', `sasl-mechanism-name',
7202         `sasl-next-step', `sasl-step-data' and `sasl-step-set-data'; bind
7203         `sasl-mechanisms'.
7204
7205         * elmo-imap4.el: Don't require `sasl'; remove autoload settings
7206         for `starttls-open-stream' and `starttls-negotiate'.
7207
7208         * elmo-nntp.el: Remove autoload settings for
7209         `starttls-open-stream' and `starttls-negotiate'.
7210
7211         * elmo-pop3.el: Don't require `sasl'; remove autoload settings
7212         for `starttls-open-stream' and `starttls-negotiate'; don't enclose
7213         `luna-define-class' with `eval-and-compile'.
7214
7215 2000-12-01  Kenichi OKADA  <okada@opaopa.org>
7216
7217         * elmo-util.el (elmo-read-search-condition-internal):
7218         Require an element of table for searching field.
7219
7220 2000-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
7221
7222         * elmo-version.el (elmo-version): Up to 2.5.4.
7223
7224 2000-11-26  Kenichi OKADA  <okada@opaopa.org>
7225
7226         * elmo-nntp.el (elmo-network-initialize-session): Accept response 20[01].
7227
7228 2000-11-24  Kenichi OKADA  <okada@opaopa.org>
7229
7230         * elmo-nntp.el (elmo-network-initialize-session): omitted.
7231
7232 2000-11-22  Kenichi OKADA  <okada@opaopa.org>
7233
7234         * elmo-nntp.el (elmo-network-initialize-session): Skip garbage output
7235         before greeting.
7236
7237 2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
7238
7239         * elmo-imap4.el (elmo-imap4-delete-folder):
7240         Send "close" before "delete" (Use commented out line).
7241         (elmo-imap4-rename-folder): Ditto.
7242
7243         * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
7244         folder string itself.
7245         (elmo-dop-list-deleted): New function.
7246         (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
7247         killed.
7248
7249         * elmo-util.el (elmo-string-rassoc-all): New function.
7250
7251 2000-11-22  Yuuichi Teranishi  <teranisi@gohome.org>
7252
7253         * elmo-version.el (elmo-version): Up to 2.5.3.
7254
7255         * elmo-net.el (elmo-network-get-session): Changed logic for
7256         checking process status.
7257
7258         * elmo-pop3.el (elmo-network-close-session): Do nothing if session
7259         process is nil;
7260         Changed logic for checking process status.
7261
7262 2000-11-20  Yuuichi Teranishi  <teranisi@gohome.org>
7263
7264         * elmo-pop3.el (elmo-network-initialize-session): Skip garbage output
7265         before greeting.
7266         (elmo-network-setup-session): Set UIDL hash size according to
7267         the length of list response.
7268         (elmo-pop3-parse-list-response): Setup elmo-pop3-size-hash
7269         according to the length of list response;
7270         Return the length of list response.
7271         (Adviced by OKAZAKI Tetsurou <okazaki@be.to>)
7272
7273 2000-11-21  Kenichi OKADA  <okada@opaopa.org>
7274
7275         * elmo-imap4.el (toplevel): Require 'ssl.
7276         Add autoload 'starttls.
7277         * elmo-pop3.el (toplevel): Ditto.
7278         * elmo-nntp.el (toplevel): Ditto.
7279
7280 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7281
7282         * elmo-imap4.el (toplevel): defun at compile time.
7283         sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
7284         sasl-next-step, sasl-step-data, sasl-step-set-data.
7285         * elmo-pop3.el (toplevel): Ditto.
7286
7287 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7288
7289         * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
7290
7291 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7292
7293         * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
7294         if error.
7295         (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
7296         and `elmo-pop-auth-apop'.
7297
7298 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7299
7300         * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
7301
7302 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7303
7304         * elmo-pop3.el (elmo-network-authenticate-session): Split
7305         encoded response value.
7306
7307 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7308
7309         * elmo-pop3.el (elmo-network-authenticate-session): Abolish
7310         `elmo-pop3-force-login'.
7311         Redefine `sasl-mechanisms'.
7312         * elmo-vars.el (elmo-pop3-force-login): Ditto.
7313
7314 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7315
7316         * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
7317         Delete `elmo-imap4-authenticator-alist'.
7318         (elmo-imap4-auth-cram-md5): Delete.
7319         (elmo-imap4-auth-digest-md5): Delete.
7320
7321 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7322
7323         * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
7324         (elmo-pop3-auth-scram-md5): Ditto.
7325         (elmo-pop3-auth-cram-md5): Ditto.
7326
7327 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7328
7329         * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
7330         Delete `elmo-pop3-authenticator-alist'.
7331
7332 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7333
7334         * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
7335         new SASL API.
7336         * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
7337
7338 2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
7339
7340         * elmo-util.el (elmo-folder-local-p): Treat pipe and filter.
7341
7342 2001-01-19  Yuuichi Teranishi  <teranisi@gohome.org>
7343
7344         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
7345         Fixed problem when `elmo-pop3-use-uidl' is nil.
7346         (Reported by Takenobu Sugiyama <sugiyama@ae.advantest.co.jp>)
7347
7348 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7349
7350         * elmo-version.el (elmo-version): Up to 2.5.2.
7351
7352 2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>
7353
7354         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
7355         New function.
7356         (elmo-pop3-sort-msgdb-by-original-number): Ditto.
7357         (elmo-pop3-msgdb-create-as-numlist): Use it.
7358
7359         * elmo-imap4.el (elmo-imap4-arrival-filter): Check process-buffer.
7360         (Based on the report by AMAKAWA Shuhei <sa264@cam.ac.uk>)
7361
7362         * elmo-pop3.el (elmo-pop3-msgdb-create-as-numlist): Sort msgdb by date.
7363         (Pointed out by Mikiya Tani <m-tani@hml.cl.nec.co.jp>)
7364
7365 2001-01-13 Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
7366
7367         * elmo2.el (elmo-make-folder-numbers-list): Fixed problem
7368         when elmo-mark-as-read is called with second argument nil.
7369
7370 2001-01-12  Yuuichi Teranishi  <teranisi@gohome.org>
7371
7372         * elmo-pipe.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
7373         Moved to elmo-util.el.
7374
7375         * elmo-util.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
7376         Moved from elmo-pipe.el
7377
7378         * elmo-archive.el (elmo-archive-call-process): Enclose with
7379         static-if.
7380
7381         * elmo-imap4.el (elmo-imap4-read-msg): Use "BODY[]" instead of
7382         "RFC822" (because RFC822.PEEK is obsolete).
7383         (Adviced by IMAI Takeshi <imai@on.rim.or.jp>)
7384
7385 2001-01-10  Katsumi Yamaoka    <yamaoka@jpl.org>
7386
7387         * elmo-archive.el (elmo-archive-call-process): Don't check for
7388         the exit status when Nemacs is running.
7389
7390 2001-01-09  Yuuichi Teranishi  <teranisi@gohome.org>
7391
7392         * elmo-net.el (elmo-network-session-password-key): Don't set default to
7393         'plain.
7394
7395         * elmo-util.el (elmo-imap4-get-spec): Set default of auth to 'clear.
7396         (elmo-pop3-get-spec): Set default of auth to 'user.
7397
7398         * elmo-imap4.el (elmo-imap4-session-check):
7399         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
7400         (elmo-imap4-clear-login): New function; Renamed from `elmo-imap4-login'.
7401         (elmo-imap4-auth-login): New function; Revival.
7402         (elmo-network-authenticate-session): Use `elmo-imap4-clear-login' and
7403         `elmo-imap4-auth-login'.
7404
7405 2000-12-29  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7406
7407         * elmo2.el (toplevel): Move `product-provide' declare.
7408         * mmelmo.el (toplevel): Ditto.
7409
7410 2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
7411
7412         * elmo-util.el (elmo-folder-get-store-type): Rewrite.
7413
7414 2000-12-26  OKAZAKI Tetsurou <okazaki@be.to>
7415
7416         * elmo-util.el (elmo-folder-get-store-type): New function.
7417         (elmo-folder-direct-copy-p): Use it.
7418
7419 2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
7420
7421         * elmo-imap4.el (elmo-imap4-msgdb-create): Set
7422         `elmo-imap4-fetch-callback-data' as a cons cell of `args'
7423         and result of `elmo-imap4-use-flag-p'.
7424         (elmo-imap4-fetch-callback-1): Set mark according to
7425         the result of `elmo-imap4-use-flag-p'.
7426
7427 2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
7428
7429         * elmo-msgdb.el (elmo-generic-folder-diff): Moved from elmo2.el
7430         (elmo-generic-list-folder-unread): Ditto.
7431         (elmo-folder-get-info): Ditto.
7432         (elmo-folder-set-info-max-by-numdb): Ditto.
7433         (elmo-folder-get-info-max): Ditto.
7434         (elmo-folder-get-info-length): Ditto.
7435         (elmo-folder-get-info-unread): Ditto.
7436         (elmo-folder-info-make-hashtb): Ditto.
7437
7438         * elmo2.el: Removed above functions.
7439
7440 2000-11-21  Kenichi OKADA  <okada@opaopa.org>
7441
7442         * elmo-imap4.el (toplevel): Require 'ssl.
7443         Add autoload 'starttls.
7444         * elmo-pop3.el (toplevel): Ditto.
7445         * elmo-nntp.el (toplevel): Ditto.
7446
7447 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7448
7449         * elmo-imap4.el (toplevel): defun at compile time.
7450         sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
7451         sasl-next-step, sasl-step-data, sasl-step-set-data.
7452         * elmo-pop3.el (toplevel): Ditto.
7453
7454 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7455
7456         * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
7457
7458 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7459
7460         * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
7461         if error.
7462         (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
7463         and `elmo-pop-auth-apop'.
7464
7465 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7466
7467         * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
7468
7469 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7470
7471         * elmo-pop3.el (elmo-network-authenticate-session): Split
7472         encoded response value.
7473
7474 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7475
7476         * elmo-pop3.el (elmo-network-authenticate-session): Abolish
7477         `elmo-pop3-force-login'.
7478         Redefine `sasl-mechanisms'.
7479         * elmo-vars.el (elmo-pop3-force-login): Ditto.
7480
7481 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7482
7483         * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
7484         Delete `elmo-imap4-authenticator-alist'.
7485         (elmo-imap4-auth-cram-md5): Delete.
7486         (elmo-imap4-auth-digest-md5): Delete.
7487
7488 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7489
7490         * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
7491         (elmo-pop3-auth-scram-md5): Ditto.
7492         (elmo-pop3-auth-cram-md5): Ditto.
7493
7494 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7495
7496         * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
7497         Delete `elmo-pop3-authenticator-alist'.
7498
7499 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7500
7501         * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
7502         new SASL API.
7503         * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
7504
7505 \f
7506 2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>
7507
7508         * elmo-nntp.el (elmo-nntp-get-folders-info): Fixed last change.
7509
7510 2000-12-01  Yuuichi Teranishi  <teranisi@gohome.org>
7511
7512         * elmo-nntp.el (elmo-nntp-get-folders-info):
7513         Fixed problem when '\' character is contained in user-id.
7514         (Reported by Yoichiro Okabe <okabe@wizsoft.co.jp>)
7515
7516 \f
7517 2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
7518
7519         * elmo-imap4.el (elmo-imap4-delete-folder):
7520         Send "close" before "delete" (Use commented out line).
7521         (elmo-imap4-rename-folder): Ditto.
7522
7523         * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
7524         folder string itself.
7525         (elmo-dop-list-deleted): New function.
7526         (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
7527         killed.
7528
7529         * elmo-util.el (elmo-string-rassoc-all): New function.
7530
7531         * elmo-version.el (elmo-version): Up to 2.5.1.
7532
7533 2000-11-13  Yuuichi Teranishi  <teranisi@gohome.org>
7534
7535         * elmo-pop3.el (elmo-pop3-folder-exists-p): Don't use UIDL.
7536
7537         * elmo-internal.el (elmo-internal-search): Fix last change.
7538
7539 2000-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
7540
7541         * elmo-internal.el (elmo-internal-search): Rewrite.
7542         (Fixed problem which is pointed out by Akihiro MOTOKI
7543         <motoki@da.jp.nec.com>)
7544
7545         * elmo-version.el (elmo-version): Up to 2.5.0.
7546
7547 2000-11-06  Kenichi OKADA  <okada@opaopa.org>
7548
7549         * elmo-imap4.el (elmo-imap4-list-folders): Append authenticate-type.
7550
7551 2000-11-06  Kenichi OKADA  <okada@opaopa.org>
7552
7553         * elmo-imap4.el (elmo-imap4-list-folders): When hierarchy is
7554         non-nil, make hierarchy.
7555
7556 2000-11-05  OKAZAKI Tetsurou  <okazaki@be.to>
7557
7558         * elmo-pipe.el (elmo-pipe-drain): When calling `elmo-list-folder',
7559         `elmo-pop3-use-uidl' must be bound to nil.
7560         (Pointed out by Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>)
7561
7562 2000-11-02  Yuuichi Teranishi  <teranisi@gohome.org>
7563
7564         * elmo-util.el (elmo-copy-file): Don't cause an error after
7565         `add-name-to-file' failed.
7566
7567         * elmo-pipe.el (elmo-pipe-drain): List folder before loading msgdb.
7568         (Fix by HIROSE Yuuji <yuuji@gentei.org>)
7569
7570 2000-11-01  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7571
7572         * elmo-version.el (elmo-version): Up to 2.3.93.
7573
7574 2000-11-01  Yuuichi Teranishi  <teranisi@gohome.org>
7575
7576         * elmo-util.el (elmo-flatten): New function.
7577
7578 2000-10-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7579
7580         * elmo-archive.el (toplevel): Added (C) to copyright notice, and
7581         sync Author header.
7582         * elmo-cache.el (toplevel): Ditto.
7583         * elmo-database.el (toplevel): Ditto.
7584         * elmo-date.el (toplevel): Ditto.
7585         * elmo-dop.el (toplevel): Ditto.
7586         * elmo-filter.el (toplevel): Ditto.
7587         * elmo-imap4.el (toplevel): Ditto.
7588         * elmo-internal.el (toplevel): Ditto.
7589         * elmo-localdir.el (toplevel): Ditto.
7590         * elmo-localnews.el (toplevel): Ditto.
7591         * elmo-maildir.el (toplevel): Ditto.
7592         * elmo-msgdb.el (toplevel): Ditto.
7593         * elmo-multi.el (toplevel): Ditto.
7594         * elmo-net.el (toplevel): Ditto.
7595         * elmo-nntp.el (toplevel): Ditto.
7596         * elmo-pipe.el (toplevel): Ditto.
7597         * elmo-pop3.el (toplevel): Ditto.
7598         * elmo-util.el (toplevel): Ditto.
7599         * elmo-vars.el (toplevel): Ditto.
7600         * elmo2.el (toplevel): Ditto.
7601         * mmelmo-imap4.el (toplevel): Ditto.
7602         * mmelmo.el (toplevel): Ditto.
7603
7604         * elmo-version.el (elmo-version): Move to top.
7605
7606         * elmo-cache.el (toplevel): Fixed multiple Author header format.
7607         * elmo-imap4.el (toplevel): Ditto.
7608         * elmo-localdir.el (toplevel): Ditto.
7609         * elmo-msgdb.el (toplevel): Ditto.
7610         * elmo-nntp.el (toplevel): Ditto.
7611         * elmo-pop3.el (toplevel): Ditto.
7612         * elmo-version.el (toplevel): Ditto.
7613
7614         * elmo-localnews.el (toplevel): Added Keyword header.
7615
7616 2000-10-31  Yuuichi Teranishi  <teranisi@gohome.org>
7617
7618         * elmo-version.el (product-version-as-string): Defined using
7619         `defun-maybe'.
7620         (toplevel): Use it.
7621
7622         * elmo-localdir.el (toplevel): Updated copyright notice.
7623         * elmo-version.el (toplevel): Ditto.
7624         * elmo-msgdb.el (toplevel): Ditto.
7625         * elmo-imap4.el (toplevel): Ditto.
7626         * elmo-nntp.el (toplevel): Ditto.
7627         * elmo-pop3.el (toplevel): Ditto.
7628
7629 2000-10-30  Yuuichi Teranishi  <teranisi@gohome.org>
7630
7631         * elmo-pipe.el (elmo-pipe-drain): Don't save msgdb after moving
7632         messages.
7633
7634         * mmelmo.el (mime-parse-parameters-from-list): Don't downcase
7635         parameter value (It sometimes contains raw kanji).
7636
7637 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7638
7639         * elmo-imap4.el (elmo-network-initialize-session): Check capability.
7640         * elmo-pop3.el (elmo-network-initialize-session): Ditto.
7641
7642 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7643
7644         * elmo-imap4.el (elmo-network-initialize-session): Fix.
7645
7646 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7647
7648         * elmo-imap4.el (elmo-network-initialize-session): Change error message.
7649         * elmo-pop3.el (elmo-network-initialize-session): Change error message.
7650
7651 2000-10-27  Yuuichi Teranishi  <teranisi@gohome.org>
7652
7653         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Return response
7654         value if selecting folder succceeded.
7655         (Advised by MII Kazuyoshi <mii@isl.ntt.co.jp> for prom-wl.)
7656
7657 2000-10-26  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7658
7659         * elmo-util.el (elmo-make-directory): Fixed permission lateral
7660         representation.
7661
7662         * elmo-util.el (elmo-string-matched-member): New function.
7663
7664 2000-10-26  Yuuichi Teranishi  <teranisi@gohome.org>
7665
7666         * elmo-util.el (elmo-unintern): New macro.
7667         (elmo-number-set-member): Fixed docstring.
7668
7669         * elmo-imap4.el (elmo-imap4-parse-response): Call `elmo-unintern' for
7670         tag token.
7671
7672 2000-10-25  OKAZAKI Tetsurou  <okazaki@be.to>
7673
7674         * elmo-imap4.el (elmo-imap4-client-eol): Remove duplicated defvar
7675         of `elmo-imap4-status' and `elmo-imap4-reached-tag'.
7676
7677 2000-10-24  Yuuichi Teranishi  <teranisi@gohome.org>
7678
7679         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Added argument
7680         `no-error'.
7681         Added docstring.
7682         Return non-nil if selecting folder succeeded.
7683         (elmo-imap4-folder-exists-p): Call with argument 'no-error.
7684
7685 2000-10-23  Yuuichi Teranishi  <teranisi@gohome.org>
7686
7687         * elmo-maildir.el (elmo-maildir-get-filename): Fixed problem when
7688         `file-name-completion' returns t.
7689         (Reported by Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>)
7690         (elmo-maildir-set-mark): Put `info' part to the files in the cur
7691         directory if it does not exist.
7692         (elmo-maildir-update-current): Use `while' instead of `mapcar'
7693         for iteration.
7694
7695 2000-10-20  Yuuichi Teranishi  <teranisi@gohome.org>
7696
7697         * elmo-imap4.el (elmo-imap4-folder-exists-p): Removed `condition-case'
7698         enclosure (It's harmful in unplugged status).
7699
7700         * elmo-pop3.el (elmo-pop3-folder-exists-p): Ditto.
7701
7702         * mmelmo-1.el: Removed.
7703
7704         * mmelmo-2.el: Ditto.
7705
7706         * mmelmo-imap4-1.el: Ditto.
7707
7708         * mmelmo-imap4-2.el: Ditto.
7709
7710         * mmelmo-imap4.el: Merged mmelmo-imap4-2.el
7711
7712         * mmelmo.el: Merged mmelmo-2.el.
7713
7714         * elmo-version.el (elmo-version): Up to 2.3.92.
7715
7716 2000-10-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7717
7718         * elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
7719         elmo-update-number): Remove last period in "...done." message.
7720         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
7721         Ditto.
7722         * elmo-cache.el (elmo-cache-expire-by-size,
7723         elmo-cache-get-sorted-cache-file-list,
7724         elmo-cache-msgdb-create-as-numlist): Ditto.
7725         * elmo-dop.el (elmo-dop-save-pending-messages,
7726         (elmo-dop-flush-pending-append-operations): Ditto.
7727         * elmo-imap4.el (elmo-imap4-msgdb-create): Ditto.
7728         * elmo-internal.el (elmo-internal-msgdb-create): Ditto.
7729         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist,
7730         (elmo-localdir-pack-number): Ditto.
7731         * elmo-maildir.el (elmo-maildir-msgdb-create): Ditto.
7732         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Ditto.
7733         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer,
7734         mime-write-entity-content): Ditto.
7735         * pldap.el (ldap-search-basic): Ditto.
7736
7737 2000-10-18  Yuuichi Teranishi  <teranisi@gohome.org>
7738
7739         * elmo-version.el (elmo-version): Up to 2.3.91.
7740
7741         * elmo-filter.el (elmo-filter-folder-diff): Use target folder's diff
7742         Only when filter is 'last'.
7743
7744         * elmo-util.el (elmo-condition-atom-regexp): New constant.
7745         (elmo-condition-parse-search-value): Use it.
7746         (elmo-read-search-condition-internal): Quote value only when
7747         it is not an atom.
7748
7749 2000-10-18  Kenichi OKADA  <okada@opaopa.org>
7750
7751         * elmo2.el (elmo-generic-folder-diff): Fix.
7752
7753 2000-10-17  Kenichi OKADA  <okada@opaopa.org>
7754
7755         * elmo-msgdb.el (elmo-msgdb-killed-list-length): New function.
7756         * elmo-localdir.el (elmo-localdir-list-folder-subr): Fix.
7757         * elmo-maildir.el (elmo-maildir-list-folder-subr): Fix.
7758         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
7759         * elmo-internal.el (elmo-internal-list-folder-subr): Fix.
7760         * elmo-imap4.el (elmo-imap4-max-of-folder): Fix.
7761
7762 2000-10-17  Akihiro MOTOKI <motoki@da.jp.nec.com>
7763
7764         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Search by
7765         extra-fields.
7766
7767 2000-10-17  Yuuichi Teranishi  <teranisi@gohome.org>
7768
7769         * elmo-version.el (elmo-version): Up to 2.3.90.
7770
7771         * elmo-imap4.el (elmo-imap4-list-folder-unread): Check plugged status.
7772         (elmo-imap4-list-folder-important): Ditto.
7773
7774 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
7775
7776         * elmo-nntp.el (elmo-network-initialize-session): Fix.
7777
7778 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
7779
7780         * elmo-nntp.el (elmo-nntp-read-msg): Don't error.
7781
7782 2000-10-15  Kenichi OKADA  <okada@opaopa.org>
7783
7784         * elmo-nntp.el (elmo-network-initialize-session):
7785         Add starttls negotiation.
7786
7787 2000-10-15  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
7788
7789         * elmo-nntp.el (elmo-network-initialize-session): Read greeting
7790         response.
7791         (elmo-network-setup-session): Define.
7792         Call `elmo-nntp-send-mode-reader' when session opened.
7793
7794 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
7795
7796         * elmo-multi.el (elmo-multi-list-folder-unread): Fixed.
7797
7798 2000-10-13  OKAZAKI Tetsurou  <okazaki@be.to>
7799
7800         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Remove
7801         an invalid SPACE character ahead of `SEARCH' command.  Move
7802         a valid SPACE character following `SEARCH' from conditional
7803         `format' arguments to control-strings.
7804
7805 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
7806
7807         * elmo2.el (elmo-call-func-on-markable-msgs): Return t if marking
7808         was succeeded.
7809
7810         * elmo-util.el (elmo-folder-get-spec): Enclose with save-match-data.
7811
7812 2000-10-12  Yuuichi Teranishi  <teranisi@gohome.org>
7813
7814         * elmo-localdir.el (elmo-localdir-list-folders-subr): Bind
7815         `w32-get-true-file-link-count' as t.
7816
7817         * elmo-imap4.el (elmo-imap4-read): Abolished.
7818         (Renamed to `elmo-read' and moved to elmo-util.el)
7819         All other related portions are changed.
7820
7821         * elmo-util.el (elmo-read): New function.
7822         (elmo-condition-parse-search-value): Use it.
7823
7824 2000-10-11  Yuuichi Teranishi  <teranisi@gohome.org>
7825
7826         * elmo2.el (elmo-quit): Don't use `elmo-nntp-flush-connection'.
7827
7828         * elmo-nntp.el (elmo-nntp-session): Define.
7829         (elmo-nntp-setting): Abolished.
7830         All other related portions are changed.
7831         (elmo-nntp-get-server-command): Changed argument.
7832         (elmo-nntp-set-server-command): Ditto.
7833         (elmo-nntp-xover-p): Ditto.
7834         (elmo-nntp-set-xover): Ditto.
7835         (elmo-nntp-listgroup-p): Ditto.
7836         (elmo-nntp-set-listgroup): Ditto.
7837         (elmo-nntp-list-active-p): Ditto.
7838         (elmo-nntp-set-list-active): Ditto.
7839         (elmo-nntp-xhdr-p): Ditto.
7840         (elmo-nntp-set-xhdr): Ditto.
7841         (elmo-nntp-flush-connection): Abolished.
7842         (elmo-nntp-get-connection): Abolished.
7843         (elmo-nntp-get-session): New function.
7844         (elmo-network-initialize-session): Defined.
7845         (elmo-network-authenticate-session): Ditto.
7846         (elmo-nntp-send-mode-reader): Changed argument.
7847         (elmo-nntp-send-command): Changed argument.
7848         All other related portions are changed.
7849         (elmo-nntp-read-response): Ditto.
7850         (elmo-nntp-read-raw-response): Ditto.
7851         (elmo-nntp-read-contents): Ditto.
7852         (elmo-nntp-read-body): Ditto.
7853         (elmo-nntp-goto-folder): Abolished.
7854         (elmo-nntp-select-group): New function.
7855         All other related portions are changed.
7856         (This function substitutes `elmo-nntp-goto-folder')
7857         (elmo-nntp-msgdb-create-by-header): Rewrite.
7858         (elmo-nntp-get-overview): Eliminated.
7859         (elmo-nntp-get-message): Ditto.
7860         (elmo-nntp-open-connection) Abolished.
7861         (elmo-nntp-read-msg): Rewrite.
7862         (elmo-nntp-post): Ditto.
7863         (elmo-nntp-send-data): Abolished.
7864         (elmo-nntp-send-buffer): New function.
7865         (elmo-nntp-send-data-line): Define as inline function.
7866         (elmo-nntp-get-folders-info-prepare): Use session as key.
7867         (elmo-nntp-groups-read-response): Changed argument.
7868         (elmo-nntp-retrieve-headers): Ditto.
7869         (elmo-nntp-msgdb-create-message): Ditto.
7870
7871         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Fixed problem
7872         when searching by 'since' or 'before'.
7873
7874 2000-10-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7875
7876         * elmo-version.el (toplevel): Use product-version-as-string for set
7877         verstion-string, if defined.
7878
7879 2000-10-11  OKAZAKI Tetsurou  <okazaki@be.to>
7880
7881         * elmo-util.el: Doc fixes.
7882
7883 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7884
7885         * elmo-archive.el (toplevel): Use product-provide.
7886         * elmo-cache.el (toplevel): Ditto.
7887         * elmo-database.el (toplevel): Ditto.
7888         * elmo-date.el (toplevel): Ditto.
7889         * elmo-dop.el (toplevel): Ditto.
7890         * elmo-filter.el (toplevel): Ditto.
7891         * elmo-imap4.el (toplevel): Ditto.
7892         * elmo-internal.el (toplevel): Ditto.
7893         * elmo-localdir.el (toplevel): Ditto.
7894         * elmo-localnews.el (toplevel): Ditto.
7895         * elmo-maildir.el (toplevel): Ditto.
7896         * elmo-msgdb.el (toplevel): Ditto.
7897         * elmo-multi.el (toplevel): Ditto.
7898         * elmo-net.el (toplevel): Ditto.
7899         * elmo-nntp.el (toplevel): Ditto.
7900         * elmo-pipe.el (toplevel): Ditto.
7901         * elmo-pop3.el (toplevel): Ditto.
7902         * elmo-util.el (toplevel): Ditto.
7903         * elmo-vars.el (toplevel): Ditto.
7904         * elmo2.el (toplevel): Ditto.
7905         * mmelmo-1.el (toplevel): Ditto.
7906         * mmelmo-2.el (toplevel): Ditto.
7907         * mmelmo-imap4-1.el (toplevel): Ditto.
7908         * mmelmo-imap4-2.el (toplevel): Ditto.
7909         * mmelmo-imap4.el (toplevel): Ditto.
7910         * mmelmo.el (toplevel): Ditto.
7911
7912 2000-10-10  Kenichi OKADA  <okada@opaopa.org>
7913
7914         * elmo-dop.el (elmo-dop-flush-pending-append-operations): Add no-see.
7915         (elmo-dop-call-func-on-msgs): Don't delete appends from msgs.
7916
7917 2000-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
7918
7919         * elmo-multi.el (elmo-multi-split-mark-alist): Copy and sort alist
7920         before splitting.
7921         (elmo-multi-split-number-alist): Ditto.
7922
7923 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7924
7925         * elmo-version.el: New file.  Use product.el.
7926         * elmo2.el: Add (require 'elmo-version).
7927         * elmo-vars.el (elmo-appname, elmo-version): Move to
7928         elmo-version.el
7929
7930 2000-10-09  Yuuichi Teranishi  <teranisi@gohome.org>
7931
7932         * elmo2.el (elmo-copy-msgs): Set `spec' as 1st argument for
7933         `elmo-msgdb-expand-path'.
7934         (elmo-msgdb-load): Ditto.
7935         Abolished 2nd argument. If 1st argument is not string, treat as spec.
7936         (elmo-generic-list-folder-unread): Rewrite.
7937         (elmo-generic-list-folder-important): Changed argument.
7938         (elmo-list-folder-unread): Ditto.
7939         (elmo-list-folder-important): Ditto.
7940         (elmo-folder-diff): Rewrite.
7941         (elmo-generic-folder-diff): New function.
7942         (elmo-multi-get-number-alist-list): Abolished
7943         (Renamed to elmo-multi-split-number-alist and moved to elmo-multi.el)
7944         (elmo-multi-folder-diff): Moved to elmo-multi.el
7945         (toplevel): Removed autoload setting of `elmo-multi-folder-diff'.
7946
7947         * elmo-pop3.el (elmo-pop3-list-folder): Set `spec' as 1st argument for
7948         `elmo-msgdb-expand-path'.
7949         (elmo-pop3-msgdb-create-as-numlist): Ditto.
7950         (elmo-pop3-read-msg): Ditto.
7951         (elmo-pop3-delete-msgs): Ditto.
7952         (elmo-pop3-folder-diff): New alias.
7953
7954         * elmo-pipe.el (elmo-pipe-list-folder): Set `spec' as 1st argument for
7955         `elmo-msgdb-expand-path'.
7956         (elmo-pipe-list-folder-unread): Changed arguments.
7957         (elmo-pipe-list-folder-important): Ditto.
7958         (elmo-pipe-folder-diff): New alias.
7959
7960         * elmo-nntp.el (elmo-nntp-list-folder): Set `spec' as 1st argument for
7961         `elmo-msgdb-expand-path'.
7962         (elmo-nntp-max-of-folder): Ditto.
7963         (elmo-nntp-msgdb-create): Ditto.
7964         (elmo-nntp-delete-msgs): Ditto.
7965         (elmo-nntp-folder-diff): New alias.
7966
7967         * elmo-multi.el (elmo-multi-folder-diff): New function.
7968         (elmo-multi-split-mark-alist): Ditto.
7969         (elmo-multi-split-number-alist): Ditto.
7970         (elmo-multi-mark-alist-list): Abolished (Renamed to
7971         elmo-multi-split-mark-alist).
7972         (elmo-multi-list-folder-unread): Rewrite.
7973         (elmo-multi-list-folder-important): Ditto.
7974         (elmo-multi-list-folder): Set `spec' as 1st argument for
7975         `elmo-msgdb-expand-path'.
7976         (elmo-multi-sync-number-alist): Use `elmo-multi-split-number-alist'
7977         instead of `elmo-multi-get-number-alist-list'.
7978
7979         * elmo-msgdb.el (elmo-msgdb-expand-path): Abolished 2nd argument.
7980         If 1st argument is not string, treat as spec.
7981         (elmo-list-folder-by-location): Set `spec' as 1st argument for
7982         `elmo-msgdb-expand-path'.
7983         (elmo-msgdb-flist-load): Ditto.
7984         (elmo-msgdb-flist-save): Ditto.
7985         (elmo-msgdb-delete-path): Ditto.
7986         (elmo-msgdb-rename-path): Ditto.
7987
7988         * elmo-maildir.el (elmo-maildir-set-mark-msgs):
7989         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
7990         (elmo-maildir-delete-mark-msgs): Ditto.
7991         (elmo-maildir-msgdb-create): Ditto.
7992         (elmo-maildir-read-msg): Ditto.
7993         (elmo-maildir-delete-msgs): Ditto.
7994         (elmo-maildir-list-folder-subr): Ditto.
7995         (elmo-maildir-search): Ditto.
7996         (elmo-maildir-get-msg-filename): Ditto.
7997         (elmo-maildir-pack-number): Ditto.
7998         (elmo-maildir-folder-diff): New alias.
7999
8000         * elmo-localnews.el (elmo-localnews-folder-diff): New alias.
8001
8002         * elmo-localdir.el (elmo-localdir-list-folder-subr):
8003         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8004         (elmo-localdir-folder-diff): New alias.
8005
8006         * elmo-internal.el (elmo-internal-list-folder-subr):
8007         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8008         (elmo-internal-list-folder-by-location): Ditto.
8009         (elmo-internal-msgdb-create): Ditto.
8010         (elmo-internal-delete-msgs): Ditto.
8011         (elmo-internal-read-msg): Ditto.
8012         (elmo-internal-folder-diff): New alias.
8013
8014         * elmo-imap4.el (elmo-imap4-folder-diff): New function.
8015         (elmo-imap4-list-folder): Set `spec' as 1st argument for
8016         `elmo-msgdb-expand-path'.
8017         (elmo-imap4-list-folder-unread): Changed arguments.
8018         (elmo-imap4-list-folder-important): Ditto.
8019
8020         * elmo-filter.el (elmo-filter-list-folder-unread): Changed arguments.
8021         (elmo-filter-list-folder-important): Ditto.
8022         (elmo-filter-folder-diff): New function.
8023
8024         * elmo-dop.el (elmo-dop-folder-exists-p): Check elmo directory first.
8025
8026         * elmo-cache.el (elmo-cache-list-folder):
8027         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8028         (elmo-cache-copy-msgs): Ditto.
8029         (elmo-cache-folder-diff): New alias.
8030
8031         * elmo-archive.el (elmo-archive-list-folder-subr):
8032         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8033         (elmo-archive-get-archive-name): Ditto.
8034         (elmo-archive-create-file): Ditto.
8035         (elmo-archive-append-msg): Ditto.
8036         (elmo-archive-copy-msgs): Ditto.
8037         (elmo-archive-copy-msgs-froms): Ditto.
8038         (elmo-archive-get-msg-filename): Ditto.
8039         (elmo-archive-folder-diff): New alias.
8040
8041 2000-10-06   Daiki Ueno  <ueno@unixuser.org>
8042
8043         * elmo-vars.el (elmo-imap4-stream-type-alist): New variable.
8044         (elmo-pop3-stream-type-alist): New variable.
8045         (elmo-nntp-stream-type-alist): New variable.
8046
8047         * elmo-util.el (elmo-buffer-exists-p): Rewrite as function.
8048         (elmo-kill-buffer): Ditto.
8049         (elmo-get-network-stream-type): Add 2nd argument `stream-type-alist'.
8050         (elmo-network-get-spec): Add 5th argument `stream-type-alist'.
8051         (elmo-nntp-get-spec): Take into account `elmo-nntp-stream-type-alist'.
8052         (elmo-pop3-get-spec): Take into account `elmo-pop3-stream-type-alist'.
8053         (elmo-imap4-get-spec): Take into account
8054         `elmo-imap4-stream-type-alist'.
8055
8056 2000-10-06  Kenichi OKADA  <okada@opaopa.org>
8057
8058         * elmo-nntp.el (elmo-nntp-list-folders): Fix for `-/'
8059         (elmo-nntp-list-folders-get-cache): Ditto.
8060
8061 2000-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
8062
8063         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added space
8064         character before 'uid'.
8065
8066 2000-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
8067
8068         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Don't save location data.
8069
8070         * elmo-nntp.el (elmo-nntp-max-of-folder): Fixed.
8071
8072         * elmo-util.el (elmo-number-set-member): New function.
8073         (elmo-number-set-append-list): Ditto.
8074         (elmo-number-set-append): Ditto.
8075
8076         * elmo-msgdb.el (elmo-msgdb-killed-message-p):
8077         Use `elmo-number-set-member'.
8078         (elmo-living-messages): Ditto.
8079         (elmo-msgdb-set-as-killed): Use `elmo-number-set-append'.
8080         (elmo-msgdb-append-to-killed-list): Use `elmo-number-set-append-list'.
8081
8082         * elmo-imap4.el (elmo-imap4-folder-exists-p): Rewrite.
8083         (elmo-imap4-add-to-cont-list): Abolished.
8084         (elmo-imap4-make-number-set-list): Use `elmo-number-set-append'
8085         instead of elmo-imap4-add-to-cont-list.
8086
8087         * elmo2.el (elmo-msgdb-search): Moved from elmo-msgdb.el.
8088         (toplevel): Removed autoload setting for `elmo-imap4-get-connection'.
8089
8090         * elmo-msgdb.el (elmo-msgdb-search): Moved to elmo2.el.
8091
8092 2000-10-03  Hiroya Murata      <lapis-lazuli@pop06.odn.ne.jp>
8093
8094         * elmo-util.el (elmo-condition-parse-search-value):
8095         Fixed date parsing.
8096
8097 2000-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
8098
8099         * elmo-util.el (elmo-condition-find-key-internal): New function.
8100         (elmo-condition-find-key): Ditto.
8101
8102         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): New function.
8103         (elmo-msgdb-search-internal): Ditto.
8104         (elmo-msgdb-search): Ditto.
8105
8106 2000-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
8107
8108         * elmo-util.el (elmo-cross-device-link-error-p): Abolished.
8109         (elmo-copy-file): Uncheck error condition for `add-name-to-file'.
8110
8111         * elmo-nntp.el (elmo-nntp-search-primitive): Decode header field.
8112         (elmo-nntp-search-primitive): Fixed problem when condition is
8113         'unmatch'.
8114
8115         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed.
8116
8117         * elmo-nntp.el (elmo-nntp-default-use-xhdr): New variable.
8118         (elmo-nntp-xhdr-p): New macro.
8119         (elmo-nntp-set-xhdr): Ditto.
8120         (elmo-nntp-parse-xhdr-response): New function.
8121         (elmo-nntp-retrieve-field): Ditto.
8122         (elmo-nntp-search-primitive): Ditto.
8123         (elmo-nntp-search): Implemented.
8124
8125         * elmo-date.el (elmo-date-make-sortable-string): New macro.
8126
8127         * elmo-archive.el (elmo-archive-search): Set all number list to
8128         `elmo-archive-field-condition-match'
8129
8130         * elmo-localdir.el (elmo-localdir-search): Likewise.
8131
8132         * elmo-maildir.el (elmo-maildir-search): Likewise.
8133
8134 2000-10-01  OKAZAKI Tetsurou  <okazaki@be.to>
8135
8136         * elmo-msgdb.el (elmo-living-messages): New function.
8137         * elmo-archive.el (elmo-archive-list-folder-subr): Use it.
8138         * elmo-cache.el (elmo-cache-list-folder): Ditto.
8139         * elmo-dop.el (elmo-dop-list-folder): Ditto.
8140         * elmo-imap4.el (elmo-imap4-list-folder): Ditto.
8141         * elmo-internal.el (elmo-internal-list-folder-subr): Ditto.
8142         * elmo-localdir.el (elmo-localdir-list-folder-subr): Ditto.
8143         * elmo-maildir.el (elmo-maildir-list-folder-subr): Ditto.
8144         * elmo-multi.el (elmo-multi-list-folder): Ditto.
8145         * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
8146         * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
8147         * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
8148
8149 2000-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
8150
8151         * elmo-maildir.el (elmo-maildir-pack-number): Implemented.
8152
8153         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.
8154
8155         * elmo2.el (elmo-pack-number): Added 'maildir as allowd type.
8156
8157         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
8158         arguments for `SEARCH' command.
8159         (elmo-imap4-parse-string): Set `POS' argument for char-after.
8160         All other related portions are changed.
8161
8162         * elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.
8163
8164         * elmo2.el (elmo-generic-list-folder-unread): Rewrite.
8165         (elmo-list-folder-unread): Rewrite.
8166         (elmo-list-folder-important): Ditto.
8167
8168         * elmo-util.el (elmo-filter-get-spec): Rewrite.
8169         (elmo-condition-parse-error): New inline function.
8170         (elmo-read-search-condition): New function.
8171         (elmo-read-search-condition-internal): Ditto.
8172         (elmo-parse-search-condition): Rewrite.
8173         (elmo-condition-parse): New function.
8174         (elmo-condition-parse-or-expr): Ditto.
8175         (elmo-condition-parse-and-expr): Ditto.
8176         (elmo-condition-parse-primitive): Ditto.
8177         (elmo-condition-parse-search-value): Ditto.
8178         (elmo-buffer-field-primitive-condition-match): Ditto.
8179         (elmo-buffer-field-condition-match): Rewrite.
8180         (elmo-file-field-condition-match): Ditto.
8181
8182         * elmo-msgdb.el (elmo-msgdb-expand-path): Use
8183         `elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.
8184
8185         * elmo-internal.el (elmo-internal-search): Set `number' and
8186         `number-list' argument of `elmo-file-field-condition-match'.
8187
8188         * elmo-maildir.el (elmo-maildir-search): Ditto.
8189
8190         * elmo-imap4.el (elmo-imap4-list-folder-unread): Use
8191         `msgdb' as argument instead of `mark-alist'.
8192         (elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
8193         `overview'.
8194
8195         * elmo-multi.el: Likewise.
8196
8197         * elmo-pipe.el: Likewise.
8198
8199         * elmo-imap4.el (elmo-imap4-search-internal-primitive): New function.
8200         (elmo-imap4-search-internal): Rewrite.
8201         (elmo-imap4-search): Ditto.
8202
8203         * elmo-filter.el (elmo-filter-list-folder): Rewrite.
8204         (elmo-filter-list-folder-unread): Ditto.
8205         (elmo-filter-list-folder-important): Ditto.
8206         (elmo-filter-search): Rewrite.
8207
8208         * elmo-cache.el (elmo-cache-search-all): Set `number' and
8209         `number-list' argument of `elmo-file-field-condition-match'.
8210         (elmo-cache-search): Ditto.
8211
8212         * elmo-localdir.el: Likewise.
8213
8214         * elmo-archive.el (elmo-archive-field-condition-match): Added argument
8215         number-list and pass it to `elmo-buffer-field-condition-match'.
8216         (elmo-archive-field-condition-match): Pass `number-list' to
8217         `elmo-archive-field-condition-match'
8218
8219 2000-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
8220
8221         * elmo-nntp.el (elmo-nntp-list-folder): Set current group after
8222         `listgroup'.
8223
8224         * elmo2.el (elmo-folder-diff-async-callback): New variable.
8225         (elmo-folder-diff-async-callback-data): Ditto.
8226         (elmo-folder-diff-async): New function.
8227
8228         * elmo-net.el (elmo-network-session-name-prefix): New variable.
8229         (elmo-network-session-cache-key): Use it as a prefix of the session
8230         name.
8231         (elmo-network-open-session): Ditto.
8232
8233         * elmo-imap4.el (elmo-imap4-status-callback): New local variable.
8234         (elmo-imap4-status-callback-data): Ditto.
8235         (elmo-imap4-server-diff-async-callback): New variable.
8236         (elmo-imap4-server-diff-async-callback-data): Ditto.
8237         (elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
8238         `elmo-imap4-status-callback-data'.
8239         (elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
8240         `elmo-imap4-status-callback-data' as nil.
8241         (elmo-imap4-server-diff): Ditto.
8242         (elmo-imap4-server-diff-async-callback-1): New function.
8243         (elmo-imap4-server-diff-async): Ditto.
8244         (elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.
8245
8246 2000-09-24  OKAZAKI Tetsurou  <okazaki@be.to>
8247
8248         * elmo-util.el (elmo-list-delete): Doc fix.
8249         (elmo-delete-lists): Abolish.
8250         * elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
8251         instead of `elmo-delete-lists'.
8252
8253 2000-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
8254
8255         * elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
8256         before `sort'.
8257
8258 2000-09-18  OKAZAKI Tetsurou  <okazaki@be.to>
8259
8260         * elmo-imap4.el (elmo-imap4-literal-1): Renamed from
8261         `elmo-imap4-literal-subr'.
8262         (elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
8263         (elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.
8264
8265 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
8266
8267         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
8268         (elmo-archive-list-folder): Fix.
8269         (elmo-archive-max-of-folder): Fix.
8270
8271 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
8272
8273         * elmo-localdir.el (elmo-localdir-copy-msgs): Use
8274          `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
8275         (elmo-localdir-append-msg): Ditto.
8276         (elmo-localdir-list-folder): Fix for `nonsort'.
8277         (elmo-localdir-list-folder-subr): Fix for `killed'.
8278         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
8279         (elmo-maildir-list-folder-subr): Ditto.
8280         * elmo-archive.el (elmo-archive-list-folder): Ditto.
8281         (elmo-archive-list-folder-subr): Ditto.
8282         * elmo-internal.el (elmo-internal-list-folder): Ditto.
8283         (elmo-internal-list-folder-subr): Ditto.
8284
8285 2000-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
8286
8287         * elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.
8288
8289 2000-09-12  Katsumi Yamaoka    <yamaoka@jpl.org>
8290
8291         * elmo-util.el (elmo-delete-plugged): Fix parenthesis.
8292
8293 2000-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
8294
8295         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
8296         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
8297
8298         * elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
8299         before greeting.
8300         (elmo-imap4-read-part): Use "body.peek" to fetch part.
8301         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
8302
8303 2000-09-06  Yuuichi Teranishi  <teranisi@gohome.org>
8304
8305         * mmelmo-imap4-2.el (mime-entity-children): Defined.
8306
8307         * elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
8308         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
8309         before STORE command.
8310
8311 2000-09-04  Yuuichi Teranishi  <teranisi@gohome.org>
8312
8313         * elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.
8314
8315         * elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
8316         (elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
8317         of `response'.
8318         (elmo-imap4-list-folders): Removed unused local variable.
8319         (elmo-network-initialize-session): Ditto.
8320         (elmo-imap4-delete-msg-by-id): Ditto.
8321         (elmo-imap4-parse-fetch): Ditto.
8322         (elmo-imap4-copy-msgs): Ditto.
8323         Use `dst-spec' instead of `dst-folder'.
8324         (elmo-network-authenticate-session): Check authenticate type `plain'.
8325
8326 2000-09-01  Yuuichi Teranishi  <teranisi@gohome.org>
8327
8328         * elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
8329         garbage checking.
8330         (elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
8331         `elmo-imap4-response-value'.
8332         (elmo-imap4-parse-response): Return value of `EXPUNGE'.
8333
8334 2000-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
8335
8336         * elmo-imap4.el (elmo-imap4-send-command):
8337         Cause elmo-imap4-bye-error when current response is BYE.
8338         (elmo-imap4-arrival-filter): Changed greeting response value.
8339
8340         * elmo2.el (elmo-imap4-bye-error): Define.
8341
8342         * elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
8343         (elmo-imap4-server-diff): Ditto.
8344         (elmo-imap4-response-bye-p): New macro.
8345         (elmo-imap4-response-error-text): Get text from BYE response.
8346         (elmo-imap4-read-response): Return if BYE response.
8347         (elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
8348         (elmo-imap4-folder-exists-p): Ditto.
8349         (elmo-imap4-commit): Do nothing when different mailbox is selected.
8350         (elmo-imap4-parse-bye): New function.
8351         (elmo-imap4-parse-response): Remove needless let.
8352         Call `elmo-imap4-parse-bye'.
8353
8354 2000-08-30  Yuuichi Teranishi  <teranisi@gohome.org>
8355
8356         * elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
8357         the mailbox does not exist.
8358         (elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.
8359
8360 2000-08-30  OKAZAKI Tetsurou  <okazaki@be.to>
8361
8362         * elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.
8363
8364 2000-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
8365
8366         * elmo-vars.el (elmo-search-mime-charset): Abolished.
8367
8368         * elmo-pop3.el (elmo-pop3-local-variables): New variable.
8369         (elmo-network-initialize-session-buffer): Defined.
8370
8371         * mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
8372         Abolished.
8373         (mmelmo-imap4-get-mime-entity): Rewrite.
8374
8375         * elmo2.el (elmo-error): Capitalize error message.
8376
8377         * elmo-net.el (elmo-network-initialize-session-buffer): New method.
8378         (elmo-network-session-buffer): New macro.
8379         (elmo-network-open-session): Use it.
8380
8381         * elmo-imap4.el: Rewrite.
8382
8383 2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
8384
8385         * elmo-nntp.el (Toplevel): Require 'elmo-net.
8386
8387 2000-08-27   Daiki Ueno  <ueno@unixuser.org>
8388
8389         * elmo-imap4.el (elmo-imap4-make-address): Abolish.
8390         (elmo-imap4-msgdb-create): Don't request ENVELOPE.
8391         (elmo-imap4-create-msgdb-from-overview-string): Use
8392         `elmo-msgdb-create-overview-from-buffer'.
8393
8394 2000-08-26   Daiki Ueno  <ueno@unixuser.org>
8395
8396         * elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
8397         (elmo-imap4-default-hierarchy-delimiter): New variable.
8398         (elmo-imap4-list-folders): Use it.
8399
8400 2000-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
8401
8402         * elmo-net.el (elmo-network-open-session): Add user and
8403         stream-type for process-buffer name.
8404
8405         * elmo-pop3.el (elmo-network-initialize-session): Call
8406         buffer-disable-undo.
8407
8408         * elmo-imap4.el (elmo-network-initialize-session):
8409         Set current-buffer as an argument for `buffer-disable-undo'.
8410
8411         * elmo-pop3.el (elmo-network-close-session): Don't use
8412         `process-live-p'.
8413
8414         * elmo-vars.el (elmo-default-pop3-authenticate-type):
8415         Set default as 'user.
8416
8417         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.
8418
8419         * elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
8420         and `elmo-imap4-flush-connection'.
8421
8422         * elmo-util.el (toplevel): Removed workaround for timezone y2k.
8423         (elmo-pop3-get-spec): Assume auth as symbol.
8424         (elmo-open-network-stream): Moved to `elmo-net'.
8425
8426         * elmo-pop3.el (toplevel): Require 'elmo-net.
8427         Define `sasl-cram-md5' to silence byte compilier.
8428         (elmo-pop3-connection-cache) Abolished.
8429         (elmo-pop3-authenticator-alist) New variable.
8430         (elmo-pop3-session): Define.
8431         (elmo-pop3-connection-get-process): Abolished.
8432         (elmo-pop3-connection-get-buffer): Ditto.
8433         (elmo-pop3-close-connection): Ditto.
8434         (elmo-pop3-flush-connection): Ditto.
8435         (elmo-pop3-get-connection): Ditto.
8436         (elmo-pop3-get-session): New function.
8437         (Replacement for `elmo-pop3-get-connection').
8438         All other related modules are changed.
8439         (elmo-network-close-session): Define.
8440         (elmo-pop3-send-command): Abolished argument `buffer'.
8441         All other related modules are changed.
8442         (elmo-pop3-read-response): Likewise.
8443         (elmo-pop3-open-connection): Abolished.
8444         (elmo-pop3-auth-user): New function.
8445         (elmo-pop3-auth-apop): Ditto.
8446         (elmo-pop3-auth-cram-md5): Ditto.
8447         (elmo-pop3-auth-scram-md5): Ditto.
8448         (elmo-pop3-auth-digest-md5): Ditto.
8449         (elmo-network-initialize-session): Define.
8450         (elmo-network-authenticate-session): Ditto.
8451         (elmo-network-setup-session): Ditto.
8452
8453         * elmo-imap4.el (toplevel): Require 'elmo-net.
8454         (elmo-imap4-session): Define.
8455         (elmo-imap4-connection-cache): Abolished.
8456         (elmo-imap4-password-key): Ditto.
8457         (elmo-imap4-flush-connection): Ditto.
8458         (elmo-imap4-get-connection): Ditto.
8459         All other related modules are changed.
8460         (elmo-imap4-get-session): New function
8461         (Replacement for `elmo-imap4-get-connection').
8462         (elmo-imap4-read-response): Abolished argument `buffer'.
8463         All other related modules are changed.
8464         (elmo-imap4-send-command): Likewise.
8465         (elmo-imap4-select-folder): Abolished.
8466         All other related modules are changed.
8467         (elmo-imap4-select-mailbox): New function.
8468         (Replacement for `elmo-imap4-select-folder').
8469         (elmo-imap4-auth-login): Simplify.
8470         (Assume current buffer as process buffer)
8471         (elmo-imap4-auth-cram-md5): Ditto.
8472         (elmo-imap4-auth-digest-md5): Ditto.
8473         (elmo-imap4-login): Ditto.
8474         (elmo-imap4-open-connection): Abolished.
8475         (elmo-imap4-open-connection-1): Abolished.
8476         (elmo-network-initialize-sessoin): Define.
8477         (elmo-network-authenticate-session): Ditto.
8478         (elmo-network-setup-session): Ditto.
8479
8480         * elmo-net.el: New module.
8481
8482 2000-08-22   Daiki Ueno  <ueno@unixuser.org>
8483
8484         * elmo-util.el (elmo-define-error): New function.
8485
8486         * elmo2.el (elmo-error): Define.
8487         (elmo-open-error): Define.
8488         (elmo-authenticate-error): Define.
8489
8490         * elmo-imap4.el (elmo-imap4-error): Abolish.
8491         (elmo-imap4-error-type): Abolish.
8492         (elmo-imap4-error-process): Abolish.
8493         (elmo-imap4-error-message): Abolish
8494         (elmo-imap4-list-folders): Don't quote lambda.
8495         (elmo-imap4-create-msgdb-from-overview-string): Ditto.
8496         (elmo-imap4-parse-namespace): Ditto.
8497         (elmo-imap4-open-connection): Rewrite.
8498         (elmo-imap4-open-connection-1): Simplified (authenticate only).
8499         (elmo-imap4-get-connection): Abolish local variable `result'.
8500
8501 2000-08-21  Kaoru Takahashi  <kaoru@kaisei.org>
8502
8503         * elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
8504         wrong-type-argument error when auth is nil.
8505
8506 2000-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
8507
8508         * elmo-vars.el (elmo-default-imap4-stream-type): New variable.
8509         (elmo-default-nntp-stream-type): Ditto.
8510         (elmo-default-pop3-stream-type): Ditto.
8511         (elmo-network-stream-type-alist): Ditto.
8512         (elmo-default-imap4-ssl): Abolished.
8513         (elmo-default-nntp-ssl): Ditto.
8514         (elmo-default-pop3-ssl): Ditto.
8515
8516         * elmo-util.el: (toplevel): Removed needless requires.
8517         (elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
8518         (elmo-open-network-stream): Open network stream according to
8519         the value of `elmo-network-stream-type-alist'.
8520         (elmo-get-network-stream-type): New function.
8521         (elmo-network-stream-type-spec-string): New macro.
8522         (elmo-network-stream-type-symbol): Ditto.
8523         (elmo-network-stream-type-function): Ditto.
8524
8525         * elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
8526         network-stream-type. All other related portions are changed.
8527         (elmo-pop3-open-connection): Ditto.
8528
8529         * elmo-nntp.el (elmo-nntp-setting): Follow up changes for
8530         network-stream-type. All other related portions are changed.
8531
8532         * elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
8533         network-stream-type.All other related portions are changed.
8534         (elmo-imap4-error): New macro.
8535         (elmo-imap4-error-type): Ditto.
8536         (elmo-imap4-error-process): Ditto.
8537         (elmo-imap4-error-message): Ditto.
8538         (elmo-imap4-auth-login): Use `elmo-imap4-error'.
8539         (elmo-imap4-auth-cram-md5): Ditto.
8540         (elmo-imap4-auth-digest-md5): Ditto.
8541         (elmo-imap4-login): Ditto.
8542         (elmo-imap4-open-connection): Remove password entry if authentication
8543         was in vain.
8544         (elmo-imap4-user-at-host): Abolished.
8545         (elmo-imap4-password-key): New buffer local variable.
8546         (elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
8547         using protocol, port, auth and stream-type.
8548
8549         * elmo-dop.el (elmo-dop-list-folder): Use killed list.
8550
8551 2000-08-13   Daiki Ueno  <ueno@unixuser.org>
8552
8553         * elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.
8554
8555         * elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.
8556
8557         * elmo-imap4.el (elmo-imap4-user-at-host): New variable.
8558         (elmo-imap4-authenticator-alist): New variable.
8559         (elmo-imap4-open-connection-1): Rename from
8560         elmo-imap4-open-connection.
8561         (elmo-imap4-open-connection): Abolish 5th argument `passphrase';
8562         only wraps elmo-imap4-open-connection-1.
8563         (elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
8564         user-at-host.
8565         (elmo-imap4-auth-login): New function.
8566         (elmo-imap4-auth-cram-md5): New function.
8567         (elmo-imap4-auth-digest-md5): New function.
8568         (elmo-imap4-login): New function.
8569
8570 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
8571
8572         * elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
8573         function `error'.
8574
8575 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
8576
8577         * elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.
8578
8579 2000-08-08  Yuuichi Teranishi  <teranisi@gohome.org>
8580
8581         * elmo2.el (elmo-move-msgs): Set value of `unseen'.
8582
8583 2000-08-06  OKAZAKI Tetsurou  <okazaki@be.to>
8584
8585         * elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
8586         for server responses, quote `*' regardless of where it appears.
8587
8588 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
8589
8590         * elmo-maildir.el (elmo-maildir-commit): New alias.
8591
8592 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
8593
8594         * elmo-util.el (elmo-display-progress):
8595                 Use `progress-feedback-with-label'.
8596
8597 2000-08-02  OKAZAKI Tetsurou  <okazaki@be.to>
8598
8599         * elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
8600         (elmo-imap4-non-atom-char-regex): Ditto.
8601         (elmo-imap4-non-text-char-regex): Ditto.
8602         (elmo-imap4-literal-threshold): Ditto.
8603         (elmo-imap4-atom-p): New function.
8604         (elmo-imap4-quotable-p): Ditto.
8605         (elmo-imap4-nil): Ditto.
8606         (elmo-imap4-atom): Ditto.
8607         (elmo-imap4-quoted): Ditto.
8608         (elmo-imap4-literal-subr): Ditto.
8609         (elmo-imap4-literal): Ditto.
8610         (elmo-imap4-buffer-literal): Ditto.
8611         (elmo-imap4-string-subr): Ditto.
8612         (elmo-imap4-string): Ditto.
8613         (elmo-imap4-buffer-string): Ditto.
8614         (elmo-imap4-astring-subr): Ditto.
8615         (elmo-imap4-astring): Ditto.
8616         (elmo-imap4-buffer-astring): Ditto.
8617         (elmo-imap4-nstring): Ditto.
8618         (elmo-imap4-buffer-nstring): Ditto.
8619         (elmo-imap4-mailbox): New alias.
8620         (elmo-imap4-field-body): Ditto.
8621         (elmo-imap4-userid): Ditto.
8622         (elmo-imap4-password): Ditto.
8623         (elmo-imap4-format-quoted): New function.
8624         (elmo-imap4-send-command): Rewritten.  Accept a list of command
8625         arguments and handle "atom", "quoted" and "literal" string here.
8626         (elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
8627         `elmo-imap4-send-command'.
8628         (elmo-imap4-folder-exists-p): Likewise.
8629         (elmo-imap4-create-folder): Likewise.
8630         (elmo-imap4-delete-folder): Likewise.
8631         (elmo-imap4-rename-folder): Likewise.
8632         (elmo-imap4-max-of-folder): Likewise.
8633         (elmo-imap4-check-validity): Likewise.
8634         (elmo-imap4-sync-validity): Likewise.
8635         (elmo-imap4-server-diff): Likewise.
8636         (elmo-imap4-select-folder): Likewise.
8637         (elmo-imap4-copy-msgs): Likewise.
8638         (elmo-imap4-search-internal): Use `elmo-imap4-astring'.
8639         (elmo-imap4-mark-set-on-msgs): Likewise.
8640         (elmo-imap4-read-part): Likewise.
8641         (elmo-imap4-read-msg): Likewise.
8642         (elmo-imap4-open-connection): Use `elmo-imap4-userid' and
8643         `elmo-imap4-password' for `elmo-imap4-send-command'.
8644         (elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
8645         (elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
8646         `elmo-imap4-buffer-literal'.
8647         (elmo-imap4-append-msg): Likewise.
8648
8649         * elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
8650         `delete' for removing dead connection from the connection cache.
8651         Move deletion of the process buffer after that.
8652         (elmo-imap4-list): Change `defsubst' to `defun'.
8653         (elmo-imap4-commit): Make error message verbose.
8654         (elmo-imap4-search): Ditto.
8655         (elmo-imap4-list): Ditto.
8656         (elmo-imap4-select-folder): Ditto.
8657         (elmo-imap4-copy-msgs): Ditto.
8658         (elmo-imap4-delete-msg-by-id): Ditto.
8659         (elmo-imap4-append-msg-by-id): Ditto.
8660         (elmo-imap4-append-msg): Ditto.
8661
8662 2000-07-26  Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
8663
8664         * elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
8665         when dired is used on XEmacs.
8666
8667 2000-07-25  OKAZAKI Tetsurou  <okazaki@be.to>
8668
8669         * elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
8670         instead of `append'.
8671         (elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
8672         `elmo-plugged-p' directly.
8673         * elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
8674         of `elmo-plugged-p' directly.
8675
8676         * elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
8677         Eliminate unused variable.  Use `memq' for checking a process status.
8678         Use `cons' instead of `append' for updating the connection cache.
8679         * elmo-nntp.el (elmo-nntp-get-connection): Likewise.
8680         * elmo-imap4.el (elmo-imap4-get-connection): Likewise.
8681
8682 2000-07-22  OKAZAKI Tetsurou  <okazaki@be.to>
8683
8684         * elmo-imap4.el (elmo-imap4-read-bytes): Advance
8685         `elmo-imap4-read-point' exactly.
8686
8687         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
8688         the local variable `folder' to `mailbox'.
8689         Rename the argument `fld' to `folder'.
8690
8691 2000-07-20  Kenichi OKADA  <okada@opaopa.org>
8692
8693         * elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
8694         * elmo-imap4.el (elmo-imap4-commit): Ditto.
8695
8696 2000-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
8697
8698         * elmo-pop3.el (elmo-pop3-use-uidl): New variable.
8699         (elmo-pop3-number-uidl-hash): New buffer-local variable.
8700         (elmo-pop3-uidl-number-hash): Ditto.
8701         (elmo-pop3-size-hash): Ditto.
8702         (elmo-pop3-uidl-done): Ditto.
8703         (elmo-pop3-list-done): Ditto.
8704         (elmo-pop3-connection-get-process): New defmacro.
8705         (elmo-pop3-connection-get-buffer): Ditto.
8706         (elmo-pop3-close-connection): Delete buffer and process.
8707         (elmo-pop3-flush-connection): Don't delete buffer and process.
8708         (elmo-pop3-get-connection): Added optional argument `if-exists'.
8709         Setup UIDL and size hash.
8710         (elmo-pop3-send-command-no-erase): Deleted
8711         (elmo-pop3-send-command): Added optional argument `no-erase'.
8712         (elmo-pop3-parse-uidl-response): New function.
8713         (elmo-pop3-parse-list-response): Set size hash.
8714         (elmo-pop3-list-location): New function.
8715         (elmo-pop3-list-by-uidl-subr): Ditto.
8716         (elmo-pop3-list-by-list): Ditto.
8717         (elmo-pop3-list-folder): Call `elmo-pop3-commit'.
8718         Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
8719         (elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
8720         Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
8721         (elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
8722         Use uidl.
8723         (elmo-pop3-uidl-to-number): New function.
8724         (elmo-pop3-number-to-uidl): Ditto.
8725         (elmo-pop3-number-to-size): Ditto.
8726         (elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
8727         Set number by use of uidl.
8728         (elmo-pop3-msgdb-create-message): Likewise.
8729         Set size, loc-alist in msgdb.
8730         (elmo-pop3-read-msg): Set number by use of uidl.
8731         Added optional argument `msgdb'.
8732         (elmo-pop3-delete-msg): Ditto.
8733         (elmo-pop3-delete-msgs): Added optional argument `msgdb'.
8734         (elmo-pop3-commit): Close connection.
8735
8736         * elmo-pipe.el (elmo-pipe-max-of-folder):
8737         Bind `elmo-pop3-use-uidl' as nil.
8738         (elmo-pipe-drain): Ditto.
8739         Call `elmo-commit'.
8740
8741         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
8742         (elmo-msgdb-overview-entity-set-size): New defsubst.
8743
8744 2000-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
8745
8746         * elmo-vars.el (elmo-use-killed-list): New variable
8747         (Renamed from `elmo-nntp-use-killed-list').
8748         (elmo-nntp-use-killed-list): Eliminated.
8749
8750         * elmo-msgdb.el (elmo-msgdb-expand-path):
8751         Changed expanding msgdb path for elmo-multi.
8752
8753         * elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
8754         elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
8755         elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
8756         elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
8757         elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
8758         mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
8759         (toplevel): Deleted time-stamp line.
8760
8761         * elmo2.el (elmo-clear-killed ): Defined as function
8762         (Abolished defining as a backend function).
8763         All other related modules are changed.
8764
8765 2000-07-14  Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>
8766
8767         * elmo-cache.el (elmo-cache-clear-killed): Fixed.
8768
8769 2000-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
8770
8771         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.
8772
8773 2000-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
8774
8775         * elmo-pop3.el (elmo-pop3-clear-killed): New alias.
8776
8777 2000-07-11  Yuuichi Teranishi  <teranisi@gohome.org>
8778
8779         * elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
8780         asynchronous folder check.
8781
8782         * elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.
8783
8784         * elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
8785         `elmo-nntp-use-killed-list'.
8786         (elmo-nntp-list-folder): Use killed list.
8787         (elmo-nntp-max-of-folder): Ditto.
8788         (elmo-nntp-msgdb-create): Set killed list.
8789
8790         * elmo-vars.el (elmo-nntp-use-killed-list): New user option.
8791
8792         * elmo2.el (elmo-clear-killed): New backend function.
8793         All other related modules are changed.
8794
8795 2000-07-07  OKAZAKI Tetsurou  <okazaki@be.to>
8796
8797         * elmo-util.el (elmo-imap4-spec-folder): Use
8798         `elmo-imap4-spec-mailbox'; Mark as obsolete.
8799         All callers changed.
8800
8801 2000-06-22  Yuuichi Teranishi  <teranisi@gohome.org>
8802
8803         * mmelmo-2.el (initialize-instance):
8804         Use `mime-buffer-entity-buffer-internal' instead of
8805         `mime-entity-buffer'.
8806
8807         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
8808         (mime-entity-body): Implemented.
8809         (mime-goto-header-start-point): Deleted.
8810         (mime-goto-body-end-point): Ditto.
8811         (mime-entity-point-min): Ditto.
8812         (mime-entity-point-max): Ditto.
8813         (mime-entity-children): Ditto.
8814         (mime-insert-header): Use `mime-buffer-entity-buffer-internal'
8815         instead of `mime-entity-buffer'.
8816         (mime-entity-header-buffer): Ditto.
8817         (mime-entity-body-buffer): Ditto.
8818         (mime-write-entity-content): Ditto.
8819
8820         * pldap.el (ldap-static-if): New macro.
8821         (toplevel): Use it instead of `static-if'.
8822
8823 2000-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
8824
8825         * pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
8826         included in `attrs' argument.
8827
8828 2000-06-16  Yuuichi Teranishi  <teranisi@gohome.org>
8829
8830         * elmo-util.el (elmo-get-passwd): Use old backquote style.
8831
8832         * pldap.el (ldap-ldif-safe-char-regexp): New constant.
8833         (ldap-ldif-safe-init-char-regexp): Ditto.
8834         (ldap-ldif-safe-string-regexp): Ditto.
8835         (ldap/ldif-safe-string-p): New macro.
8836         (ldap/ldif-insert-field): Ditto.
8837         (ldap-modify): Use it.
8838         (ldap-add): Ditto.
8839         (ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
8840         (ldap-decode-attribute): Decode only when `attr' is consp.
8841         (ldap-delete): Bind `ret'.
8842         (toplevel): Require 'cl at compile time.
8843         Removed (require 'poe) and (require 'std11).
8844         (pldap-version): Eliminated.
8845         (ldap-search-basic): Removed auth and dn binding.
8846         (ldap-ldif-field-name-regexp): New constant.
8847         (ldap-ldif-field-head-regexp): Ditto.
8848         (ldap-ldif-next-field-head-regexp): Ditto.
8849         (ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
8850         (ldap/field-end): New function.
8851         (ldap/field-body): Use it.
8852         (ldap/collect-field): Ditto.
8853         (ldap-search-basic): Use `ldap/field-body'.
8854
8855 2000-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
8856
8857         * pldap.el (ldap-default-attribute-encoder): New user option.
8858         (ldap/field-body): Decode base64 string.
8859         (ldap/collect-field): Ditto.
8860         (ldap-encode-attribute): New function.
8861         (ldap-add-entries): Use it.
8862         (ldap-modify-entries): Ditto.
8863         (ldap-search-entries): Enclosed decoding function with
8864         `with-temp-buffer' and set as unibyte.
8865         (ldap-search-basic): Set process buffer as unibyte.
8866
8867         * elmo-util.el (elmo-folder-identical-system-p):
8868         Eliminated name space checking.
8869
8870         * pldap.el: New module.
8871         toplevel: Changed condition to detect built-in ldap feature.
8872         (ldap-delete): Enclosed call-process with `with-temp-buffer'.
8873         (ldap-add): Added error handling.
8874         (ldap-modify): Ditto.
8875         (ldap-delete): Ditto.
8876
8877 2000-06-03  OKAZAKI Tetsurou  <okazaki@be.to>
8878
8879         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
8880         Initialize local variables with `let'.  Inline a temporary
8881         variable for the progress percentage.  Sort `setq' to reduce
8882         function call in the while-loop.
8883
8884         * mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
8885         into the conditional branch.
8886
8887 2000-05-30  OKAZAKI Tetsurou  <okazaki@be.to>
8888
8889         * elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
8890         Move a conditional out of the while-loop.
8891
8892 2000-05-27  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8893
8894         * elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
8895         elmo-msgdb-overview-get-entity-by-number.
8896         (elmo-msgdb-overview-get-entity-by-number): Don't use catch and
8897         throw.
8898
8899 2000-05-26  OKAZAKI Tetsurou  <okazaki@be.to>
8900
8901         * elmo-localdir.el (elmo-localdir-pack-number): Renamed
8902         the local variable for a packed number self descriptively.
8903
8904 2000-05-21  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8905
8906         * elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
8907         * elmo-localdir.el (elmo-localdir-pack-number): Use
8908         `elmo-msgdb-overview-get-entity' instead of
8909         `elmo-msgdb-overview-get-entity-by-number'.
8910         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
8911         (elmo-msgdb-search-overview-entity): Removed.
8912         (elmo-msgdb-overview-get-entity): Change argument. Get overview entity
8913         by message-id or number.
8914         (elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
8915         instead of `elmo-msgdb-overview-get-entity-by-number'.
8916
8917 2000-05-20  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8918
8919         * elmo-vars.el (elmo-use-overview-hashtb): New variable. If
8920         non-nil, use hash table for overview.
8921         (elmo-hash-maximum-size): New variable.
8922         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
8923         (elmo-msgdb-make-overview-hashtb): New function.
8924         (elmo-msgdb-clear-overview-hashtb): New function.
8925         (elmo-clear-hash-val): New macro.
8926         All other related modules are changed.
8927
8928 2000-05-18  Yuuichi Teranishi  <teranisi@gohome.org>
8929
8930         * elmo2.el (elmo-move-msgs): If there's other message with
8931         same message-id, don't use cache.
8932
8933 2000-05-18  Nishimoto Masaki <nishimoto@gaju.org>
8934
8935         * elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
8936         number is already packed.
8937
8938 2000-05-15  OKAZAKI Tetsurou  <okazaki@be.to>
8939
8940         * elmo-vars.el: Doc fixes. Trim trailing whitespace.
8941
8942 2000-05-12  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8943
8944         * elmo-vars.el (elmo-display-progress-threshold): New variable.
8945         All other related modules are changed.
8946
8947 2000-05-11  Yuuichi Teranishi  <teranisi@gohome.org>
8948
8949         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
8950         of refiling failure on Maildir.
8951
8952 2000-05-10  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8953
8954         * elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
8955         decoded mime-charset with cache.
8956         (elmo-msgdb-overview-entity-get-from): Ditto.
8957         (elmo-msgdb-overview-entity-get-subject): Ditto.
8958         * elmo-vars.el (elmo-use-decoded-cache): New variable.
8959
8960 2000-05-10  Kenichi OKADA  <okada@opaopa.org>
8961
8962         * elmo-utils.el (elmo-get-passwd): Set timeout of password.
8963         (elmo-remove-passwd): Fill password with 0 before erase.
8964         * elmo-vars.el (elmo-passwd-life-time): New variable.
8965
8966 \f
8967 2000-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
8968
8969         * elmo-cache.el (elmo-buffer-cache-add):
8970         Set message cache buffer as unibyte.
8971
8972 2000-05-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8973
8974         * elmo-archive.el (elmo-archive-list-folders): Fix base-folder
8975         become nil.
8976
8977 2000-04-28  Yuuichi Teranishi  <teranisi@gohome.org>
8978
8979         * elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
8980         when display is finished.
8981         (elmo-nntp-msgdb-create): Ditto.
8982         (elmo-nntp-groups-read-response): Ditto.
8983         (elmo-nntp-retrieve-headers): Ditto.
8984         (elmo-nntp-msgdb-create-message): Ditto.
8985         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
8986         (elmo-pop3-msgdb-create-message): Ditto.
8987
8988 2000-04-24  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
8989
8990         * elmo-maildir.el (elmo-maildir-msgdb-create):
8991         Use `elmo-msgdb-sort-by-date'.
8992
8993 2000-04-20  Yuuichi Teranishi  <teranisi@gohome.org>
8994
8995         * elmo2.el (elmo-read-msg-no-cache):
8996         Eliminated arguments after `outbuf'.
8997         Don't use cache even if it exists.
8998         (elmo-read-msg): Don't pass arguments after `outbuf' to
8999         `elmo-read-msg-no-cache'.
9000
9001 2000-04-15  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
9002
9003         * elmo-archive.el (elmo-archive-list-folders):
9004         Use `file-name-directory' if base folder does not exist.
9005
9006 2000-04-14  Nishimoto Masaki <nishimoto@gaju.org>
9007
9008         * elmo-archive.el (elmo-archive-list-folders): Don't use
9009         `file-name-directory'.
9010
9011 2000-04-07  Yuuichi Teranishi  <teranisi@gohome.org>
9012
9013         * elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
9014         If `force' is non-nil, try flushing all operation queues.
9015
9016 2000-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
9017
9018         * elmo-pop3.el (elmo-pop3-open-connection): Enclose with
9019         as-binary-process.
9020
9021 2000-03-29  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
9022
9023         * elmo-util.el (elmo-display-progress): Fixed.
9024
9025 2000-03-27  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
9026
9027         * elmo-util.el (elmo-display-progress): New function.
9028         All other related modules are changed.