* elmo-util.el (elmo-map-recursive): New function.
[elisp/wanderlust.git] / elmo / ChangeLog
1 2005-04-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2
3         * elmo-util.el (elmo-map-recursive): New function.
4
5         * modb-entity.el (modb-entity-decode-string-recursive): Use it.
6         (modb-entity-encode-string-recursive): Ditto.
7
8 2005-04-05  Yuuichi Teranishi  <teranisi@gohome.org>
9
10         * elmo-maildir.el (elmo-maildir-sequence-number): New function.
11         (elmo-maildir-make-unique-string): Throw Emacs 18 away.
12         (elmo-maildir-list-location): Use `elmo-maildir-sequence-number' to
13         compare sequence number when last modified time is nil.
14
15 2005-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
16
17         * elmo-maildir.el (elmo-folder-msgdb-create): Don't sort by date.
18
19         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
20
21 2005-04-01  Yuuichi Teranishi  <teranisi@gohome.org>
22
23         * elmo-maildir.el (elmo-maildir-list-location): Sort by last
24         modification time of the file.
25
26 2005-03-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
27
28         * elmo-util.el (elmo-condition-optimize): Discriminated against
29         preserved fields, extra fields and the other weight.
30
31 2005-03-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
32
33         * modb-entity.el (initialize-instance): Define.
34         (modb-entity-handler-mime-charset): New internal function.
35         (modb-standard-entity-set-field): Use it.
36         (elmo-msgdb-message-entity-field): Ditto.
37         (elmo-msgdb-message-entity-field): Ditto.
38
39         * modb.el (elmo-msgdb-match-condition): Rewrite with
40         `elmo-condition-match'.
41         (elmo-msgdb-match-condition-primitive): New function.
42
43         * modb-entity.el (elmo-msgdb-message-match-condition): Removed
44         arguments `flags' and `numbers'.
45         (elmo-msgdb-match-condition-primitive): Abolished (merged to
46         `elmo-msgdb-message-match-condition').
47         (modb-buffer-entity-handler): New class.
48
49         * elmo.el (elmo-folder-search): Optimize condition to use
50         `elmo-condition-optimize'.
51         (elmo-message-buffer-match-condition): New function.
52         (elmo-message-match-condition): Use
53         `elmo-message-buffer-match-condition' instead of
54         `elmo-buffer-field-condition-match'.
55
56         * elmo-util.el (elmo-condition-match): New function.
57         (elmo-condition-optimize): Ditto.
58         (elmo-buffer-field-primitive-condition-match): Abolish.
59         (elmo-buffer-field-condition-match): Ditto.
60
61         * elmo-archive.el (elmo-archive-field-condition-match): Use
62         `elmo-message-buffer-match-condition' instead of
63         `elmo-buffer-field-condition-match'.
64
65 2005-03-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
66
67         * elmo-flag.el (elmo-global-flags-initialize): Check the
68         existence of the flag directory.
69
70 2005-03-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
71
72         * elmo-access.el (elmo-folder-initialize): Call
73         `elmo-multi-connect-signals'.
74
75         * elmo-pipe.el (elmo-folder-close): Define.
76
77         * elmo-multi.el (elmo-folder-close): Call `elmo-folder-close' with
78         children folders.
79
80         * elmo-filter.el (elmo-folder-close): Call `elmo-folder-close'
81         with target folder.
82
83         * modb-entity.el (elmo-msgdb-message-entity-set-number): Return
84         `number'.
85
86         * elmo-multi.el (elmo-message-entity): Don't use return value of
87         `elmo-message-entity-set-number'.
88
89 2005-03-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
90
91         * modb.el (modb-generic): Added slot `mime-charset'.
92
93         * modb-standard.el (modb-standard): Added slot `overview-handler'.
94         (modb-standard-save-entity-1): Use `modb-entity-handler-equal-p'
95         and `modb-entity-handler-dump-parameters'.
96         (modb-standard-default-entity-handler): Abolish.
97         (elmo-msgdb-message-entity-handler): Save created handler by
98         instance slot.
99
100         * modb-entity.el (modb-entity-handler): Added slot `mime-charset'.
101         (modb-entity-handler-list-parameters): New method.
102         (modb-entity-handler-equal-p): New function.
103         (modb-entity-handler-dump-parameters): Ditto.
104         (modb-entity-parse-address-string): Encode return value.
105         (modb-entity-make-address-string): Decode argument value.
106         (modb-entity-decode-string-recursive): New function.
107         (modb-entity-encode-string-recursive): Ditto.
108         (modb-standard-entity-normalizer): Set to encode field value.
109         (modb-standard-entity-specializer): Follow the above change.
110         (modb-standard-entity-set-field): Bind `elmo-mime-charset' by
111         mime-charset of handler.
112         (elmo-msgdb-message-entity-field): Ditto.
113         (elmo-msgdb-copy-message-entity): Fixed reference to internal
114         structure.
115         (modb-entity-make-mailing-list-info-string): Decode `ml-name'.
116
117         * elmo.el (elmo-folder): Added slot `mime-charset'.
118         (elmo-make-folder): Added argument `mime-charset'.
119         (elmo-folder-msgdb-load): Call `elmo-load-msgdb' with
120         `mime-charest'.
121
122         * elmo-msgdb.el (elmo-load-msgdb): Added argument `mime-charset'.
123         (elmo-make-msgdb): Likewise.
124
125         * elmo-internal.el (elmo-internal-folder-initialize): Call
126         `luna-make-entity' with :mime-charset parameter.
127
128 2005-03-21  Yuuichi Teranishi  <teranisi@gohome.org>
129
130         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Decode
131         encoded words in `from' and `subject' field.
132
133 2005-03-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
134
135         * modb.el (elmo-msgdb-message-field): Add argument `type'.
136         (elmo-msgdb-match-condition): Get handler from entity instead of
137         msgdb.
138
139         * modb-standard.el (modb-standard-economize-entity-size): Abolish.
140         (modb-standard-load-entity): Treat new file format.
141         (modb-standard-save-entity-1): Save as new file format.
142         (modb-standard-save-entity): Split messages into section here.
143         (elmo-msgdb-message-field): Follow the API change.
144         (modb-standard-default-entity-handler): New internal variable.
145         (elmo-msgdb-message-entity-handler): Define.
146
147         * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
148         to `elmo-vars.el'.
149         (modb-entity-field-extractor-alist): New user option.
150         (elmo-msgdb-message-entity-field): Removed argument `decode' and
151         added argument `type'.
152         (elmo-msgdb-copy-message-entity): Add optional argument
153         `make-handler'.
154         (modb-set-field-converter): New function.
155         (modb-convert-field-value): Ditto.
156         (modb-entity-string-decoder): Ditto.
157         (modb-entity-string-encoder): Ditto.
158         (modb-entity-parse-date-string): Ditto.
159         (modb-entity-make-date-string): Ditto.
160         (modb-entity-mime-decoder): Ditto.
161         (modb-entity-mime-encoder): Ditto.
162         (modb-entity-address-list-decoder): Ditto.
163         (modb-entity-address-list-encoder): Ditto.
164         (modb-entity-parse-address-string): Ditto.
165         (modb-entity-make-address-string): Ditto.
166         (modb-entity-create-field-indices): Ditto.
167         (modb-legacy-entity-field-slots): New constant.
168         (modb-legacy-entity-field-indices): Ditto.
169         (modb-legacy-entity-normalizer): New variable.
170         (modb-legacy-entity-specializer): Ditto.
171         (modb-legacy-entity-field-index): New macro.
172         (modb-legacy-entity-set-field): New function.
173         (modb-legacy-make-message-entity): Rewrite.
174         (elmo-msgdb-create-message-entity-from-buffer): Use
175         `elmo-msgdb-get-references-from-buffer'. Use
176         `elmo-decoded-field-body' instead of `elmo-unfold-field-body'.
177         Use `modb-legacy-entity-set-field' instead of
178         `elmo-msgdb-message-entity-set-field'.
179         (elmo-msgdb-message-entity-field): Rewrite.
180         (elmo-msgdb-message-entity-set-field): Ditto.
181         (elmo-msgdb-copy-message-entity): Make new entity by
182         `make-handler' if it specified.
183         (elmo-msgdb-message-match-condition): Define a method of
184         `modb-entity-handler' and follow the API change.
185         (modb-standard-entity-handler): New class.
186         (modb-entity-extract-ml-info-from-x-sequence): New function.
187         (modb-entity-extract-ml-info-from-subject): Ditto.
188         (modb-entity-extract-ml-info-from-return-path): Ditto.
189         (modb-entity-extract-ml-info-from-delivered-to): Ditto.
190         (modb-entity-extract-ml-info-from-mailing-list): Ditto.
191         (modb-entity-extract-mailing-list-info): Ditto.
192         (modb-entity-extract-mailing-list-info-functions): New variable.
193
194         * elmo.el (elmo-message-field): Add optional argument `type'.
195
196         * elmo-vars.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
197         from `modb-entity.el'.
198
199         * elmo-util.el (elmo-object-load): Decode by coding-system from
200         `set-auto-coding-function'.
201         (elmo-object-save): Use `detect-mime-charset-region' and add
202         coding cookie if encode.
203         (elmo-msgdb-get-references-from-buffer): New function.
204         (elmo-parse-addresses): Ditto (renamed from `wl-parse-addresses').
205
206         * elmo-spam.el (elmo-spam-message-spam-p): Follow the API change.
207
208         * elmo-shimbun.el (elmo-shimbun-parse-time-string): Removed.
209         (elmo-shimbun-entity-to-header): Use `shimbun-create-header'
210         instead of `shimbun-make-header' and follow the API change.
211         (elmo-shimbun-update-overview): Follow the API change.
212         (elmo-map-folder-list-message-locations): Ditto.
213
214         * elmo-pipe.el (elmo-message-field): Ditto.
215
216         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
217         Ditto.
218
219         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
220
221         * elmo-multi.el (elmo-message-field): Ditto.
222
223         * elmo-msgdb.el (elmo-message-entity-field): Ditto.
224         (elmo-msgdb-sort-by-date): Ditto.
225         (elmo-msgdb-flag-table): Use `elmo-msgdb-message-field' instead of
226         `elmo-message-entity-field'.
227         (elmo-msgdb-overview-entity-get-from-no-decode): Follow the API
228         change.
229         (elmo-msgdb-overview-entity-get-from): Ditto.
230         (elmo-msgdb-overview-entity-get-subject): Ditto.
231         (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
232         (elmo-msgdb-overview-entity-get-date): Ditto.
233         (elmo-msgdb-overview-entity-get-to): Ditto.
234         (elmo-msgdb-overview-entity-get-cc): Ditto.
235
236         * elmo-mime.el (elmo-message-mime-entity): Ditto.
237         (elmo-mime-collect-message/partial-pieces): Ditto.
238
239         * elmo-filter.el (elmo-message-field): Ditto.
240
241         * elmo-date.el (elmo-datevec-to-time): New function.
242         (elmo-time-parse-date-string): Ditto.
243         (elmo-time-make-date-string): Ditto.
244         (elmo-time<): Ditto.
245
246         * elmo-version.el (elmo-version): Up to 2.15.1.
247
248 2005-03-14  Yoichi NAKAYAMA  <yoichi@geiin.org>
249
250         * elmo-flag.el (elmo-global-flags-initialize): Don't include
251         member of elmo-local-flags.
252
253 2005-03-13  Yuuichi Teranishi  <teranisi@gohome.org>
254
255         * elmo-version.el (elmo-version): Up to 2.15.0.
256
257 2005-03-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
258
259         * elmo.el (elmo-folder-synchronize): Ignore `mask' when
260         `ignore-msgdb' is non-nil.
261
262 2005-03-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
263
264         * elmo-util.el (elmo-condition-in-msgdb-p-internal): Removed.
265         (elmo-condition-in-msgdb-p): Ditto.
266         (elmo-file-field-primitive-condition-match): Ditto.
267         (elmo-file-field-condition-match): Ditto.
268
269         * elmo-localdir.el (elmo-localdir-field-condition-match): Ditto.
270
271 2005-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
272
273         * elmo-flag.el (elmo-folder-list-subfolders): Don't list from
274         subdirectories here.
275         (elmo-global-flags-initialize): New function.
276
277         * elmo.el (toplevel): Added autoload setting for
278         `elmo-global-flags-initialize'.
279
280 2005-03-07  Yoichi NAKAYAMA  <yoichi@geiin.org>
281
282         * elmo.el (message-number-changed): Define new signal.
283         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Emit
284         message-number-changed signal.
285         * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
286         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
287         Respect `elmo-pack-number-check-strict'.
288
289 2005-03-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
290
291         * elmo-signal.el (elmo-connect-signal): Document.
292         (elmo-emit-signal): Ditto.
293         (elmo-emit-signal): It should pass source argument to filter and
294         handler, not slot-source.
295
296 2005-03-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
297
298         * modb.el (elmo-msgdb-update-entity): New API and define generic
299         implement.
300
301         * modb-standard.el (elmo-msgdb-update-entity): Define.
302
303         * modb-entity.el (elmo-msgdb-message-entity-update-fields): New
304         API and define generic implement.
305
306         * elmo.el (update-overview): New singnal.
307
308         * elmo-shimbun.el (elmo-shimbun-update-overview): Rewrite use
309         `elmo-msgdb-update-entity' and emit signal `update-overview'.
310         (elmo-message-entity-parent): Define.
311
312         * elmo-pipe.el (elmo-pipe-connect-signals): Connect to signal
313         `update-overview'.
314
315         * elmo-multi.el (elmo-multi-connect-signals): Ditto.
316
317         * elmo-filter.el (elmo-filter-connect-signals): Ditto.
318
319 2005-02-27  Yuuichi Teranishi  <teranisi@gohome.org>
320
321         * elmo.el (elmo-folder-synchronize): Sort the return value of
322         `elmo-list-diff'.
323
324         * elmo-util.el (elmo-list-diff): Don't care the order of the returned
325         list.
326
327 2005-02-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
328
329         * elmo-util.el (elmo-with-enable-multibyte): Don't bind
330         `default-enable-multibyte-characters'.
331         (elmo-object-load): Use `with-temp-buffer' instead of
332         `elmo-set-work-buf'.
333         (elmo-object-save): Ditto.
334         (elmo-mime-string): Use `elmo-with-enable-multibyte' instead of
335         `elmo-set-work-buf'.
336         (elmo-decoded-field-body): Ditto.
337
338         * elmo-shimbun.el (elmo-shimbun-entity-to-header): Ditto.
339
340         * elmo-sendlog.el (elmo-sendlog-folder-list-message-locations):
341         Use `with-temp-buffer' instead of `elmo-set-work-buf'.
342
343         * elmo-version.el (elmo-version): Up to 2.13.3.
344
345 2005-02-27  Tetsurou Okazaki  <okazaki@be.to>
346
347         * elmo-util.el (elmo-list-diff): Fix the last change.
348         Reverse order of result lists.
349
350 2005-02-26  Yuuichi Teranishi  <teranisi@gohome.org>
351
352         * modb-standard.el (elmo-msgdb-set-flag): Use
353         `elmo-list-diff-nonsortable' instead of `elmo-list-diff'.
354         (elmo-msgdb-unset-flag): Ditto.
355
356         * elmo.el (elmo-strict-folder-diff): Don't use third argument of
357         `elmo-list-diff'.
358
359         * elmo-util.el (elmo-list-diff): Rewrite.
360         (elmo-list-diff-nonsortable): New function.
361
362 2005-02-26  Tetsurou Okazaki  <okazaki@be.to>
363
364         * elmo-util.el (elmo-multibyte-buffer-name): Renamed from
365         `elmo-multibypte-buffer-name'.  All referers are updated.
366
367 2005-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
368
369         * elmo-mime.el (elmo-mime-entity-reassembled-p): New method.
370         (elmo-mime-entity-fragment-p): New function.
371         (mime-elmo-buffer-entity): Added slot `reassembled'.
372         (elmo-message-mime-entity): Added 4th argument `reassemble'.
373         (elmo-message-mime-entity-internal): New function (renamed from
374         `elmo-message-mime-entity').
375         (elmo-mime-inherit-field-list-from-enclosed): New constant.
376         (elmo-mime-make-reassembled-mime-entity): New function.
377         (elmo-message-reassembled-mime-entity): Ditto.
378         (elmo-mime-collect-message/partial-pieces): Ditto.
379
380 2005-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
381
382         * elmo.el (elmo-message-fetch-string): Disable multibyte.
383
384         * elmo-util.el (elmo-multibypte-buffer-name): New constant.
385         (elmo-with-enable-multibyte): New macro.
386
387         * modb-entity.el (elmo-msgdb-get-decoded-cache): Use it.
388
389 2005-02-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
390
391         * elmo-filter.el (elmo-filter-add-flag-count): Removed unused
392         argument `number'.
393         (elmo-filter-connect-signals): Follow the above change.
394
395 2005-02-19  Yuuichi Teranishi  <teranisi@gohome.org>
396
397         * modb-standard.el (elmo-msgdb-unset-flag): Bind inhibit-quit.
398
399         * elmo-maildir.el (elmo-folder-append-messages): Fix the problem
400         that only the first flag is used.
401
402 2005-02-17  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
403
404         * elmo-shimbun.el (elmo-folder-exists-p): Use `shimbun-group-p' 
405         if available.
406
407 2005-02-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
408
409         * elmo-signal.el: New file.
410
411         * elmo.el (toplevel): Require elmo-signal.
412         (flag-changing, flag-changed, cache-changed): New signal.
413         (elmo-folder): Remove slog `handlers'.
414         (elmo-message-set-cached): Use `elmo-emit-signal' instead of
415         `elmo-folder-notify-event'.
416         (elmo-folder-set-flag): Likewise. Emit signal `flag-changing'.
417         (elmo-folder-unset-flag): Ditto.
418         (elmo-event-handler): Abolish.
419         (elmo-event-handler-flag-changed): Ditto.
420         (elmo-event-handler-cache-changed): Ditto.
421         (elmo-folder-add-handler): Ditto.
422         (elmo-folder-remove-handler): Ditto.
423         (elmo-folder-notify-event): Ditto.
424
425         * elmo-pipe.el (toplevel): Require elmo-signal.
426         (elmo-folder-initialize): Call `elmo-pipe-connect-signals'.
427         (elmo-pipe-connect-signals): New function.
428         (elmo-message-fetch): Does not call `elmo-folder-notify-event'.
429         (elmo-folder-set-flag): Ditto.
430         (elmo-folder-unset-flag): Ditto.
431         (elmo-message-set-cached): Ditto.
432
433         * elmo-multi.el (toplevel): Require elmo-signal.
434         (elmo-folder-initialize): Call `elmo-multi-connect-signals'.
435         (elmo-multi-connect-signals): New function.
436         (elmo-multi-map-numbers): Ditto.
437         (elmo-message-set-cached): Does not call `elmo-folder-notify-event'.
438         (elmo-message-fetch): Ditto.
439         (elmo-folder-set-flag): Ditto.
440         (elmo-folder-unset-flag): Ditto.
441
442         * elmo-filter.el (toplevel): Require elmo-signal.
443         (elmo-folder-initialize): Call `elmo-filter-connect-signals'.
444         (elmo-filter-connect-signals): New function.
445         (elmo-filter-add-flag-count): Ditto.
446         (elmo-message-fetch): Does not call
447         `elmo-filter-folder-countup-message-flags' and
448         `elmo-folder-notify-event'.
449         (elmo-message-set-cached): Ditto.
450         (elmo-folder-set-flag): Ditto.
451         (elmo-folder-unset-flag): Ditto.
452
453         * elmo-version.el (elmo-version): Up to 2.13.2.
454
455 2005-02-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
456
457         * elmo-imap4.el (elmo-imap4-flags-to-imap): Preserve argument
458         `flags'.
459
460 2005-02-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
461
462         * elmo-filter.el (elmo-message-set-cached): Call
463         `elmo-folder-notify-event' with event `cache-changed'.
464
465         * elmo-multi.el (elmo-message-set-cached): Ditto.
466
467         * elmo-pipe.el (elmo-message-set-cached): Ditto.
468
469 2005-02-16  Yoichi NAKAYAMA  <yoichi@geiin.org>
470
471         * elmo.el (elmo-folder-encache): Abolish.
472
473 2005-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
474
475         * elmo-dop.el (elmo-folder-delete-messages-dop): Delete 'Append' queue.
476         (elmo-folder-next-message-number-dop): Return appropriate negative
477         integer.
478
479 2005-02-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
480
481         * elmo-dop.el (elmo-dop-queue-flush): Remove files in dop spool on
482         clearing pending operations.
483         (elmo-folder-next-message-number-dop): Return appropriate negative
484         integer.
485
486 2005-02-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
487
488         * elmo.el (toplevel): Added autoload setting for `md5'.
489         (elmo-msgdb-path-encode-threshold): New user option.
490         (elmo-folder-msgdb-path): Encode msgdb path if its length is
491         longer than `elmo-msgdb-path-encode-threshold'.
492
493         * elmo-flag.el (elmo-global-mark-migrate): Use
494         `elmo-folder-expand-msgdb-path' instead of
495         `elmo-folder-msgdb-path'.
496
497 2005-02-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
498
499         * elmo-multi.el (elmo-multi-folder-diff): Fixed problem when the
500         element of the difference is nil.
501
502 2005-02-11  Yuuichi Teranishi  <teranisi@gohome.org>
503
504         * elmo-maildir.el (elmo-maildir-separator): Added some OS types
505         to the check logic of file systems which are weak in colon character.
506
507 2005-02-11  Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
508
509         * elmo-maildir.el (elmo-maildir-move-file): Simplify.
510
511 2005-02-10  Yuuichi Teranishi  <teranisi@gohome.org>
512
513         * elmo-maildir.el (elmo-maildir-move-file): New function.
514         (elmo-folder-append-buffer): Use it.
515         (elmo-folder-append-messages): Ditto.
516         (These changes are based on Ron Isaacson's patch [wl-en: 01205])
517
518         * elmo-imap4.el (elmo-imap4-decode-folder-string): Call `utf7-decode'.
519         (elmo-imap4-encode-folder-string): Call `utf7-encode'.
520
521         * elmo-maildir.el (elmo-maildir-separator): New user option.
522         (elmo-maildir-adjust-separator): New macro.
523         (elmo-maildir-list-location): Use it.
524         (elmo-maildir-update-current): Ditto.
525         (elmo-maildir-set-mark): Ditto.
526         (elmo-maildir-delete-mark): Ditto.
527         (These changes are based on Hiroya Murata's patch [wl: 13437])
528
529 2005-02-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
530
531         * elmo-nntp.el (elmo-nntp-server-command-index): Add entry `xhdr'.
532
533 2005-02-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
534
535         * elmo-flag.el (elmo-flag-valid-p): Simplify.
536         (elmo-folder-list-subfolders): Copy `elmo-global-flags'.
537         (elmo-folder-delete): Update `elmo-global-flag-folder-alist'.
538
539 2005-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>
540
541         * elmo-util.el (elmo-passwd-alist-load, elmo-passwd-alist-save):
542         Use `with-temp-buffer'.
543
544 2005-01-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
545
546         * elmo-flag.el (elmo-folder-initialize): Fixed the last change.
547
548         * elmo-util.el (elmo-read-search-condition): Eliminate (renamed to
549         `wl-read-search-condition').
550         (elmo-read-search-condition-internal): Likewise.
551
552         * elmo-flag.el (elmo-flag-char-regexp): New constant.
553         (elmo-flag-valid-p): New function.
554         (elmo-folder-initialize): Check flag name is valid.
555
556 2005-01-26  Yuuichi Teranishi  <teranisi@gohome.org>
557
558         * elmo-imap4.el (elmo-folder-list-subfolders): Use root mailbox without
559         delimiter to obtain root mailbox itself.
560
561 2005-01-25  Tetsurou Okazaki  <okazaki@be.to>
562
563         * elmo-net.el (elmo-network-session-idle-timeout): Fix customization
564         type mismatch.
565
566 2005-01-24  Yuuichi Teranishi  <teranisi@gohome.org>
567
568         * elmo-mime.el (elmo-mime-entity-display): Bind elmo-message-displaying
569         as t.
570
571 2005-01-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
572
573         * elmo-shimbun.el (toplevel): Require cl at compile.
574
575         * elmo-nntp.el (toplevel): Ditto.
576
577         * elmo-nmz.el (toplevel): Ditto.
578
579         * elmo-multi.el (toplevel): Ditto.
580
581         * elmo-file.el (toplevel): Ditto.
582
583         * elmo-dop.el (toplevel): Ditto.
584
585         * elmo-archive.el (toplevel): Likewise elmo and cl (at compile).
586
587 2005-01-20  Yuuichi Teranishi  <teranisi@gohome.org>
588
589         * mmimap.el (mmimap-make-mime-entity): Set children's top node number
590         as nil.
591
592         * elmo.el (elmo-message-fetch): Return t even when the output buffer
593         size of elmo-message-fetch-internal is 0 byte.
594
595 2005-01-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
596
597         * elmo-maildir.el (elmo-map-message-fetch): Fixed last change.
598
599 2005-01-13  Yoichi NAKAYAMA  <yoichi@geiin.org>
600
601         * elmo-shimbun.el (elmo-folder-plugged-p): Treat "@" as
602         always plugged.
603
604 2005-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
605
606         * elmo-maildir.el (elmo-map-message-fetch): Call
607         `elmo-map-folder-set-flag'.
608
609         * elmo.el (elmo-message-fetch-with-cache-process): Abolish.
610         (elmo-message-fetch): Merge from
611         `elmo-message-fetch-with-cache-process'.
612
613         * elmo-sendlog.el (elmo-message-fetch-with-cache-process): Abolish.
614         (elmo-message-fetch): Define.
615
616         * elmo-nntp.el (elmo-message-fetch): Renamed from
617         `elmo-message-fetch-with-cache-process'.
618
619         * elmo-cache.el (elmo-message-fetch-with-cache-process): Abolish.
620         (elmo-message-fetch): Define.
621
622         * elmo-util.el (elmo-condition-parse-primitive): Downcase
623         search-key.
624
625         * elmo-shimbun.el (shimbun-mua-search-id): Use
626         `elmo-message-entity' instead of `elmo-msgdb-message-entity'.
627         (elmo-shimbun-folder-shimbun-header): Ditto.
628         (elmo-shimbun-get-headers): Ditto.
629         (elmo-shimbun-update-overview): Ditto.
630
631         * elmo-pipe.el (elmo-folder-detach-messages): Define.
632
633         * elmo-net.el (elmo-folder-list-messages-unplugged): Use
634         `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
635
636 2005-01-13  Yuuichi Teranishi  <teranisi@gohome.org>
637
638         * elmo.el (elmo-message-fetch): Unset unread flag on server when
639         message is cached.
640         (elmo-message-fetch-string): Fixed argument.
641
642 2005-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
643
644         * elmo.el (elmo-message-fetch): Removed argument `outbuf' and
645         exchange order of arguments `section' and `unread'.
646         (elmo-message-encache): Follow the API change.
647         (elmo-message-match-condition): Ditto.
648         (elmo-generic-folder-append-messages): Ditto.
649         (elmo-message-fetch-string): New function.
650
651         * elmo-split.el (elmo-split-subr): Ditto.
652
653         * elmo-spam.el (elmo-spam-message-fetch): Ditto.
654
655         * elmo-pipe.el (elmo-message-fetch): Ditto.
656
657         * elmo-multi.el (elmo-message-fetch): Ditto.
658
659         * elmo-mime.el (elmo-message-mime-entity): Ditto.
660
661         * elmo-flag.el (elmo-global-flag-set-internal): Ditto.
662
663         * elmo-filter.el (elmo-message-fetch): Ditto.
664
665         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.
666
667         * elmo-imap4.el (mime-imap-location-section-body): Use
668         `elmo-message-fetch-string' instead of `elmo-message-fetch' and
669         follow the API change.
670
671 2005-01-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
672
673         * elmo-access.el: New file.
674
675         * elmo-null.el: Ditto.
676
677         * elmo-internal.el (elmo-internal-folder-list): Added `null'.
678
679 2005-01-08  Yuuichi Teranishi  <teranisi@gohome.org>
680
681         * elmo-net.el (elmo-network-session-idle-timeout): New option.
682         (elmo-network-session): New attribute `last-accessed'.
683         (elmo-network-get-session): Discard network cache if elapsed time
684         since last-accessed is larger than elmo-network-session-idle-timeout.
685
686 2005-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
687
688         * elmo.el (elmo-find-fetch-strategy): Removed argument `entity'
689         and added `number', `require-entireness'.
690         (elmo-find-fetch-strategy): Rewrite.
691         (elmo-message-fetch): Unset `unread' flag when argument unread is
692         non-nil.
693
694         * elmo-spam.el (elmo-spam-message-fetch): Follow the API change.
695
696         * elmo-multi.el (elmo-find-fetch-strategy): Ditto.
697         (elmo-message-fetch): Notify event `flag-changed'.
698
699         * elmo-pipe.el: Likewise.
700
701         * elmo-mime.el (elmo-mime-entity): New class.
702         (elmo-mime-entity-display-p): New generic function.
703         (elmo-mime-entity-display): Ditto.
704         (elmo-mime-entity-display-as-is): Ditto.
705         (mime-elmo-buffer-entity, mime-elmo-imap-entity): Inherit
706         elmo-mime-entity.
707         (elmo-make-mime-message-location): Removed.
708         (elmo-mime-message-display): Ditto.
709         (elmo-mime-display-as-is): Ditto.
710         (elmo-message-mime-entity): New function.
711
712         * elmo-imap4.el (elmo-find-fetch-strategy): Rewrite.
713
714         * elmo-filter.el (elmo-find-fetch-strategy): Follow the API
715         change.
716         (elmo-message-fetch): Re-count flagged message number and notify
717         event `flag-changed'.
718
719         * elmo-version.el (elmo-version): Up to 2.13.1.
720
721 2005-01-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
722
723         * elmo-filter.el (elmo-message-field): Define.
724         (elmo-message-set-field): Ditto.
725
726 2004-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
727
728         * elmo.el (elmo-message-set-cached): Call
729         `elmo-folder-notify-event' with cache-changed.
730         (elmo-event-handler-cache-changed): New generic function.
731
732 2004-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
733
734         * elmo-maildir.el (elmo-folder-append-buffer): Use elmo-copy-file
735         instead of elmo-add-name-to-file.
736         (elmo-folder-append-messages): Ditto.
737
738 2004-12-21  Yoichi NAKAYAMA  <yoichi@geiin.org>
739
740         * elmo.el (elmo-folder-update-threshold): Add nil to range.
741
742 2004-12-12  Yuuichi Teranishi  <teranisi@gohome.org>
743
744         * elmo-version.el (elmo-version): Up to 2.13.0.
745
746         * elmo-vars.el (elmo-msgdb-convert-type): Changed default value to
747         `auto'.
748
749         * modb-standard.el (modb-standard-economize-entity-size): Changed
750         default value to `t'.
751
752         * elmo-vars.el (elmo-msgdb-default-type): Changed default value to
753         `standard'.
754
755         * elmo-imap4.el (elmo-network-initialize-session): Erase buffer
756         after parsing greeting string.
757
758 2004-11-23  Daishi Kato <daishi@axlight.com>
759
760         * elsp-spamoracle.el (elmo-spam-spamoracle-spam-header-regexp):
761         New user option.
762         (elmo-spam-spamoracle-call): Use it.
763
764 2004-11-23  Yoichi NAKAYAMA  <yoichi@geiin.org>
765
766         * elmo.el (elmo-message-accessible-p): Message in dop spool
767         is accessible.
768
769 2004-11-23  Daishi Kato <daishi@axlight.com>
770
771         * elsp-spamoracle.el: New file.
772
773 2004-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
774
775         * elmo.el (elmo-message-flags-for-append): New function.
776         (elmo-generic-folder-append-messages): Use it.
777
778         * elmo-split.el (elmo-split-subr): Ditto.
779
780         * elmo-dop.el (elmo-dop-spool-folder-append-buffer): Add argument
781         `flags' and use elmo-folder-append-buffer instead of
782         write-region-as-binary.
783         (elmo-dop-filter-pending-messages): New function.
784         (elmo-folder-append-buffer-dop): Call
785         elmo-dop-spool-folder-append-buffer with `flag'.
786         (elmo-folder-set-flag-dop): Filter messages by
787         elmo-dop-filter-pending-messages.
788         (elmo-folder-unset-flag-dop): Ditto.
789         (elmo-folder-append-buffer-dop-delayed): Use
790         elmo-message-flags-for-append to get flags of the message and
791         simplify.
792
793 2004-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
794
795         * elmo-mime.el (elmo-mime-display-as-is): Treat ignore-cache argument.
796
797 2004-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
798
799         * elmo.el (elmo-folder): Added handlers slot.
800         (elmo-event-handler): New class.
801         (elmo-event-handler-flag-changed): New API.
802         (elmo-folder-add-handler): New function.
803         (elmo-folder-remove-handler): Ditto.
804         (elmo-folder-notify-event): Ditto.
805         (elmo-folder-set-flag): Call `elmo-folder-notify-event' with event
806         `flag-changed'.
807         (elmo-folder-unset-flag): Ditto.
808
809         * elmo-pipe.el (elmo-folder-set-flag): Ditto.
810         (elmo-folder-unset-flag): Ditto.
811
812         * elmo-multi.el (elmo-folder-set-flag): Ditto.
813         (elmo-folder-unset-flag): Ditto.
814
815         * elmo-filter.el (elmo-folder-set-flag): Ditto.
816         (elmo-folder-unset-flag): Ditto.
817
818         * elmo-version.el (elmo-version): Up to 2.11.33.
819
820 2004-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
821
822         * modb-legacy.el (elmo-msgdb-unset-flag): Accept flag `all'.
823
824 2004-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
825
826         * elmo-multi.el (elmo-folder-unset-flag): Ignore errors.
827
828         * elmo-flag.el (elmo-folder-unset-flag): Define.
829         (elmo-global-flag-detach): Do process when the flag is not target
830         flag.
831
832 2004-10-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
833
834         * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): New
835         variable.
836         (elmo-msgdb-create-message-entity-from-buffer): Use it.
837
838 2004-10-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
839
840         * elmo-filter.el (elmo-filter-folder-copy-flag-count): New
841         function.
842         (elmo-folder-delete-messages): Detach messages before delete
843         messages from target folder.
844         (elmo-folder-detach-messages): Set updated number-list to slot.
845
846 2004-10-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
847
848         * elmo-filter.el (elmo-folder-detach-messages): Always return t.
849
850 2004-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
851
852         * elmo.el (elmo-generic-folder-commit): Fixed parenthesis.
853
854 2004-10-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
855
856         * elmo.el (elmo-folder-delete-messages-internal): New API (for
857         internal use only).
858         (elmo-generic-folder-commit): Save `killed-list' even if msgdb is
859         not modified.
860         (elmo-folder-delete-messages): Define.
861         (elmo-folder-move-messages): Don't call
862         `elmo-folder-detach-messages'.
863         (elmo-folder-synchronize): Rewrite.
864         (elmo-folder-detach-messages): Delete numbers from `killed-list'.
865
866         * elmo-util.el (elmo-last): New function.
867         (elmo-set-list): Ditto.
868         (elmo-number-set-delete-list): Ditto.
869         (elmo-number-set-delete): Ditto.
870
871         * elmo-shimbun.el (elmo-folder-delete-messages): Define.
872
873         * elmo-map.el (elmo-folder-delete-messages-internal): Renamed from
874         `elmo-folder-delete-messages' and don't delete location map.
875         (elmo-folder-detach-messages): Define.
876
877         * elmo-imap4.el (elmo-folder-delete): Use
878         `elmo-folder-delete-messages-internal' instead of
879         `elmo-folder-delete-messages'.
880
881         * elmo-filter.el (elmo-folder-delete-messages): Call
882         `elmo-folder-detach-messages'.
883         (elmo-folder-detach-messages): Don't call
884         `elmo-folder-detach-messages' for target folder.
885
886         * elmo-cache.el (elmo-map-folder-delete-messages): Return t when
887         message deletion is succeeded.
888
889         * elmo-maildir.el (elmo-map-folder-delete-messages): Ditto.
890
891         * elmo-archive.el (elmo-folder-delete-messages-internal): Renamed
892         from `elmo-folder-delete-messages'.
893
894         * elmo-flag.el (elmo-folder-delete-messages-internal): Ditto.
895
896         * elmo-localdir.el (elmo-folder-delete-messages-internal): Ditto.
897
898         * elmo-net.el (elmo-folder-delete-messages-internal): Ditto.
899
900         * elmo-version.el (elmo-version): Up to 2.11.32.
901
902 2004-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
903
904         * elmo.el (autoload): Added autoload setting for `elmo-local-flag-p'.
905         (elmo-global-flag-list): Added obsolete variable setting.
906
907         * elmo-vars.el (elmo-preserved-flags): Fixed docstring.
908
909         * elmo-mime.el (elmo-mime-display-header-analysis): New variable.
910         (elmo-mime-insert-header-from-buffer): Don't decode header content when
911         `elmo-mime-display-header-analysis' is nil.
912
913         * elmo-flag.el (elmo-global-flags): Renamed from
914         `elmo-global-flag-list' (All other related portions are changed).
915         (elmo-local-flags): New variable.
916         (elmo-local-flag-p): New function.
917         (elmo-global-flag-set-internal): Cause an error when flag is not
918         global.
919
920 2004-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
921
922         * elmo-util.el (elmo-concat-path): Treat empty path.
923
924 2004-10-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
925
926         * elmo-split.el (elmo-split-address-equal): Fixed typo (field =>
927         field-or-fields).
928         (elmo-split-address-match): Ditto.
929         (elmo-split-equal): Ditto.
930         (elmo-split-match): Ditto.
931
932 2004-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
933
934         * elmo.el (elmo-message-flags): Abolish optional argument `msgid'.
935         (elmo-generic-folder-append-messages): If src message exists but
936         has no flag, pass (read) for the FLAG argument of
937         `elmo-folder-append-buffer'. Otherwise, pass nil.
938
939         * elmo-split.el (elmo-split-subr): Likewise.
940
941         * elmo-pipe.el (elmo-message-flags): Abolish optional argument `msgid'.
942
943         * elmo-multi.el (elmo-message-flags): Ditto.
944
945         * elmo-filter.el (elmo-message-flags): Ditto.
946
947         * elmo.el (elmo-folder-append-buffer): Fix docstring.
948         (elmo-generic-folder-append-messages): If elmo-message-flags return nil,
949         pass (read) for the FLAG argument of elmo-folder-append-buffer.
950         
951 2004-10-02  Yoichi NAKAYAMA  <yoichi@geiin.org>
952
953         * elmo-split.el (elmo-split-rule): Update comment.
954         (elmo-split-address-equal): Allow 2nd argument to be a list.
955         (elmo-split-address-match): Ditto.
956         (elmo-split-equal): Ditto.
957         (elmo-split-match): Ditto.
958
959 2004-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
960
961         * elmo.el (elmo-folder-append-buffer): Fix docstring.
962         (elmo-folder-append-msgdb): Don't treat `read'.
963         (elmo-message-flags): Don't return `read'.
964
965         * elmo-dop.el (elmo-folder-set-read-delayed): Don't treat `read'.
966         (elmo-folder-unset-read-delayed): Ditto.
967
968         * elmo-imap4.el (elmo-imap4-flags-to-imap): Ditto.
969
970 2004-09-26  Yoichi NAKAYAMA  <yoichi@geiin.org>
971
972         * elmo-imap4.el (elmo-folder-delete): Clear current-mailbox after
973         deletion.
974
975 2004-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
976
977         * elmo-mime.el (elmo-mime-display-as-is-internal): Insert decoded
978         header.
979
980 2004-09-23  Yuuichi Teranishi  <teranisi@gohome.org>
981
982         * modb-standard.el (modb-standard-load-entity): Don't bind inhibit-quit
983         here.
984         (elmo-msgdb-save): Bind inhibit-quit.
985         (modb-standard-message-entity): Ditto.
986
987 2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
988
989         * elmo-database.el: No need to require elmo-msgdb.
990
991 2004-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
992
993         * elmo-nmz.el (elmo-folder-list-subfolders): Use `directory-files'
994         instead of `elmo-list-subdirectories'.
995
996 2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
997
998         * elmo-nmz.el (elmo-folder-initialize): Enable "[" for access
999         group entry.
1000         (elmo-folder-exists-p): "[" is empty.
1001         (elmo-folder-list-subfolders): Define.
1002         (elmo-folder-have-subfolder-p): Ditto.
1003
1004 2004-09-19  Yoichi NAKAYAMA  <yoichi@geiin.org>
1005
1006         * elmo-flag.el (elmo-folder-delete): Update elmo-global-flag-list.
1007
1008 2004-09-14  Tetsurou Okazaki  <okazaki@be.to>
1009
1010         * elmo-filter.el (elmo-folder-local-p): Define.
1011
1012 2004-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1013
1014         * modb-standard.el (modb-standard-loaded-message-id): Return nil
1015         when entity is garbaged.
1016         (modb-standard-save-entity-1): Don't modify the original entity.
1017
1018 2004-09-13  Tetsurou Okazaki  <okazaki@be.to>
1019
1020         * elmo-util.el (elmo-delete-if): Reduce loop strength in a while loop.
1021
1022 2004-09-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1023
1024         * elmo.el (elmo-strict-folder-diff): Use
1025         `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
1026
1027 2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
1028
1029         * modb.el (elmo-msgdb-flag-available-p): New generic function.
1030         (elmo-msgdb-message-number): Ditto.
1031         (elmo-msgdb-message-field): Ditto.
1032
1033         * modb-standard.el (modb-standard-economize-entity-size): New user
1034         option.
1035         (modb-standard-loaded-message-id): New inline function.
1036         (modb-standard-load-entity): Use it.
1037         (modb-standard-save-entity-1): If `modb-standard-economize-entity-size',
1038         throw message-id string away.
1039         (elmo-msgdb-flag-available-p): Define.
1040         (elmo-msgdb-message-number): Ditto.
1041         (elmo-msgdb-message-field): Ditto.
1042
1043         * modb-legacy.el (modb-legacy-flag-list): Fix typo
1044         (suppoted -> supported).
1045         (modb-legacy-supported-flag-p): Ditto.
1046         (elmo-msgdb-set-flag): Ditto.
1047         (elmo-msgdb-unset-flag): Ditto.
1048         (elmo-msgdb-flag-available-p): Define.
1049
1050         * modb-entity.el (elmo-message-entity-handler): If CAR element of entity
1051         is `t', treat it as legacy entity.
1052         
1053         * elmo.el (elmo-message-flag-available-p): New generic function.
1054         (elmo-message-number): Ditto.
1055         (elmo-message-field): Use `elmo-msgdb-message-field'.
1056
1057         * elmo-vars.el (elmo-preserved-flags): Added `forwarded'.
1058
1059         * elmo-pipe.el (elmo-message-flag-available-p): Define.
1060         (elmo-message-number): Ditto.
1061
1062         * elmo-multi.el (elmo-message-number): Define.
1063         (elmo-message-flag-available-p): Ditto.
1064
1065         * elmo-filter.el (elmo-message-flag-available-p): Define.
1066         (elmo-message-number): Ditto.
1067
1068         * elmo-flag.el (elmo-flag-folder): Added slot `max-number'.
1069         (elmo-folder-initialize): Load `max-number'.
1070         (elmo-folder-commit): Save it.
1071         (elmo-folder-list-global-flag-messages): Use `elmo-message-number'.
1072         (elmo-global-flag-set-internal): Set up max-number slot.
1073
1074 2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
1075
1076         * elmo-version.el (elmo-version): Up to 2.11.31.
1077
1078 2004-09-09  Yuuichi Teranishi  <teranisi@gohome.org>
1079
1080         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Use
1081         unibyte string of the current buffer for the argument of `md5'
1082         (Reported by Yoichi NAKAYAMA <yoichi@geiin.org>).
1083
1084 2004-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1085
1086         * modb-legacy.el (modb-legacy-flag-list): New constant.
1087         (modb-legacy-suppoted-flag-p): New internal function.
1088         (elmo-msgdb-set-flag): Cause error when `flag' is not supported.
1089         (elmo-msgdb-unset-flag): Ditto.
1090
1091 2004-09-05  Yuuichi Teranishi  <teranisi@gohome.org>
1092
1093         * elmo.el (elmo-make-folder): Remove text properties for prefix.
1094
1095         * elmo-flag.el (elmo-folder-list-subfolders): Fetch flag names
1096         from msgdb.
1097
1098 2004-08-31  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1099
1100         * elmo-multi.el (elmo-folder-count-flags): Changed return value
1101         (follow the API change).
1102
1103         * elmo-filter.el (elmo-folder-count-flags): Ditto.
1104
1105 2004-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
1106
1107         * modb-standard.el (modb-standard-digest-flags): Abolish.
1108         (elmo-msgdb-list-flagged): Use elmo-digest-flags instead.
1109
1110         * elmo-vars.el (elmo-digest-flags): New variable.
1111         (elmo-preserved-flags): Moved from elmo-flag.el.
1112
1113         * elmo-imap4.el (elmo-imap4-flag-to-imap-search-key): New function.
1114         (elmo-imap4-flag-to-imap-criteria): Ditto.
1115         (elmo-imap4-folder-list-flagged): Use it.
1116
1117         * elmo-flag.el (elmo-preserved-flags): Moved to elmo-vars.el.
1118
1119         * elmo.el (elmo-folder-count-flags): Changed return value.
1120
1121         * elmo-flag.el (elmo-preserved-flags): New variable.
1122         (elmo-get-global-flags): Use it.
1123
1124         * modb-standard.el (modb-standard-digest-flags): New variable.
1125         (elmo-msgdb-list-flagged): Use it for `digest'; Add `uncached';
1126         Changed behavior of `any'.
1127
1128         * elmo-imap4.el (elmo-imap4-flag-specs): Added keyword flags
1129         which are defined the Internet draft
1130         (draft-melnikov-imap-keywords-03.txt).
1131         (elmo-imap4-flags-to-imap): New function.
1132         (elmo-folder-append-buffer): Use it.
1133
1134         * modb-legacy.el (modb-legacy-answered-uncached-mark): Fixed typo
1135         in the docstring.
1136
1137         * utf7.el (utf7-fragment-encode): Don't use narrow-to-region to
1138         avoid the bug of Emacs 21.3.
1139
1140 2004-08-31  Yoichi NAKAYAMA  <yoichi@geiin.org>
1141
1142         * utf7.el (utf7-utf-16-coding-system): Avoid error when the
1143         function find-coding-system does not exist.
1144
1145 2004-08-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1146
1147         * elmo-util.el (elmo-condition-parse-search-value): Fixed atom
1148         parsing.
1149
1150 2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
1151
1152         * elmo-pop3.el (elmo-pop3-read-response): Refined the regexp for
1153         response codes.
1154
1155 2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
1156
1157         * elmo-pop3.el (elmo-pop3-read-response): Treat response codes.
1158         (elmo-network-close-session): Follow the changes in
1159         `elmo-pop3-read-response'.
1160         (elmo-pop3-auth-user): Ditto.
1161         (elmo-pop3-auth-apop): Ditto.
1162         (elmo-network-initialize-session): Ditto.
1163         (elmo-network-authenticate-session): Ditto.
1164         (elmo-network-setup-session): Ditto.
1165         (elmo-folder-status): Ditto.
1166         (elmo-message-fetch-plugged): Ditto.
1167         (elmo-pop3-delete-msg): Ditto.
1168
1169 2004-07-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
1170
1171         * elmo-archive.el (elmo-archive-folder-append-buffer): Return nil
1172         on failure.
1173
1174 2004-07-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1175
1176         * elmo-util.el (elmo-set-work-buf): Define edebug spec and indent
1177         style.
1178         (elmo-bind-directory): Ditto.
1179
1180 2004-07-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
1181
1182         * elmo.el (elmo-folder-append-messages): Note on return value.
1183         * elmo-archive.el (elmo-folder-append-messages): Don't return
1184         message numbers which could not be appended.
1185
1186 2004-07-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
1187
1188         * elmo.el (elmo-message-fetch-threshold): Add nil to its range.
1189
1190 2004-06-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1191
1192         * elmo-version.el (elmo-version): Up to 2.11.30.
1193
1194 2004-06-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1195
1196         * elmo.el (elmo-folder-synchronize): Add 5th optional argument
1197         `mask'.
1198
1199         * elmo-pipe.el (elmo-folder-synchronize): Follow the API chagne.
1200
1201         * elmo-multi.el (elmo-folder-synchronize): Likewise.
1202         (elmo-multi-split-numbers): Add elmo-folder object into each
1203         element of return value at first.
1204         (elmo-folder-delete-messages): Follow the above change.
1205         (elmo-folder-detach-messages): Ditto.
1206
1207         * elmo-filter.el (elmo-folder-synchronize): Minimize message
1208         number which is synchronized in target folder.
1209
1210 2004-05-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1211
1212         * elmo-shimbun.el (elmo-shimbun-update-overview-folder-list):
1213         Change default value to symbol `all'.
1214         (elmo-map-message-fetch): Change condition to update overview
1215         follow the above.
1216
1217 2004-05-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
1218
1219         * elmo-shimbun.el (elmo-map-message-fetch): Change default
1220         behavior to update overview.
1221         (elmo-shimbun-update-overview-folder-list): Note it.
1222
1223 2004-05-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1224
1225         * modb-standard.el (modb-standard-message-entity): Avoid infinite
1226         recursive call.
1227
1228 2004-05-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1229
1230         * elmo-spam.el (elmo-spam-register-good-messages): Don't call
1231         buffer-disable-undo, it is unnecessary.
1232         (elmo-spam-register-good-messages): Ditto.
1233
1234         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
1235         Ditto.
1236
1237         * elsp-sa.el (elmo-spam-spamassassin-register-messages): Ditto.
1238
1239 2004-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1240
1241         * elmo-util.el (elmo-set-buffer-multibyte): Abolish.
1242         (elmo-set-work-buf): Use set-buffer-multibyte instead of
1243         elmo-set-buffer-multibyte.
1244         (elmo-object-load): Ditto.
1245         (elmo-save-buffer): Ditto.
1246         (elmo-delete-char): Ditto.
1247         (elmo-file-field-primitive-condition-match): Ditto.
1248         (elmo-mime-string): Ditto.
1249
1250         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Ditto.
1251         (elmo-archive-field-condition-match): Ditto.
1252
1253         * elmo-imap4.el (elmo-imap4-setup-send-buffer): Ditto.
1254
1255         * elmo-net.el (elmo-network-initialize-session-buffer): Ditto.
1256
1257         * elmo-nntp.el (elmo-nntp-parse-overview-string): Ditto.
1258         (elmo-nntp-msgdb-create-message): Ditto.
1259
1260         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
1261
1262         * elmo.el (elmo-message-match-condition): Ditto.
1263         (elmo-message-match-condition): Ditto.
1264
1265         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
1266         Ditto.
1267
1268         * elmo-version.el (elmo-version): Up to 2.11.29.
1269
1270         * elmo-spam.el (elmo-spam-scheme): Add `header' as a candidate.
1271         (elsp-header): New backend.
1272
1273         * elmo-util.el (elmo-decoded-field-body): New function.
1274
1275 2004-05-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1276
1277         * elmo-version.el (elmo-version): Up to 2.11.28.
1278
1279 2004-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1280
1281         * elmo-filter.el: Rewrite.
1282
1283         * elmo-version.el (elmo-version): Up to 2.11.27.
1284
1285 2004-05-05  Yuuichi Teranishi  <teranisi@gohome.org>
1286
1287         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Changed
1288         msgdb path for the localdir folder with absolute path.
1289
1290         * utf7.el: Synch up with latest gnus/utf7.el;
1291         Modified for latest Emacs.
1292
1293 2004-05-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1294
1295         * elmo-shimbun.el (elmo-folder-initialize): Set a dummy when the
1296         shimbun backend couldn't open.
1297
1298 2004-04-25  Tetsurou Okazaki  <okazaki@be.to>
1299
1300         * elmo-pipe.el (elmo-message-folder): Call `elmo-message-folder' recursively.
1301         (elmo-folder-diff): Avoid error `wrong-type-argument number-or-marker-p nil'
1302         when a destination folder is a filter folder.
1303
1304 2004-04-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1305
1306         * elmo.el (elmo-message-flags): Add optional argument `msgid'.
1307         (elmo-generic-folder-append-messages): Call elmo-message-flags
1308         with argument `msgid'.
1309
1310         * elmo-split.el (elmo-split-subr): Ditto.
1311
1312         * elmo-pipe.el (elmo-message-flags): Follow the API change.
1313
1314         * elmo-multi.el (elmo-message-flags): Ditto.
1315
1316 2004-04-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1317
1318         * elmo.el (elmo-folder): Add new slot `flag-table'.
1319         (elmo-folder-flag-table): New API.
1320         (elmo-folder-close-flag-table): Ditto.
1321         (elmo-folder-preserve-flags): New function.
1322         (elmo-generic-folder-append-messages): Use
1323         `elmo-folder-flag-table' and `elmo-folder-close-flag-table'.
1324         Flag of a non-registered message, it sets to nil.
1325         Does not set flag to flag-table.
1326
1327         * elmo-maildir.el (elmo-folder-append-buffer): Use
1328         `elmo-folder-preserve-flags'.
1329         (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
1330         `elmo-folder-close-flag-table'.
1331
1332         * elmo-archive.el (elmo-folder-append-buffer): Fix interface.
1333         (elmo-archive-folder-append-buffer): Use
1334         `elmo-folder-preserve-flags'.
1335
1336         * elmo-cache.el (elmo-folder-append-buffer): Ditto.
1337
1338         * elmo-imap4.el (elmo-folder-append-buffer): Ditto.
1339
1340         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
1341         (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
1342         `elmo-folder-close-flag-table'.
1343
1344         * elmo-version.el (elmo-version): Up to 2.11.26.
1345
1346 2004-04-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1347
1348         * elmo-vars.el (elmo-network-stream-type-alist): Add direct.
1349
1350         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Don't use
1351         md5's 4th and 5th argument (non-existent in flim one).
1352
1353 2004-04-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1354
1355         * elmo-split.el (elmo-split-subr): Flag of a non-registered
1356         message, It sets to nil.
1357
1358 2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1359
1360         * elmo.el (elmo-folder-list-messages): Merge lists only if both
1361         list is non-nil.
1362
1363 2004-04-16  YAMASHITA Junji <ysjj@unixuser.org>
1364
1365         * elmo.el (elmo-folder-list-messages): Use elmo-uniq-sorted-list.
1366
1367         * elmo-nntp.el (elmo-nntp-make-msglist): Use elmo-make-number-list.
1368
1369         * elmo-util.el (elmo-uniq-sorted-list): New function.
1370         (elmo-make-number-list): Ditto.
1371         (elmo-number-set-to-number-list): Use elmo-make-number-list
1372         and don't use nreverse.
1373
1374 2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1375
1376         * elmo-version.el (elmo-version): Up to 2.11.25.
1377
1378 2004-04-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1379
1380         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): If date
1381         field not exists in message, Use md5 message digest of header.
1382
1383 2004-04-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
1384
1385         * elmo.el (elmo-folder-append-buffer): Add note on return value.
1386         * elmo-cache.el (elmo-folder-append-buffer): Return nil on failure.
1387         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
1388         * elmo-split.el (elmo-split-subr): Check return value of
1389         elmo-folder-append-buffer.
1390
1391         * elmo-localdir.el (elmo-folder-append-buffer): Create flag-table.
1392         * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
1393
1394         * elmo-cache.el (elmo-folder-append-buffer): Check existence of
1395         message-id.
1396
1397 2004-04-10  Yoichi NAKAYAMA  <yoichi@geiin.org>
1398
1399         * elmo-split.el (elmo-split-subr): Append message with flag.
1400
1401         * elmo-localdir.el (elmo-folder-append-buffer): Fix interface.
1402         * elmo-flag.el (elmo-folder-append-buffer): Ditto.
1403         * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
1404
1405 2004-04-03  Tetsurou Okazaki  <okazaki@be.to>
1406
1407         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use `elmo-delete-cr-buffer'.
1408         * elmo-nntp.el (elmo-nntp-retrieve-headers): Ditto.
1409         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
1410
1411 2004-03-29  Tetsurou Okazaki  <okazaki@be.to>
1412
1413         * elmo-pop3.el (elmo-pop3-read-contents): Replace an argument `buffer'
1414         with a function call of `process-buffer'.  All callers are updated.
1415         (elmo-pop3-retrieve-headers): Likewise.  Move `process' to the 1st argument.
1416         Remove redundant `set-buffer' in a while loop.
1417
1418 2004-03-28  Tetsurou Okazaki  <okazaki@be.to>
1419
1420         * elmo-pop3.el (elmo-pop3-send-command): Combine `process-send-string'
1421         calls.
1422
1423 2004-03-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1424
1425         * elsp-spamfilter.el (elmo-spam-buffer-spam-p): Call
1426         elsp-spamfilter-register-buffer-internal with current buffer.
1427         (elmo-spam-register-spam-buffer): Ditto.
1428         (elmo-spam-register-good-buffer): Ditto.
1429
1430 2004-03-15  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
1431
1432         * elmo-imap4.el (elmo-folder-list-subfolders): Add root mailbox
1433         if it is not contained in the response(A workaround for courier-imap).
1434
1435 2004-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1436
1437         * elmo-imap4.el (elmo-folder-set-flag-plugged): Fix mismatched
1438         parenthesis.
1439
1440 2004-03-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
1441
1442         * elmo-vars.el (elmo-msgdb-default-type): Remove generic from the
1443         range.
1444
1445 2004-03-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1446
1447         * modb-standard.el (elmo-msgdb-list-flagged): Use append instead
1448         of nconc.
1449
1450         * modb-entity.el (elmo-msgdb-match-condition-primitive): Added
1451         argument handler.
1452         (elmo-msgdb-message-match-condition): Follow the change above.
1453
1454 2004-02-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1455
1456         * elmo-flag.el (elmo-folder-initialize): Complete abbreviated
1457         folder name.
1458
1459 2004-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1460
1461         * elmo.el (elmo-folder-kill-messages): Don't use msgdb directly.
1462
1463 2004-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1464
1465         * elmo.el (elmo-folder-kill-messages): Fix to update killed list.
1466
1467 2004-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1468
1469         * elmo-file.el (elmo-file-find): Fixed the problem when file is
1470         not found.
1471
1472 2004-02-22  Yuuichi Teranishi  <teranisi@gohome.org>
1473
1474         * elmo-file.el (elmo-file-find): Use expand-file-name for return
1475         value.
1476         (elmo-file-command-argument): Undo last change for cygwin.
1477         (elmo-file-detect-content-type): Renamed from elmo-file-detect-format;
1478         Don't return nil.
1479         (elmo-map-message-fetch): Use elmo-file-detect-content-type.
1480
1481 2004-02-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1482
1483         * elmo-file.el (elmo-file-command-argument): Fixed problem when a
1484         value returned from elmo-file-find is nil.
1485
1486 2004-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
1487
1488         * elmo-mime.el (elmo-mime-display-as-is-coding-system): Moved
1489         to elmo-vars.el.
1490
1491         * elmo.el (elmo-message-match-condition): Use elmo-message-fetch
1492         instead of insert-file-contents-as-binary.
1493         (elmo-message-set-field): New generic function.
1494
1495         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Follow the
1496         behavior change on `split-string'.
1497
1498         * elmo-file.el (elmo-file-find): New function.
1499         (elmo-file-command): New user option.
1500         (elmo-file-command-argument): Ditto.
1501         (elmo-file-fetch-max-size): Ditto.
1502         (elmo-file-detect-format): New function.
1503         (elmo-map-message-fetch): Use elmo-file-fetch-max-size;
1504         Use elmo-file-detect-format.
1505         (elmo-map-folder-list-message-locations): Don't treat directories.
1506
1507 2004-02-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1508
1509         * elmo-util.el (elmo-string-partial-p): Removed unused function.
1510         (elmo-passwd-alist-clear): Shred password before clear.
1511         (elmo-remove-passwd): Remove all mached pair.
1512
1513 2004-02-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1514
1515         * elmo.el (elmo-folder-synchronize): Fix description of the return
1516         value.
1517
1518 2004-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
1519
1520         * elmo.el (elmo-message-fetch-bodystructure): New method.
1521         (elmo-message-fetch-bodystructure): Define default.
1522
1523         * elmo-imap4.el (mime-imap-location-bodystructure): Call
1524         elmo-message-fetch-bodystructure.
1525         (elmo-message-fetch-bodystructure): Define.
1526
1527         * elmo-filter.el (elmo-message-fetch-bodystructure): Define.
1528
1529 2004-02-15  Tetsurou Okazaki  <okazaki@be.to>
1530
1531         * elmo-filter.el (elmo-message-folder): Define.
1532
1533 2004-02-13  Yuuichi Teranishi  <teranisi@gohome.org>
1534
1535         * elmo.el (elmo-message-fetch-with-cache-process): Don't call
1536         elmo-delete-cr-buffer.
1537
1538         * elmo-imap4.el (elmo-imap4-message-fetch): Call elmo-delete-cr-buffer.
1539
1540         * elmo-pop3.el (elmo-message-fetch-plugged): Ditto.
1541
1542         * elmo-nntp.el (elmo-nntp-read-body): Ditto.
1543
1544         * elmo-file.el (elmo-map-message-fetch): Decode body only when content
1545         type seems to be a text.
1546
1547 2004-02-12  Yuuichi Teranishi  <teranisi@gohome.org>
1548
1549         * elsp-sa.el (elmo-spam-register-spam-buffer): Don't specify '--forget'.
1550         (elmo-spam-register-good-buffer): Ditto.
1551         (elmo-spam-spamassassin-register-messages): Ditto.
1552
1553         * elmo-util.el (elmo-string-member-ignore-case): Define with
1554         static-cond.
1555
1556 2004-02-09  Yuuichi Teranishi  <teranisi@gohome.org>
1557
1558         * elmo.el (elmo-folder-type): Undo last change.
1559
1560         * slp.el (slp-exec-wait): Avoid byte-compile warnings.
1561
1562         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Avoid byte-compile
1563         warnings.
1564
1565         * elmo-file.el: New file.
1566         
1567         * modb-standard.el (elmo-msgdb-list-flagged): Treat keyword flags.
1568
1569         * elsp-sa.el (elmo-spam-spamassassin-max-messages-per-process): New
1570         variable.
1571         (elmo-spam-spamassassin-register-messages): New inline function.
1572         (elmo-spam-register-spam-messages): Define.
1573         (elmo-spam-register-good-messages): Ditto.
1574
1575         * elsp-bogofilter.el (elmo-spam-bogofilter-max-messages-per-process):
1576         Fixed typo.
1577
1578         * elmo.el (toplevel): Added autoload setting for
1579         `elmo-get-global-flags'.
1580         (elmo-message-has-global-flag-p): New function.
1581         (elmo-message-set-global-flags): Ditto.
1582         (elmo-folder-type): Improvement for name: format.
1583
1584         * elmo-imap4.el (elmo-imap4-session-flag-available-p): Check
1585         availability of keyword flags.
1586         (elmo-imap4-folder-list-flagged): Treat keyword flags.
1587         (elmo-folder-list-flagged-plugged): Renamed from
1588         elmo-folder-list-flagged-unplugged.
1589         (elmo-imap4-set-flag): If "\*" is treated as permanent flag,
1590         accept any flag as keyword flag.
1591         (elmo-folder-set-flag-plugged): Accept keyword flags.
1592         (toplevel): Added autoload setting for `elmo-get-global-flags'.
1593
1594         * elmo-flag.el (elmo-get-global-flags): New function.
1595
1596         * elmo-filter.el (elmo-folder-diff): Fix total number for filter
1597         folders.
1598
1599         * elmo-version.el (elmo-version): Up to 2.11.24.
1600
1601 2004-02-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
1602
1603         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
1604         elmo-multiple-field-body instead of std11-field-body to check all
1605         headers.
1606
1607 2004-02-07  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1608
1609         * elmo-util.el (elmo-cache-expire): Completion require match "age"
1610         or "size".
1611
1612 2004-01-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1613
1614         * elmo-util.el (elmo-get-hash-val): Check symbol is bound if
1615         unintern is unbound.
1616
1617 2004-01-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
1618
1619         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
1620         Protect from infinite loop.
1621
1622 2004-01-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1623
1624         * elsp-bogofilter.el
1625         (elmo-spam-bogofilter-max-messages-per-process): New user option.
1626         (elmo-spam-bogofilter-register-messages): New internal function.
1627         (elmo-spam-register-spam-messages): Define.
1628         (elmo-spam-register-good-messages): Ditto.
1629
1630 2004-01-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1631
1632         * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
1633         Added "-vv" if elmo-spam-bogofilter-debug is non-nil.
1634         (elmo-spam-bogofilter-call): Fixed the last change.
1635         (elmo-spam-bogofilter-arguments): Ditto.
1636
1637         * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
1638         Follow the options change of latest bogofilter.
1639
1640         * elsp-bogofilter.el (elmo-spam-bogofilter-spam-switch): Abolish.
1641         (elmo-spam-bogofilter-good-switch): Ditto.
1642         (elmo-spam-bogofilter-arguments-alist): New user option.
1643         (elmo-spam-bogofilter-debug): Ditto.
1644         (elmo-spam-bogofilter-call): Renamed from
1645         `elsp-bogofilter-call-bogofilter'. If elmo-spam-bogofilter-debug
1646         is non-nil, insert output in buffer for debug.
1647         (elmo-spam-bogofilter-arguments): New macro.
1648         (elmo-spam-buffer-spam-p): Use it.
1649         (elsp-bogofilter-register-buffer): Ditto.
1650
1651 2004-01-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1652
1653         * elmo-cache.el (elmo-folder-list-subfolders): Fix directory-files
1654         regexp.
1655
1656 2004-01-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1657
1658         * elsp-bsfilter.el (elmo-spam-bsfilter-shell-program): Set default
1659         value as "ruby".
1660         (elmo-spam-bsfilter-shell-switch): Set default value as nil.
1661         (elmo-spam-bsfilter-program): Set default value as full path for
1662         `bsfilter'.
1663         (elmo-spam-bsfilter-debug): New user option.
1664         (elsp-bsfilter-call-bsfilter): If elmo-spam-bsfilter-debug is
1665         non-nil, insert output in buffer for debug. Fix treating of
1666         argument.
1667
1668 2004-01-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1669
1670         * elmo-maildir.el (elmo-map-folder-set-flag): Use cdr of
1671         `elmo-maildir-flag-specs' element instead of one.
1672         (elmo-map-folder-unset-flag): Ditto.
1673         (Reported by Ken Makimura <macky@astem.or.jp>)
1674
1675         * elmo-imap4.el (elmo-folder-set-flag-plugged): Fixed.
1676         (elmo-folder-unset-flag-plugged): Ditto.
1677
1678 2004-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1679
1680         * elmo-nntp.el (elmo-folder-list-flagged): Return a list according
1681         to `reads' slot only if `in-msgdb' is nil.
1682
1683 2004-01-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1684
1685         * elmo-nntp.el (elmo-folder-list-flagged): Undo the last change
1686         and complement argument list.
1687
1688 2004-01-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
1689
1690         * elmo-nntp.el (elmo-folder-list-flagged-internal): Define this
1691         instead of elmo-folder-list-flagged.
1692
1693 2004-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1694
1695         * elmo-spam.el (elmo-spam-scheme): Add 'bsfilter' as a candidate.
1696
1697         * elsp-bsfilter.el: New file.
1698
1699         * elmo-pipe.el (elmo-folder-list-unreads,
1700         elmo-folder-list-answereds,
1701         elmo-folder-list-importants,
1702         elmo-folder-flag-as-important,
1703         elmo-folder-unflag-important,
1704         elmo-folder-flag-as-read,
1705         elmo-folder-unflag-read,
1706         elmo-folder-flag-as-answered,
1707         elmo-folder-unflag-answered): Remove.
1708         (elmo-folder-set-flag): Define.
1709         (elmo-folder-unset-flag): Ditto.
1710
1711         * elmo-nntp.el (elmo-folder-flag-as-read): Remove.
1712         (elmo-folder-set-flag): Define.
1713         (elmo-folder-unset-flag): Ditto.
1714         (elmo-folder-list-unreads): Remove.
1715         (elmo-folder-list-flagged): Define.
1716
1717         * elmo-net.el (elmo-folder-list-flagged-internal): Define.
1718         (elmo-folder-list-unreads,
1719         elmo-folder-list-importants,
1720         elmo-folder-list-answereds,
1721         elmo-folder-list-unreads-plugged,
1722         elmo-folder-list-importants-plugged,
1723         elmo-folder-list-answereds-plugged): Remove.
1724         (elmo-folder-list-flagged-plugged): New method.
1725         (elmo-folder-unflag-important,
1726         elmo-folder-flag-as-important,
1727         elmo-folder-unflag-read,
1728         elmo-folder-flag-as-read,
1729         elmo-folder-unflag-answered,
1730         elmo-folder-flag-as-answered,
1731         elmo-folder-flag-as-read-unplugged,
1732         elmo-folder-unflag-read-unplugged,
1733         elmo-folder-flag-as-important-unplugged,
1734         elmo-folder-unflag-important-unplugged,
1735         elmo-folder-flag-as-answered-unplugged,
1736         elmo-folder-unflag-answered-unplugged): Remove.
1737         (elmo-folder-set-flag): Define.
1738         (elmo-folder-unset-flag): Ditto.
1739         (elmo-folder-set-flag-unplugged): Ditto.
1740         (elmo-folder-unset-flag-unplugged): Ditto.
1741
1742         * elmo-multi.el (elmo-folder-list-unreads,
1743         elmo-folder-list-answereds,
1744         elmo-folder-list-importants,
1745         elmo-folder-flag-as-important,
1746         elmo-folder-unflag-important,
1747         elmo-folder-flag-as-read,
1748         elmo-folder-unflag-read,
1749         elmo-folder-flag-as-answered,
1750         elmo-folder-unflag-answered): Remove.
1751         (elmo-folder-set-flag): Define.
1752         (elmo-folder-unset-flag): Ditto.
1753
1754         * elmo-map.el (elmo-map-folder-unflag-important,
1755         elmo-map-folder-flag-as-important,
1756         elmo-map-folder-unflag-read,
1757         elmo-map-folder-flag-as-read,
1758         elmo-map-folder-unflag-answered,
1759         elmo-map-folder-flag-as-answered): Remove.
1760         (elmo-map-folder-set-flag): New method.
1761         (elmo-map-folder-unset-flag): Ditto.
1762         (elmo-map-folder-list-unreads,
1763         elmo-map-folder-list-importants,
1764         elmo-map-folder-list-answereds): Remove.
1765         (elmo-folder-list-flagged-internal): Define.
1766         (elmo-map-folder-list-flagged): New method.
1767
1768         * elmo-maildir.el (elmo-maildir-flag-specs): New internal variable.
1769         (elmo-map-folder-list-unreads,
1770         elmo-map-folder-list-importants,
1771         elmo-map-folder-list-flagged): Remove.
1772         (elmo-map-folder-list-flagged): Define.
1773         (elmo-map-folder-flag-as-important,
1774         elmo-map-folder-unflag-important,
1775         elmo-map-folder-flag-as-read,
1776         elmo-map-folder-unflag-read,
1777         elmo-map-folder-flag-as-answered,
1778         elmo-map-folder-unflag-answered): Remove.
1779         (elmo-maildir-set-mark-messages): New internal function.
1780         (elmo-map-folder-set-flag): Define.
1781         (elmo-map-folder-unset-flag): Ditto.
1782
1783         * elmo.el (toplevel): Added autoload setting for
1784         `elmo-folder-list-global-flag-messages'.
1785         (elmo-folder-list-unreads,
1786         elmo-folder-list-importants,
1787         elmo-folder-list-answereds): Remove.
1788         (elmo-folder-list-flagged): Use `elmo-folder-list-flagged-internal'.
1789         Return a list whitch merged with messages have global flag.
1790         (elmo-folder-list-flagged-internal): New method.
1791         (elmo-folder-unflag-important,
1792         elmo-folder-flag-as-important,
1793         elmo-folder-unflag-read,
1794         elmo-folder-flag-as-read,
1795         elmo-folder-unflag-answered,
1796         elmo-folder-flag-as-answered): Remove.
1797         (elmo-folder-set-flag): New method.
1798         (elmo-folder-unset-flag): Ditto.
1799         (elmo-message-set-flag):Use `elmo-folder-set-flag'.
1800         (elmo-message-unset-flag):Use `elmo-folder-unset-flag'.
1801
1802         * elmo-imap4.el (elmo-imap4-flag-specs): New internal variable.
1803         (elmo-folder-list-unreads-plugged,
1804         elmo-folder-list-importants-plugged,
1805         elmo-folder-list-answereds-plugged,
1806         elmo-folder-list-flagged-unplugged,
1807         elmo-folder-unflag-important-plugged,
1808         elmo-folder-flag-as-important-plugged,
1809         elmo-folder-unflag-read-plugged,
1810         elmo-folder-flag-as-read-plugged,
1811         elmo-folder-unflag-answered-plugged,
1812         elmo-folder-flag-as-answered-plugged): Remove.
1813         (elmo-folder-set-flag-plugged,
1814         elmo-folder-unset-flag-plugged): Define.
1815
1816         * elmo-flag.el (elmo-folder-initialize): Register to
1817         `elmo-global-flag-list' if flag is not global.
1818         (elmo-folder-append-messages): Set flag to source messages.
1819
1820         * elmo-filter.el (elmo-filter-folder-list-unreads,
1821         elmo-folder-list-unreads,
1822         elmo-filter-folder-list-importants,
1823         elmo-folder-list-importants,
1824         elmo-folder-flag-as-read,
1825         elmo-folder-unflag-read,
1826         elmo-folder-flag-as-important,
1827         elmo-folder-unflag-important,
1828         elmo-folder-flag-as-answered,
1829         elmo-folder-unflag-answered): Remove.
1830         (elmo-folder-set-flag): Define.
1831         (elmo-folder-unset-flag): Ditto.
1832
1833         * elmo-dop.el (elmo-folder-flag-as-read-dop,
1834         elmo-folder-unflag-read-dop,
1835         elmo-folder-flag-as-important-dop,
1836         elmo-folder-unflag-important-dop,
1837         elmo-folder-flag-as-answered-dop,
1838         elmo-folder-unflag-answered-dop): Remove.
1839         (elmo-folder-set-flag-dop,
1840         elmo-folder-unset-flag-dop,
1841         elmo-folder-set-important-delayed,
1842         elmo-folder-unset-important-delayed,
1843         elmo-folder-set-read-delayed,
1844         elmo-folder-unset-read-delayed,
1845         elmo-folder-set-answered-delayed,
1846         elmo-folder-unset-answered-delayed): New function.
1847         (elmo-dop-queue-merge-method-list): Follow the above chagned.
1848         (elmo-dop-queue-method-name-alist): Ditto.
1849
1850         * elmo-version.el (elmo-version): Up to 2.11.23.
1851
1852 2004-01-11  Yuuichi Teranishi  <teranisi@gohome.org>
1853
1854         * elmo-spam.el (elmo-spam-scheme): Add 'sa' as a candidate.
1855
1856         * elsp-sa.el: New file.
1857
1858 2003-12-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1859
1860         * modb-standard.el (modb-standard-message-entity): New function.
1861         (elmo-msgdb-message-entity): Use it.
1862
1863 2003-12-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1864
1865         * elmo-internal.el (elmo-folder-list-subfolders): Rewrite; Fixed
1866         behavior when one-level is nil.
1867
1868         * elmo-flag.el (elmo-folder-list-subfolders): Defined.
1869
1870         * elmo-sendlog.el (elmo-folder-have-subfolder-p): Ditto.
1871
1872 2003-12-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1873
1874         * elmo.el (elmo-folder-set-info-max-by-numdb): Don't use `sort' to
1875         get max number.
1876         (elmo-generic-folder-diff): Ditto.
1877
1878         * elmo-nntp.el (elmo-nntp-catchup-msgdb): Ditto.
1879         (elmo-folder-update-number): Ditto.
1880
1881         * elmo-dop.el (elmo-folder-status-dop): Ditto.
1882         (elmo-folder-next-message-number-dop): Ditto.
1883
1884 2003-12-04  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1885
1886         * elmo-filter.el (elmo-folder-msgdb-create): Use
1887         `elmo-message-entity' and `elmo-message-flags' instead of
1888         `elmo-msgdb-message-entity' and `elmo-msgdb-flags'.
1889
1890 2003-11-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1891
1892         * elmo-spam.el (elmo-spam-processor): Added 3rd argument
1893         `if-exists'.
1894
1895 2003-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1896
1897         * elmo-multi.el (elmo-folder-newsgroups): Simplify.
1898
1899         * elmo-pipe.el (elmo-folder-get-primitive-list): Likewise.
1900
1901         * elmo-filter.el (elmo-folder-get-primitive-list): Fixed.
1902
1903 2003-11-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1904
1905         * elmo-version.el (elmo-version): Up to 2.11.22.
1906
1907 2003-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1908
1909         * modb-standard.el (elmo-msgdb-delete-messages): Always return t.
1910
1911 2003-11-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1912
1913         * modb-standard.el (elmo-msgdb-delete-messages): Dose not process
1914         if the message dose not exist.
1915
1916 2003-11-18  Tetsurou Okazaki  <okazaki@be.to>
1917
1918         * elmo-version.el (elmo-version): Up to 2.11.21.
1919
1920 2003-11-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1921
1922         * modb-standard.el (toplevel): Don't require mime.
1923
1924 2003-11-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1925
1926         * elsp-bogofilter.el (toplevel): Don't require path-util.
1927         (elmo-spam-bogofilter-program): Don't use `exec-installed-p'.
1928         (elmo-spam-bogofilter-header): Abolish.
1929         (elmo-spam-bogofilter-bogosity-positive-spam-header): Ditto.
1930         (elmo-spam-bogofilter-args): New user option.
1931         (elsp-bogofilter-call-bogofilter): New internal function.
1932         (elmo-spam-buffer-spam-p): Use it.
1933         (elsp-bogofilter-register-buffer): Renamed from
1934         `elmo-spam-bogofilter-register-buffer';
1935         Use `elsp-bogofilter-call-bogofilter'.
1936         (elmo-spam-register-spam-buffer): Follow the change above.
1937         (elmo-spam-register-good-buffer): Ditto.
1938
1939 2003-11-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1940
1941         * modb-standard.el (elmo-msgdb-append-entity): If entity or
1942         message-id is nil do nothing.
1943
1944 2003-11-10  Yuuichi Teranishi  <teranisi@gohome.org>
1945
1946         * elmo-imap4.el (elmo-imap4-disuse-server-flag-mailbox-regexp):
1947         Revival.
1948         (elmo-imap4-session): Removed use-flag slot.
1949         (elmo-imap4-session-select-mailbox): Undo last change.
1950         (elmo-folder-use-flag-p): Use
1951         elmo-imap4-disuse-server-flag-mailbox-regexp.
1952
1953 2003-11-09  Yuuichi Teranishi  <teranisi@gohome.org>
1954
1955         * elmo-imap4.el (elmo-imap4-session): Added use-flag slot.
1956         (elmo-imap4-session-select-mailbox): Set it up.
1957         (elmo-folder-use-flag-p): Return value of use-flag slot.
1958
1959 2003-11-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1960
1961         * elmo-msgdb.el (elmo-msgdb-flag-table): Fixed problem when
1962         message-id is nil.
1963         (Reported by MAKINO Takashi <makino@digitalway.co.jp>)
1964
1965         * modb-entity.el (elmo-message-entity-handler): Likewise.
1966
1967 2003-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
1968
1969         * elmo.el (toplevel): Remove setting of autoloding for
1970         elmo-global-flag-initialize.
1971         (elmo-init): Don't call elmo-global-flag-initialize.
1972         (toplevel): Added autoload setting for elmo-global-mark-migrate.
1973
1974         * elmo-flag.el (elmo-global-flag-initialize): Abolish.
1975         (elmo-global-mark-migrate): Don't call it.
1976         (elmo-global-mark-upgrade): Ditto.
1977
1978 2003-11-06  Yuuichi Teranishi  <teranisi@gohome.org>
1979
1980         * elmo-internal.el (elmo-internal-obsolete-folder-list): New variable.
1981         (elmo-folder-initialize): Raise a warning when obsolete folder is used.
1982
1983         * elmo-vars.el (elmo-init-hook): New user option.
1984
1985         * elmo.el (elmo-init): Run the elmo-init-hook.
1986
1987         * elmo-flag.el (elmo-global-mark-migrate): New function.
1988
1989 2003-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1990
1991         * modb-standard.el (elmo-msgdb-set-flag): Simplify;
1992         Undo last change (move to elmo-msgdb-unset-flag).
1993         (elmo-msgdb-unset-flag): Simplify; Unset 'new flag when unread
1994         flag is unset.
1995
1996 2003-11-05  Yuuichi Teranishi  <teranisi@gohome.org>
1997
1998         * modb-standard.el (elmo-msgdb-set-flag): Unset 'new flag when
1999         read flag is set.
2000         (elmo-msgdb-set-flag): Don't remove 'new flag unconditionally.
2001         (elmo-msgdb-unset-flag): Ditto.
2002
2003 2003-11-05  Andreas Fuchs <asf@boinkor.net>
2004
2005         * elmo-split.el (elmo-split): Return split message count.
2006
2007 2003-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2008
2009         * elmo-msgdb.el (elmo-flag-table-get): Check cached if saved flags
2010         is nil.
2011
2012 2003-11-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2013
2014         * elmo.el (elmo-folder-unflag-important): Call
2015         `elmo-global-flag-detach' with 4th argument delete-if-none that is
2016         a symbol `always'.
2017
2018         * elmo-flag.el (elmo-flag-folder-delete-message): Clear hash value
2019         before unset flag.
2020         (elmo-global-flag-detach): Delete the message from flag folder, if
2021         `delete-if-none' is a symbol `always'.
2022
2023 2003-11-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2024
2025         * elsp-spamfilter.el (elsp-spamfilter-decode-buffer): Renamed from
2026         `elmo-spam-spamfilter-decode-buffer'.
2027         (elsp-spamfilter-register-buffer-internal): New internal function.
2028         (elmo-spam-buffer-spam-p): Use it; Follow the API change.
2029         (elmo-spam-register-spam-buffer): Ditto.
2030         (elmo-spam-register-good-buffer): Ditto.
2031
2032         * elsp-bogofilter.el (elmo-spam-buffer-spam-p): Follow the API
2033         change.
2034         (elmo-spam-bogofilter-register-buffer): Added argument `restore'.
2035         (elmo-spam-register-spam-buffer): Follow the API change.
2036         (elmo-spam-register-good-buffer): Ditto.
2037
2038         * elmo-split.el (toplevel): Require elmo-spam when copmile.
2039         (elmo-split-spam-p): Added argument plist; Call
2040         `elmo-spam-buffer-spam-p' with new argument register.
2041
2042         * elmo-spam.el (elmo-spam-buffer-spam-p): Added optional argument
2043         `register'.
2044         (elmo-spam-message-spam-p): Ditto.
2045         (elmo-spam-register-spam-buffer): Added optional argument
2046         `restore'.
2047         (elmo-spam-register-good-buffer): Ditto.
2048         (elmo-spam-register-spam-messages): Ditto.
2049         (elmo-spam-register-good-messages): Ditto.
2050
2051 2003-10-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2052
2053         * elsp-spamfilter.el (elmo-spam-register-spam-buffer): Fixed to
2054         register into good corpus.
2055         (elmo-spam-register-good-buffer): Fixed to register into bad
2056         corpus.
2057
2058 2003-10-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2059
2060         * elmo-version.el (elmo-version): Up to 2.11.20.
2061
2062         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed last
2063         change.
2064
2065         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Determine new
2066         flag without depending on \Recent flag.
2067
2068 2003-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2069
2070         * elsp-spamfilter.el (elsp-spamfilter): Added new slot `modified'.
2071         (elmo-spam-modified-p): Defined.
2072         (elmo-spam-save-status): Set `modified' slot to nil.
2073         (elmo-spam-register-spam-buffer): Set `modified' slot to non nil.
2074         (elmo-spam-register-good-buffer): Ditto.
2075
2076         * elmo-spam.el (elmo-spam-modified-p): New API.
2077
2078 2003-10-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2079
2080         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Abolish
2081         duplicate definition.
2082
2083         * elmo-util.el (elmo-unfold-field-body): New function.
2084         (elmo-msgdb-get-message-id-from-buffer): Use it.
2085
2086         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
2087         Fixed the last change; Use elmo-unfold-field-body.
2088
2089 2003-10-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2090
2091         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
2092         Unfold date value.
2093
2094 2003-10-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2095
2096         * elmo-spam.el (elmo-spam-save-status): New API.
2097
2098         * elsp-spamfilter.el: New file.
2099
2100 2003-10-21  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2101
2102         * elmo-split.el (toplevel): Add `elmo-spam-processor' args.
2103
2104 2003-10-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2105
2106         * elmo-split.el (elmo-split-spam-p): New function.
2107
2108         * elmo-spam.el: New file.
2109
2110         * elsp-bogofilter.el: Ditto.
2111
2112 2003-10-15  Yuuichi Teranishi  <teranisi@gohome.org>
2113
2114         * elmo.el (elmo-folder-next-message-number): New API.
2115         (elmo-folder-next-message-number): Define.
2116         (elmo-message-field): Don't check folder length.
2117
2118         * elmo-net.el (elmo-folder-next-message-number): Define.
2119         (elmo-folder-next-message-number-unplugged): Define.
2120
2121         * elmo-map.el (elmo-folder-next-message-number): Define.
2122         (elmo-folder-delete-messages): Clear hash value.
2123
2124         * elmo-imap4.el (elmo-folder-next-message-number-plugged): Define.
2125
2126         * elmo-dop.el (elmo-folder-next-message-number-dop): New function.
2127         (elmo-folder-delete-messages-dop-delayed): Always return t.
2128
2129         * elmo-version.el (elmo-version): Up to 2.11.19.
2130
2131 2003-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2132
2133         * modb-legacy.el (elmo-msgdb-append-entity): Fixed the last
2134         change.
2135
2136         * modb-legacy.el (elmo-msgdb-append-entity): Registered an
2137         identical cons cell into the mark-alist and the hash table.
2138
2139 2003-10-08  Yuuichi Teranishi  <teranisi@gohome.org>
2140
2141         * elmo-pipe.el (elmo-pipe-folder-list-target-messages): Call
2142         elmo-folder-list-messages with argument `visible-only' as t.
2143
2144         * elmo-filter.el (elmo-folder-search-requires-msgdb-p): Define.
2145         (elmo-folder-msgdb-create): Check the target folder.
2146
2147 2003-10-07  Yuuichi Teranishi  <teranisi@gohome.org>
2148
2149         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Use
2150         `permanentflag' instead of `flags'.
2151         (elmo-folder-open): Ditto.
2152         (elmo-imap4-set-flag): Treat \Deleted flag as an exception.
2153         (elmo-imap4-disuse-server-flag-mailbox-regexp): Abolish.
2154         (elmo-folder-use-flag-p): Always return t.
2155         (elmo-imap4-session-select-mailbox): Use value of `flags' if
2156         `permanentflags' does not exist.
2157         (elmo-folder-open): Ditto.
2158
2159 2003-10-06  Yuuichi Teranishi  <teranisi@gohome.org>
2160
2161         * modb-legacy.el (elmo-msgdb-message-entity): Return nil when key
2162         is nil.
2163         * modb-standard.el (elmo-msgdb-message-entity): Ditto.
2164
2165         * elmo-imap4.el (elmo-imap4-session): Added new slot `flags'.
2166         (elmo-imap4-session-select-mailbox): Set it according to the SELECT
2167         response.
2168         (elmo-folder-open): Ditto.
2169         (elmo-imap4-set-flag): Send store flag command only when the `flags'
2170         slot of the session includes the flag.
2171         (elmo-imap4-session-flag-available-p): New function.
2172         (elmo-imap4-folder-list-flagged): Ditto.
2173         (elmo-folder-list-unreads-plugged): Use it.
2174         (elmo-folder-list-importants-plugged): Ditto.
2175         (elmo-folder-list-answereds-plugged): Ditto.
2176         (elmo-imap4-search-internal-primitive): Ditto.
2177         (elmo-imap4-folder-list-any-plugged,
2178         elmo-imap4-folder-list-digest-plugged): Abolish.
2179
2180         * elmo-filter.el (elmo-folder-search): Don't call elmo-list-filter
2181         if numbers is nil.
2182
2183 2003-10-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
2184
2185         * elmo-util.el (toplevel): Require emu for char-list-to-string.
2186
2187 2003-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
2188
2189         * elmo-util.el (elmo-get-hash-val): Simplify.
2190         (elmo-set-hash-val): Rewrite.
2191
2192 2003-09-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2193
2194         * elmo.el (elmo-folder-list-messages): Append killed messages into
2195         result if `visible-only' is nil and `in-msgdb' is non-nil.
2196
2197         * elmo-util.el (elmo-uniq-list): Added optional argument
2198         `delete-function'.
2199
2200         * modb.el (elmo-msgdb-flag-count): New API.
2201
2202         * modb-standard.el (modb-standard): Added slot flag-count.
2203         (modb-standard-countup-flags): New function.
2204         (modb-standard-load-flag): Call it.
2205         (elmo-msgdb-append): Ditto.
2206         (elmo-msgdb-clear): Clear slot flag-count.
2207         (elmo-msgdb-set-flag): Call modb-standard-countup-flags.
2208         (elmo-msgdb-unset-flag): Treat `all' flag and call
2209         modb-standard-countup-flags.
2210         (elmo-msgdb-flag-count): Define.
2211         (elmo-msgdb-append-entity): Call modb-standard-countup-flags.
2212         (elmo-msgdb-delete-messages): Ditto.
2213
2214         * modb-legacy.el (elmo-msgdb-unset-flag): Treat `all' flag.
2215         (elmo-msgdb-flag-count): Define.
2216
2217         * elmo.el (elmo-folder-list-messages): Undo last change.
2218         (elmo-folder-count-flags): Use elmo-msgdb-flag-count.
2219         (elmo-folder-kill-messages): Unset all flags to numbers.
2220
2221         * elmo-sendlog.el (elmo-folder-delete-messages): Rewrite; use
2222         elmo-folder-kill-messages.
2223
2224         * elmo-nntp.el (elmo-folder-delete-messages): Ditto.
2225         (elmo-nntp-folder-delete-messages): Abolish.
2226
2227         * elmo-version.el (elmo-version): Up to 2.11.18.
2228
2229 2003-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2230
2231         * elmo.el (elmo-folder-kill-messages-before): Abolish.
2232         (elmo-folder-kill-messages-range): New function.
2233         (elmo-folder-synchronize): Use elmo-folder-kill-messages-range
2234         instead of elmo-folder-kill-messages-before.
2235
2236 2003-09-26  Yuuichi Teranishi  <teranisi@gohome.org>
2237
2238         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use
2239         elmo-imap4-current-msgdb to decide entity handler.
2240
2241 2003-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
2242
2243         * elmo-dop.el (elmo-dop-msgdb): Rewrite.
2244
2245         * modb-legacy.el (elmo-msgdb-overview-entity-get-id-internal): New
2246         inline function.
2247         (elmo-msgdb-overview-entity-get-number-internal): Ditto.
2248         (elmo-msgdb-overview-entity-set-number,
2249         elmo-msgdb-overview-entity-get-references,
2250         elmo-msgdb-overview-entity-set-references,
2251         elmo-msgdb-overview-entity-get-from-no-decode,
2252         elmo-msgdb-overview-entity-get-from,
2253         elmo-msgdb-overview-entity-set-from,
2254         elmo-msgdb-overview-entity-get-subject,
2255         elmo-msgdb-overview-entity-get-subject-no-decode,
2256         elmo-msgdb-overview-entity-set-subject,
2257         elmo-msgdb-overview-entity-get-date,
2258         elmo-msgdb-overview-entity-set-date,
2259         elmo-msgdb-overview-entity-get-to,
2260         elmo-msgdb-overview-entity-get-cc,
2261         elmo-msgdb-overview-entity-get-size,
2262         elmo-msgdb-overview-entity-set-size,
2263         elmo-msgdb-overview-entity-get-extra,
2264         elmo-msgdb-overview-entity-set-extra,
2265         elmo-msgdb-overview-entity-get-extra-field,
2266         elmo-msgdb-overview-entity-set-extra-field): Moved to elmo-msgdb.el.
2267         (elmo-msgdb-make-index): Use
2268         `elmo-msgdb-overview-entity-get-number-internal'.
2269         (elmo-msgdb-clear-index): Ditto.
2270         (elmo-msgdb-append-entity): Ditto;
2271         Use `elmo-msgdb-overview-entity-get-id-internal'.
2272
2273         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-number,
2274         elmo-msgdb-overview-entity-set-number,
2275         elmo-msgdb-overview-entity-get-references,
2276         elmo-msgdb-overview-entity-set-references,
2277         elmo-msgdb-overview-entity-get-from-no-decode,
2278         elmo-msgdb-overview-entity-get-from,
2279         elmo-msgdb-overview-entity-set-from,
2280         elmo-msgdb-overview-entity-get-subject,
2281         elmo-msgdb-overview-entity-get-subject-no-decode,
2282         elmo-msgdb-overview-entity-set-subject,
2283         elmo-msgdb-overview-entity-get-date,
2284         elmo-msgdb-overview-entity-set-date,
2285         elmo-msgdb-overview-entity-get-to,
2286         elmo-msgdb-overview-entity-get-cc,
2287         elmo-msgdb-overview-entity-get-size,
2288         elmo-msgdb-overview-entity-set-size,
2289         elmo-msgdb-overview-entity-get-extra,
2290         elmo-msgdb-overview-entity-set-extra,
2291         elmo-msgdb-overview-entity-get-extra-field,
2292         elmo-msgdb-overview-entity-set-extra-field): Moved from modb-legacy.el
2293         and rewrote for backward compatibility.
2294
2295 2003-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2296
2297         * elmo.el (elmo-message-entity-number,
2298         elmo-message-entity-set-number,
2299         elmo-message-entity-field,
2300         elmo-message-entity-set-field): Moved to elmo-msgdb.el.
2301
2302         * elmo-msgdb.el (elmo-message-entity-number,
2303         elmo-message-entity-set-number,
2304         elmo-message-entity-field,
2305         elmo-message-entity-set-field): Moved from elmo.el.
2306
2307 2003-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
2308
2309         * elmo.el (toplevel): Changed definition orders.
2310
2311 2003-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2312
2313         * modb.el (elmo-msgdb-search): New API .
2314         (elmo-msgdb-match-condition): Ditto.
2315
2316         * modb-standard.el (elmo-msgdb-search): Define.
2317
2318         * modb-legacy.el (elmo-msgdb-search): Ditto.
2319
2320         * modb-entity.el (elmo-msgdb-message-match-condition): Renamed
2321         from elmo-msgdb-match-condition-internal.
2322
2323         * elmo.el (elmo-folder-search-fast): Abolish.
2324         (elmo-folder-search): Use elmo-msgdb-search and
2325         elmo-with-progress-display.
2326
2327         * elmo-msgdb.el (elmo-msgdb-match-condition): Removed; redefined
2328         as msgdb API.
2329
2330         * elmo.el (elmo-folder): Remove slot message-modified and
2331         flag-modified.
2332         (elmo-folder-set-message-modified): Abolish.
2333         (elmo-generic-folder-commit): Follow the change above.
2334         (elmo-folder-synchronize): Ditto.
2335
2336         * elmo-pipe.el (elmo-folder-set-message-modified): Abolish.
2337
2338         * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
2339
2340         * elmo-filter.el (elmo-folder-set-message-modified): Ditto.
2341
2342 2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
2343
2344         * modb-standard.el (modb-standard-make-message-entity,
2345         elmo-msgdb-make-message-entity,
2346         elmo-msgdb-create-message-entity-from-buffer,
2347         elmo-msgdb-message-entity-number,
2348         elmo-msgdb-message-entity-set-number,
2349         elmo-msgdb-message-entity-field,
2350         elmo-msgdb-message-entity-set-field,
2351         elmo-msgdb-copy-message-entity,
2352         elmo-msgdb-match-condition-internal): Remove.
2353
2354         * modb-entity.el: New file (again).
2355
2356         * modb.el (toplevel): Require modb-entity.
2357         (elmo-msgdb-message-entity-handler): New method.
2358
2359         * modb-standard.el (modb-standard-entity-id): Use
2360         elmo-message-entity-handler.
2361         (modb-standard-load-entity): Ditto.
2362         (elmo-msgdb-append-entity): Ditto.
2363         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
2364
2365         * modb-legacy.el (elmo-msgdb-get-decoded-cache,
2366         elmo-msgdb-decoded-cache-hashtb,
2367         (modb-legacy-make-message-entity,
2368         elmo-msgdb-make-message-entity,
2369         elmo-msgdb-create-message-entity-from-buffer,
2370         elmo-msgdb-message-entity-number,
2371         elmo-msgdb-message-entity-set-number,
2372         elmo-msgdb-message-entity-field,
2373         elmo-msgdb-message-entity-set-field,
2374         elmo-msgdb-copy-message-entity,
2375         elmo-msgdb-match-condition-internal,
2376         elmo-msgdb-match-condition-primitive): Moved to modb-entity.el.
2377
2378         * elmo.el (elmo-message-copy-entity): Use elmo-message-entity-handler.
2379         (elmo-message-entity-set-number): Ditto.
2380         (elmo-message-entity-field): Ditto.
2381         (elmo-message-entity-set-field): Ditto.
2382
2383         * elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Ditto.
2384
2385         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
2386
2387         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
2388
2389         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
2390         (elmo-nntp-msgdb-create-message): Ditto.
2391
2392         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
2393         (elmo-folder-msgdb-create): Add unread flag.
2394
2395         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
2396
2397         * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Ditto.
2398
2399         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Ditto.
2400
2401         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
2402
2403         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Call
2404         elmo-msgdb-messge-entity-handler.
2405         * elmo-version.el (elmo-version): Up to 2.11.17.
2406
2407 2003-09-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2408
2409         * elmo-shimbun.el (elmo-shimbun-update-overview): Fixed the last
2410         change.
2411
2412 2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
2413
2414         * elmo.el (elmo-message-field): Use elmo-message-entity-field.
2415
2416         * elmo-msgdb.el (elmo-msgdb-get-number): Abolish.
2417         (elmo-msgdb-get-parent-entity): Use elmo-message-entity-field.
2418         (elmo-msgdb-flag-table): Ditto.
2419         (elmo-msgdb-sort-by-date): Ditto.
2420
2421         * modb.el (elmo-msgdb-create-message-entity-from-file): Define.
2422
2423         * modb-standard.el (toplevel): Require mime.
2424         (modb-standard-entity-id): Use elmo-msgdb-message-entity-field.
2425         (modb-standard-load-entity): Use elmo-msgdb-message-entity-field and
2426         elmo-msgdb-message-entity-number.
2427         (elmo-msgdb-append-entity): Ditto.
2428         (elmo-msgdb-create-message-entity-from-file): Remove.
2429         (elmo-msgdb-create-message-entity-from-buffer): Use msgdb which 
2430         corresponds to the entity.
2431         (elmo-msgdb-message-entity-number): Do nothing currently.
2432         (elmo-msgdb-message-entity-field): Ditto.
2433         (elmo-msgdb-message-entity-set-field): Ditto.
2434         (elmo-msgdb-copy-message-entity): Ditto.
2435         (elmo-msgdb-match-condition-internal): Ditto.
2436
2437         * modb-legacy.el (elmo-msgdb-insert-file-header): Moved to
2438         elmo-util.el.
2439         (elmo-msgdb-create-message-entity-from-file): Remove.
2440
2441         * elmo-util.el (elmo-msgdb-insert-file-header): Moved from
2442         modb-legacy.el.
2443         (elmo-multiple-field-body): Moved from elmo-msgdb.el.
2444
2445         * elmo-msgdb.el (elmo-multiple-field-body): Moved to elmo-util.el.
2446
2447 2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
2448
2449         * modb.el (elmo-msgdb-make-message-entity): Define simple one.
2450         (elmo-msgdb-message-entity-field): Ditto.
2451         (elmo-msgdb-message-entity-number): Ditto.
2452
2453 2003-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2454
2455         * modb-standard.el (elmo-msgdb-create-message-entity-from-buffer): 
2456         Fixed how to set extra field into entity.
2457         (elmo-msgdb-message-entity-set-field): Fixed mistake string for
2458         symbol.
2459
2460         * modb-legacy.el (elmo-msgdb-create-message-entity-from-buffer):
2461         Fixed how to set extra field into entity.
2462         (elmo-msgdb-message-entity-set-field): Fixed mistake string for
2463         symbol.
2464
2465 2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
2466
2467         * modb.el (elmo-message-entity-db): New function.
2468         (elmo-msgdb-make-message-entity): New API.
2469         (elmo-msgdb-message-entity-number): Ditto.
2470         (elmo-msgdb-message-entity-set-number): Ditto.
2471         (elmo-msgdb-message-entity-field): Ditto.
2472         (elmo-msgdb-message-entity-set-field): Ditto.
2473         (elmo-msgdb-copy-message-entity): Ditto.
2474         (elmo-msgdb-create-message-entity-from-file): Ditto.
2475         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
2476         (elmo-msgdb-match-condition-internal): Ditto.
2477
2478         * modb-standard.el (modb-legacy): Require modb-legacy.
2479         (modb-standard-make-message-entity): New inline function.
2480         (elmo-msgdb-make-message-entity): Define.
2481         (elmo-msgdb-create-message-entity-from-file): Ditto.
2482         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
2483         (elmo-msgdb-message-entity-field): Ditto.
2484         (elmo-msgdb-message-entity-set-field): Ditto.
2485         (elmo-msgdb-copy-message-entity): Ditto.
2486         (elmo-msgdb-match-condition-internal): Ditto.
2487
2488         * modb-legacy.el: Don't require modb-entity.
2489         (elmo-msgdb-decoded-cache-hashtb): Moved from elmo-msgdb.el
2490         (elmo-msgdb-match-condition-primitive): Ditto.
2491         (elmo-msgdb-get-decoded-cache): Ditto.
2492         (elmo-msgdb-overview-entity-get-id): Ditto.
2493         (elmo-msgdb-overview-entity-get-number): Ditto.
2494         (elmo-msgdb-overview-entity-set-number): Ditto.
2495         (elmo-msgdb-overview-entity-get-references): Ditto.
2496         (elmo-msgdb-overview-entity-set-references): Ditto.
2497         (elmo-msgdb-overview-entity-get-from-no-decode): Ditto.
2498         (elmo-msgdb-overview-entity-get-from): Ditto.
2499         (elmo-msgdb-overview-entity-set-from): Ditto.
2500         (elmo-msgdb-overview-entity-get-subject): Ditto.
2501         (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
2502         (elmo-msgdb-overview-entity-set-subject): Ditto.
2503         (elmo-msgdb-overview-entity-get-date): Ditto.
2504         (elmo-msgdb-overview-entity-set-date): Ditto.
2505         (elmo-msgdb-overview-entity-get-to): Ditto.
2506         (elmo-msgdb-overview-entity-get-cc): Ditto.
2507         (elmo-msgdb-overview-entity-get-size): Ditto.
2508         (elmo-msgdb-overview-entity-set-size): Ditto.
2509         (elmo-msgdb-overview-entity-get-extra): Ditto.
2510         (elmo-msgdb-overview-entity-set-extra): Ditto.
2511         (elmo-msgdb-overview-entity-get-extra-field): Ditto.
2512         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
2513         (elmo-msgdb-number-load): Ditto.
2514         (elmo-msgdb-overview-load): Ditto.
2515         (elmo-msgdb-mark-load): Ditto.
2516         (elmo-msgdb-number-save): Ditto.
2517         (elmo-msgdb-mark-save): Ditto.
2518         (elmo-msgdb-overview-save): Ditto.
2519         (modb-legacy-make-message-entity): New inline function.
2520         (elmo-msgdb-insert-file-header): Ditto.
2521         (elmo-msgdb-make-message-entity): Define.
2522         (elmo-msgdb-create-message-entity-from-file): Ditto.
2523         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
2524         (elmo-msgdb-message-entity-number): Ditto.
2525         (elmo-msgdb-message-entity-set-number): Ditto.
2526         (elmo-msgdb-message-entity-field): Ditto.
2527         (elmo-msgdb-message-entity-set-field): Ditto.
2528         (elmo-msgdb-copy-message-entity): Ditto.
2529         (elmo-msgdb-match-condition-internal): Ditto.
2530
2531         * elmo.el (elmo-find-fetch-strategy): Use elmo-message-entity-field.
2532         (elmo-message-copy-entity): Rewrite.
2533         (elmo-message-entity-number): Ditto.
2534         (elmo-message-entity-set-number): Ditto.
2535         (elmo-message-entity-field): Use elmo-message-entity-db.
2536         (elmo-message-entity-set-field): Ditto.
2537         (elmo-message-field): Rewrite.
2538
2539         * elmo-util.el (elmo-msgdb-get-last-message-id): Moved from
2540         elmo-msgdb.el
2541         (elmo-msgdb-get-message-id-from-buffer): Ditto.
2542
2543         * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
2544         elmo-message-entity-field.
2545         (elmo-shimbun-folder-shimbun-header): Ditto.
2546         (elmo-shimbun-entity-to-header): Ditto.
2547         (elmo-folder-msgdb-create): Ditto.
2548         (elmo-shimbun-msgdb-create-entity): Ditto;
2549         Use elmo-msgdb-create-message-entity-from-buffer.
2550         (elmo-shimbun-update-overview): Use elmo-message-entity-set-field.
2551         (elmo-map-folder-list-message-locations): elmo-message-entity-field.
2552
2553         * elmo-sendlog.el (elmo-folder-msgdb-create): Use
2554         elmo-msgdb-create-message-entity-from-file and 
2555         elmo-message-entity-field.
2556
2557         * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
2558         elmo-message-entity-number.
2559         (elmo-pop3-msgdb-create-message): Use
2560         elmo-msgdb-create-message-entity-from-buffer,
2561         elmo-message-entity-set-field, elmo-message-entity-number and
2562         elmo-message-entity-set-number.
2563
2564         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Follow
2565         the API change in elmo-msgdb-make-message-entity.
2566         (elmo-nntp-msgdb-create-message): Use
2567         elmo-msgdb-create-message-entity-from-buffer.
2568
2569         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Use
2570         elmo-message-entity-field and
2571         elmo-msgdb-create-message-entity-from-file.
2572
2573         * elmo-msgdb.el (toplevel): Don't require modb-entity.
2574         (elmo-msgdb-get-field): Abolish.
2575         (elmo-msgdb-get-number): Rewrite.
2576         (elmo-msgdb-sort-by-date): Use elmo-message-entity-field.
2577         (elmo-msgdb-flag-table): Ditto.
2578         (elmo-msgdb-get-last-message-id,
2579         elmo-msgdb-number-load, elmo-msgdb-overview-load,
2580         elmo-msgdb-mark-load, elmo-msgdb-number-save,
2581         elmo-msgdb-mark-save, elmo-msgdb-overview-save): Moved to modb-legacy.
2582         (elmo-msgdb-create-overview-from-buffer,
2583         elmo-msgdb-overview-get-parent-entity): Abolish.
2584
2585         * elmo-mime.el (elmo-mime-display-as-is): Use
2586         elmo-message-entity-field.
2587
2588         * elmo-map.el (elmo-folder-pack-numbers): Use
2589         elmo-message-entity-set-number.
2590
2591         * elmo-maildir.el (elmo-folder-msgdb-create): 
2592         elmo-msgdb-create-message-entity-from-file instead of
2593         elmo-msgdb-create-overview-entity-from-file.
2594
2595         * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Added argument
2596         msgdb.
2597         (elmo-folder-msgdb-create): Use elmo-message-entity-field.
2598         (elmo-folder-pack-numbers): Use elmo-message-entity-set-number.
2599
2600         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Use
2601         elmo-messge-entity-field and elmo-message-entity-number.
2602         (elmo-imap4-fetch-callback-1): Call
2603         elmo-msgdb-create-message-entity-from-buffer instead of
2604         elmo-msgdb-create-overview-from-buffer. 
2605         (elmo-folder-msgdb-create-plugged): Use elmo-messge-entity-field.
2606         (elmo-find-fetch-strategy): Likewise.
2607
2608         * elmo-flag.el (elmo-folder-msgdb-create): Call 
2609         elmo-localdir-msgdb-create-entity with argument msgdb.
2610
2611         * elmo-dop.el (elmo-dop-msgdb): Use elmo-message-entity-number
2612         and elmo-message-entity-set-number.
2613
2614         * elmo-cache.el (elmo-folder-msgdb-create): Use
2615         elmo-message-entity-field.
2616         (elmo-folder-msgdb-create): Call
2617         elmo-msgdb-create-message-entity-from-file instead of
2618         elmo-msgdb-create-overview-entity-from-file.
2619
2620         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Added
2621         argument msgdb; Call elmo-msgdb-create-message-from-buffer
2622         instead of elmo-msgdb-create-overview-from-buffer.
2623         (elmo-archive-msgdb-create-entity): Ditto.
2624         (elmo-archive-msgdb-create-as-numlist-subr1): Use
2625         elmo-message-entity-field.
2626         (elmo-archive-parse-mmdf): Ditto.
2627
2628         * modb-entity.el: Removed.
2629
2630         * elmo-version.el (elmo-version): Up to 2.11.16.
2631
2632 2003-09-20  Yuuichi Teranishi  <teranisi@gohome.org>
2633
2634         * elmo-map.el (elmo-folder-unflag-answered): Added optional argument
2635         `is-local'.
2636         (elmo-folder-flag-as-answered): Ditto.
2637
2638 2003-09-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2639
2640         * modb-standard.el: New file.
2641
2642         * elmo.el (elmo-folder-clear): Reconstruct msgdb if
2643         elmo-msgdb-convert-type is `sync'.
2644
2645         * elmo-vars.el (elmo-msgdb-default-type): Added `standard'.
2646         (elmo-msgdb-convert-type): New user option.
2647
2648         * elmo-msgdb.el (elmo-msgdb-load-priorities): New internal variable.
2649         (elmo-load-msgdb): Auto detect saved type.
2650
2651         * elmo-version.el (elmo-version): Up to 2.11.15.
2652
2653 2003-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
2654
2655         * elmo-flag.el (elmo-folder-list-global-flag-messages): New function.
2656
2657         * elmo.el (elmo-folder-delete-messages): Added notice in docstring.
2658         (elmo-folder-move-messages): Call elmo-global-flag-detach-messages
2659         with argument `delete-if-none' when dst-folder is 'null.
2660
2661         * elmo-flag.el (elmo-folder-append-messages): Defined.
2662         (elmo-global-flag-detach-messages): Added argumnet `delete-if-none'.
2663
2664 2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
2665
2666         * elmo-flag.el (elmo-folder-initialize): Fixed ("/.minfo"->".minfo").
2667
2668 2003-09-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2669
2670         * elmo-flag.el (elmo-folder-expand-msgdb-path): Define.
2671         (elmo-folder-initialize): Use `elmo-folder-msgdb-path'.
2672         (elmo-folder-commit): Ditto.
2673
2674 2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
2675
2676         * elmo-flag.el: New file.
2677
2678         * elmo-mark.el: Removed.
2679
2680         * modb-legacy.el (modb-legacy-new-mark,
2681         modb-legacy-unread-uncached-mark,
2682         modb-legacy-unread-cached-mark,
2683         modb-legacy-read-uncached-mark,
2684         modb-legacy-answered-cached-mark,
2685         modb-legacy-answered-uncached-mark,
2686         modb-legacy-important-mark): New constants (Moved from elmo-msgdb.el);
2687         All other related portions are changed.
2688
2689         * elmo.el (luna-define-class): Changed mark-modified to flag-modified.
2690         (elmo-folder-list-messages-with-global-mark): Abolish.
2691         (elmo-folder-unflag-important): Renamed from `mark' to `flag'.
2692         (elmo-folder-flag-as-important): Ditto.
2693         (elmo-folder-unflag-read): Ditto.
2694         (elmo-folder-flag-as-read): Ditto.
2695         (elmo-folder-unflag-answered): Ditto.
2696         (elmo-folder-flag-as-answered): Ditto.
2697         (elmo-message-encache): Return the cache path.
2698         (elmo-folder-move-messages): Call elmo-global-flag-detach-messages.
2699         (elmo-message-set-flag): Transitional implementation.
2700         (elmo-message-unset-flag): Ditto.
2701         (elmo-folder-unflag-important): Call elmo-global-flag-detach.
2702         (elmo-folder-flag-as-important): Call elmo-global-flag-set.
2703         (elmo-init): Call elmo-global-flag-initialize.
2704         (toplevel): Added autoload settings for elmo-flag.
2705
2706         * elmo-vars.el (elmo-msgdb-global-mark-filename): Abolished.
2707
2708         * elmo-util.el: Removed all elmo-msgdb-global-mark stuff.
2709         (elmo-file-cache-delete): Don't treat global-mark.
2710
2711         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
2712
2713         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
2714
2715         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Call
2716         `elmo-global-flags-set'.
2717
2718         * elmo-pipe.el (elmo-folder-flag-as-read): Renamed from `mark' to
2719         `flag'.
2720         (elmo-folder-unflag-read): Ditto.
2721         (elmo-folder-unflag-important): Ditto.
2722         (elmo-folder-flag-as-important): Ditto.
2723         (elmo-folder-unflag-answered): Ditto.
2724         (elmo-folder-flag-as-answered): Ditto.
2725
2726         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Call
2727         `elmo-global-flags-set'.
2728         (elmo-folder-flag-as-read): Renamed from `mark' to `flag'.
2729
2730         * elmo-nmz.el (elmo-folder-msgdb-create): Always put `new' flag.
2731
2732         * elmo-net.el (elmo-folder-unflag-important): Renamed from `mark' to
2733         `flag'.
2734         (elmo-folder-flag-as-important): Ditto.
2735         (elmo-folder-unflag-important): Ditto.
2736         (elmo-folder-flag-as-important): Ditto.
2737         (elmo-folder-unflag-read): Ditto.
2738         (elmo-folder-flag-as-read): Ditto.
2739         (elmo-folder-unflag-answered): Ditto.
2740         (elmo-folder-flag-as-answered): Ditto.
2741
2742         * elmo-multi.el (elmo-folder-list-importants): Don't call
2743         elmo-folder-list-messages-with-global-mark.
2744         (elmo-folder-flag-as-important): Renamed from `mark' to `flag'.
2745         (elmo-folder-unflag-important): Ditto.
2746         (elmo-folder-flag-as-read): Ditto.
2747         (elmo-folder-unflag-read): Ditto.
2748         (elmo-folder-flag-as-answered): Ditto.
2749         (elmo-folder-unflag-answered): Ditto.
2750
2751         * elmo-msgdb.el (elmo-msgdb-new-mark,
2752         elmo-msgdb-unread-uncached-mark, elmo-msgdb-unread-cached-mark,
2753         elmo-msgdb-read-uncached-mark, elmo-msgdb-answered-cached-mark,
2754         elmo-msgdb-answered-uncached-mark, elmo-msgdb-important-mark): Removed
2755         (Moved to modb-legacy.el).
2756         (elmo-flag-table-get): Treat important flag too.
2757
2758         * elmo-map.el (elmo-map-folder-unflag-important): Renamed from
2759         `mark' to `flag'.
2760         (elmo-map-folder-flag-as-important): Ditto.
2761         (elmo-map-folder-unflag-read): Ditto.
2762         (elmo-map-folder-flag-as-read): Ditto.
2763         (elmo-map-folder-unflag-answered): Ditto.
2764         (elmo-map-folder-flag-as-answered): Ditto.
2765         (elmo-folder-unflag-important): Ditto.
2766         (elmo-folder-flag-as-important): Ditto.
2767         (elmo-folder-unflag-read): Ditto.
2768         (elmo-folder-flag-as-read): Ditto.
2769         (elmo-folder-unflag-answered): Ditto.
2770         (elmo-folder-flag-as-answered): Ditto.
2771
2772         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
2773         (elmo-map-folder-flag-as-important): Renamed from `mark' to
2774         `flag'.
2775         (elmo-map-folder-unflag-important): Ditto.
2776         (elmo-map-folder-flag-as-read): Ditto.
2777         (elmo-map-folder-unflag-read): Ditto.
2778         (elmo-map-folder-flag-as-answered): Ditto.
2779         (elmo-map-folder-unflag-answered): Ditto.
2780
2781         * elmo-localdir.el (elmo-folder-msgdb-create): Call
2782         `elmo-global-flags-set'.
2783         (elmo-global-flags-set): Added autoload setting.
2784
2785         * elmo-internal.el (elmo-internal-folder-list): Changed `mark' to
2786         `flag'.
2787
2788         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Don't call
2789         `elmo-msgdb-global-mark-set'.
2790         (elmo-folder-msgdb-create-plugged): Changed callback-data structure;
2791         Call `elmo-global-flags-set'.
2792         (elmo-folder-unflag-important-plugged): Renamed from `mark' to
2793         `flag'.
2794         (elmo-folder-flag-as-important-plugged): Ditto.
2795         (elmo-folder-unflag-read-plugged): Ditto.
2796         (elmo-folder-flag-as-read-plugged): Ditto.
2797         (elmo-folder-unflag-answered-plugged): Ditto.
2798         (elmo-folder-flag-as-answered-plugged): Ditto.
2799         (elmo-global-flags-set): Added autoload setting.
2800
2801         * elmo-filter.el (elmo-folder-flag-as-read): Renamed from `mark' to
2802         `flag'.
2803         (elmo-folder-unflag-read): Ditto.
2804         (elmo-folder-flag-as-important): Ditto.
2805         (elmo-folder-unflag-important): Ditto.
2806         (elmo-folder-flag-as-answered): Ditto.
2807         (elmo-folder-unflag-answered): Ditto.
2808
2809         * elmo-dop.el (elmo-dop-queue-merge-method-list): Follow the API
2810         change of `mark'->`flag'.
2811         (elmo-dop-queue-method-name-alist): Ditto.
2812         (elmo-folder-flag-as-read-dop): Renamed from `mark' to `flag'.
2813         (elmo-folder-unflag-read-dop): Ditto.
2814         (elmo-folder-flag-as-important-dop): Ditto.
2815         (elmo-folder-unflag-important-dop): Ditto.
2816         (elmo-folder-flag-as-answered-dop): Ditto.
2817         (elmo-folder-unflag-answered-dop): Ditto.
2818
2819         * elmo-cache.el (elmo-folder-msgdb-create): Call
2820         `elmo-global-flags-set'.
2821
2822         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
2823         Call `elmo-global-flags-set'.
2824         (elmo-archive-msgdb-create-as-numlist-subr2): Call
2825         elmo-archive-parse-mmdf with argument `folder'.
2826         (elmo-archive-parse-mmdf): Added argument `folder';
2827         Call `elmo-global-flags-set'.
2828
2829         * elmo-version.el (elmo-version): Up to 2.11.14.
2830
2831 2003-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2832
2833         * modb.el (elmo-msgdb-length): Define.
2834
2835         * elmo.el (elmo-make-folder): Fixed.
2836         (elmo-generic-folder-append-messages): Follow the API change.
2837
2838         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Follow the
2839         API change.
2840
2841 2003-09-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2842
2843         * modb.el: New file.
2844
2845         * modb-entity.el: Ditto.
2846
2847         * modb-legacy.el: Ditto.
2848
2849         * elmo-msgdb.el (elmo-make-msgdb): Added 2nd argument `type'.
2850         (elmo-msgdb-get-number): Use `elmo-msgdb-message-entity' instead
2851         of `elmo-msgdb-overview-get-entity'.
2852         (elmo-msgdb-get-field): Ditto.
2853         (elmo-msgdb-merge): Moved to `elmo.el'.
2854         (elmo-msgdb-length): Removed; redefine as modb method.
2855         (elmo-msgdb-change-mark): Abolish.
2856         (elmo-msgdb-out-of-date-messages): Rewrite; don't use it.
2857         (elmo-msgdb-match-condition): Don't use mark.
2858         (elmo-msgdb-overview-get-entity): Abolish.
2859         Split modb part into `modb*.el'.
2860
2861         * elmo-vars.el (elmo-msgdb-default-type): New user option.
2862
2863         * elmo-shimbun.el (shimbun-mua-search-id): Use
2864         `elmo-msgdb-message-entity' instead of
2865         `elmo-msgdb-overview-get-entity'.
2866         (elmo-shimbun-folder-shimbun-header): Ditto.
2867         (elmo-shimbun-get-headers): Ditto.
2868         (elmo-shimbun-update-overview): Ditto.
2869
2870         * elmo-mime.el (elmo-mime-display-as-is): Ditto.
2871
2872         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
2873
2874         * elmo.el (elmo-folder-list-messages-with-global-mark): Ditto.
2875         (elmo-msgdb-merge): Moved from `elmo-msgdb.el'.
2876
2877         * elmo-mark.el (elmo-mark-folder-msgdb-create): Don't use
2878         `elmo-msgdb-mark-to-flags'.
2879
2880         * elmo-map.el (elmo-folder-pack-numbers): Don't use
2881         `elmo-msgdb-set-path'.
2882
2883         * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
2884  
2885         * elmo-version.el (elmo-version): Up to 2.11.13.
2886
2887         * elmo.el (elmo-generic-folder-commit): Don't load msgdb.
2888
2889         * elmo-mark.el (elmo-mark-folder-msgdb-create): Use flag instead
2890         of mark.
2891
2892 2003-09-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2893
2894         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed paren
2895         mismatch.
2896
2897 2003-09-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2898
2899         * elmo.el (elmo-message-cached-p): Use `elmo-message-flagged-p'
2900         instead of `elmo-msgdb-get-cached'.
2901         (elmo-message-set-cached): Don't use `elmo-msgdb-set-cached'.
2902
2903         * elmo-msgdb.el (elmo-msgdb-get-cached): Abolish.
2904         (elmo-msgdb-set-cached): Ditto.
2905         (elmo-msgdb-set-flag): Rewrite.
2906         (elmo-msgdb-unset-flag): Ditto.
2907
2908         * elmo-msgdb.el: Rewrite with luna.
2909
2910         * elmo.el (elmo-folder-msgdb-load): Renamed from `elmo-msgdb-load'.
2911         (elmo-folder-msgdb): Follow the change above.
2912         (elmo-generic-folder-commit): Use `elmo-msgdb-save'.
2913         (elmo-folder-unmark-important): Follow the API change.
2914         (elmo-folder-mark-as-important): Ditto.
2915         (elmo-folder-unmark-read): Ditto.
2916         (elmo-folder-mark-as-read): Ditto.
2917         (elmo-folder-unmark-answered): Ditto.
2918         (elmo-folder-mark-as-answered): Ditto.
2919         (elmo-folder-clear): Likewise.
2920
2921         * elmo-imap4.el (elmo-folder-open): Use `elmo-folder-msgdb-load'
2922         instead of `elmo-msgdb-load' (renamed).
2923
2924         * elmo-version.el (elmo-version): Up to 2.11.12.
2925
2926 2003-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2927
2928         * elmo.el (elmo-generic-folder-append-messages): Follow the API
2929         change.
2930         (elmo-message-mark): Abolish.
2931         (elmo-folder-synchronize): Use `elmo-msgdb-out-of-date-messages'
2932         instead of `elmo-msgdb-change-mark'.
2933
2934         * elmo-pipe.el (elmo-message-mark): Abolish.
2935
2936         * elmo-multi.el (elmo-message-mark): Ditto.
2937
2938         * elmo-msgdb.el (elmo-msgdb-new-mark): Changed to constant.
2939         (elmo-msgdb-unread-uncached-mark): Ditto.
2940         (elmo-msgdb-unread-cached-mark): Ditto.
2941         (elmo-msgdb-read-uncached-mark): Ditto.
2942         (elmo-msgdb-answered-cached-mark): Ditto.
2943         (elmo-msgdb-answered-uncached-mark): Ditto.
2944         (elmo-msgdb-important-mark): Ditto.
2945         (elmo-msgdb-flags-to-mark): Remove arguments `cached' and
2946         `use-cache'.
2947         (elmo-msgdb-append-entity): Changed 3rd arg from `mark' to
2948         `flags'.
2949         (elmo-flag-table-load): Changed flag to list of flag.
2950         (elmo-flag-table-set): If flags is nil, set read flag.
2951         (elmo-flag-table-get): Return derived flags from global mark,
2952         cache status and saved flags.
2953         (elmo-msgdb-flag-table): Follow the change above.
2954         (elmo-msgdb-out-of-date-messages): New function.
2955
2956         * elmo-shimbun.el (elmo-folder-msgdb-create): Follow the API change.
2957
2958         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
2959
2960         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
2961
2962         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
2963         (elmo-nntp-msgdb-create-message): Ditto.
2964
2965         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
2966
2967         * elmo-maildir.el (elmo-maildir-list-location): Treat flags as
2968         independent.
2969         (elmo-folder-msgdb-create): Follow the API change.
2970
2971         * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
2972         (elmo-folder-append-messages): Ditto.
2973
2974         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
2975         (elmo-folder-append-buffer): Ditto.
2976
2977         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
2978
2979         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
2980
2981         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
2982         (elmo-archive-parse-mmdf): Ditto.
2983
2984         * elmo-version.el (elmo-version): Up to 2.11.11.
2985
2986 2003-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2987
2988         * elmo.el (elmo-message-flags): Use `elmo-msgdb-flags' instead of
2989         `elmo-msgdb-mark'.
2990
2991         * elmo-util.el (elmo-with-progress-display): Fixed edebug spec.
2992
2993         * elmo-pipe.el (elmo-message-flags): Defined.
2994
2995         * elmo-multi.el (elmo-message-flags): Ditto.
2996
2997 2003-09-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2998
2999         * elmo-msgdb.el (elmo-msgdb-delete-messages): Renamed from
3000         `elmo-msgdb-delete-msgs'.
3001
3002         * elmo.el (elmo-folder-count-flags): Don't use
3003         `elmo-msgdb-get-mark-alist'.
3004         (elmo-folder-detach-messages): Follow the API change.
3005
3006         * elmo.el (elmo-folder-list-messages): Append killed messages into
3007         result if `visible-only' is nil.
3008
3009         * elmo-nntp.el (elmo-nntp-catchup-msgdb): Return a list of
3010         canceled messages.
3011         (elmo-nntp-folder-msgdb-create): Kill messages which already canceled.
3012         (elmo-folder-update-number): Likewise.
3013
3014         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number): Abolish.
3015         (elmo-pop3-sort-msgdb-by-original-number): Use
3016         `elmo-msgdb-sort-entities'.
3017
3018         * elmo-msgdb.el (elmo-msgdb-sort-entities): New function.
3019         (elmo-msgdb-sort-by-date): Use it.
3020         (elmo-msgdb-overview-sort-by-date): Abolish.
3021
3022         * elmo-dop.el (elmo-folder-status-dop): Fixed.
3023
3024         * elmo-msgdb.el (elmo-msgdb-list-messages): Undo last change.
3025         (elmo-msgdb-flags): New function.
3026         (elmo-msgdb-merge): Use elmo-msgdb-append.
3027
3028         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed the last
3029         change.
3030
3031         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
3032
3033         * elmo-dop.el (elmo-folder-status-dop): Use
3034         elmo-folder-list-messages instead of elmo-msgdb-list-messages.
3035
3036 2003-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3037
3038         * elmo-map.el (elmo-folder-pack-numbers): Rewrite.
3039
3040         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed last change.
3041
3042         * elmo-msgdb.el (elmo-msgdb-append-entity): Fixed.
3043
3044         * elmo-util.el (elmo-with-progress-display): New macro.
3045
3046         * elmo-localdir.el (elmo-folder-pack-numbers): Rewrite.
3047
3048 2003-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3049
3050         * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
3051         `elmo-folder-list-message-entities' instead of
3052         `elmo-msgdb-get-overview'.
3053         (elmo-map-folder-list-message-locations): Ditto.
3054
3055         * elmo-msgdb.el (elmo-msgdb-append): Rewrite (use interface
3056         methods instead of treat directly).
3057         (elmo-msgdb-clear): Ditto.
3058         (elmo-msgdb-delete-msgs): Ditto.
3059         (elmo-msgdb-sort-by-date): Ditto.
3060
3061         * elmo-nntp.el (elmo-nntp-msgdb-create-message): Removed unused
3062         local variables.
3063         (elmo-nntp-folder-msgdb-create): Follow the API change.
3064
3065         * elmo-version.el (elmo-version): Up to 2.11.10.
3066
3067 2003-08-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3068
3069         * elmo-msgdb.el (elmo-msgdb-mark-to-flags): New function.
3070         (elmo-msgdb-flags-to-mark): Ditto.
3071         (elmo-msgdb-append-entity): Ditto.
3072
3073         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
3074         Use `elmo-msgdb-append-entity' instead of construct msgdb.
3075         (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
3076         (elmo-archive-parse-mmdf): Ditto.
3077
3078         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
3079
3080         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
3081
3082         * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
3083
3084         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
3085
3086         * elmo-mark.el (elmo-mark-folder-msgdb-create): Ditto.
3087
3088         * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
3089
3090         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
3091
3092         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
3093
3094         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
3095         (elmo-folder-msgdb-create-plugged): Set elmo-imap4-current-msgdb
3096         to empty msgdb.
3097
3098         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Use
3099         `elmo-msgdb-make-message-entity' and `elmo-msgdb-append-entity'
3100         instead of directly construction.
3101         (elmo-nntp-msgdb-create-message): Use `elmo-msgdb-append-entity'
3102         instead of construct msgdb.
3103
3104         * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
3105         `elmo-msgdb-set-overview' instead of reconstruct msgdb.
3106         (elmo-pop3-msgdb-create-message): Use `elmo-msgdb-append-entity'
3107         instead of construct msgdb.
3108
3109 2003-08-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3110
3111         * elmo-msgdb.el (elmo-msgdb-message-entity-field): Decode value
3112         when field is from or subject.
3113
3114 2003-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
3115
3116         * elmo-multi.el (elmo-message-entity-parent): Define.
3117         (elmo-folder-search): Rewrite.
3118
3119 2003-08-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3120
3121         * elmo-multi.el (elmo-message-cached-p): Define.
3122
3123         * elmo.el (elmo-message-cached-p): New method.
3124         (elmo-message-accessible-p): Use it instead of msgdb API directly.
3125         (elmo-message-flags): New method.
3126         (elmo-message-flagged-p): New function.
3127
3128         * elmo-version.el (elmo-version): Up to 2.11.9.
3129
3130 2003-08-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3131
3132         * elmo-version.el (elmo-version): Up to 2.11.8.
3133
3134         * elmo.el (elmo-folder-move-messages): Removed unused arguments.
3135
3136         * elmo-pipe.el (elmo-pipe-drain): Follow the change above.
3137
3138 2003-08-14  Yuuichi Teranishi  <teranisi@gohome.org>
3139
3140         * elmo.el (elmo-folder-detach-messages): Undo last change.
3141
3142 2003-08-13  Yuuichi Teranishi  <teranisi@gohome.org>
3143
3144         * elmo.el (elmo-folder-detach-messages): Don't load msgdb if empty.
3145
3146         * elmo-pipe.el (elmo-pipe-drain): Bind elmo-inhibit-number-mapping
3147         only when src folder type is pop3.
3148
3149 2003-08-12  Yuuichi Teranishi  <teranisi@gohome.org>
3150
3151         * elmo-msgdb.el (elmo-msgdb-make-index): Use
3152         elmo-msgdb-overview-entity-get-number instead of
3153         elmo-message-entity-number.
3154
3155 2003-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3156
3157         * elmo-version.el (elmo-version): Up to 2.11.7.
3158
3159 2003-08-07  Yuuichi Teranishi  <teranisi@gohome.org>
3160
3161         * elmo.el (elmo-folder-append-msgdb): Rewrite and define as an inline
3162         function.
3163
3164         * elmo-msgdb.el (elmo-msgdb-append): Use elmo-msgdb-make-index-return.
3165         (elmo-msgdb-merge): New function.
3166         (elmo-msgdb-make-index-return): Renamed from elmo-msgdb-make-index.
3167         (elmo-msgdb-make-index): Rewrite.
3168
3169         * elmo-version.el (elmo-version): Up to 2.11.6.
3170
3171         * elmo-msgdb.el (elmo-msgdb-list-messages): If argument is a string,
3172         use it as a the path for loading message entities.
3173
3174         * elmo-dop.el (elmo-folder-status-dop): Use elmo-msgdb-list-messages.
3175
3176 2003-08-05  Yuuichi Teranishi  <teranisi@gohome.org>
3177
3178         * elmo-filter.el (elmo-folder-set-message-modified): Set 
3179         message-modified slot of itself if it does not require target msgdb.
3180
3181         * elmo-mime.el (elmo-mime-message-display): Display message entirely
3182         if folder length is zero.
3183         (elmo-mime-display-as-is): Ditto.
3184
3185         * elmo-filter.el (elmo-folder-set-message-modified): Define.
3186
3187         * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
3188
3189 2003-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3190
3191         * elmo.el (elmo-folder-set-message-modified): New method.
3192         (elmo-generic-folder-commit): Use it.
3193         (elmo-folder-synchronize): Ditto.
3194
3195         * elmo-pipe.el (elmo-folder-set-message-modified): Define.
3196         (elmo-folder-commit): Remove duplicate definition.
3197
3198 2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
3199
3200         * elmo.el (elmo-folder-list-message-entities): Ignore killed-list.
3201
3202 2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3203
3204         * elmo.el (elmo-msgdb-load): Use elmo-msgdb-list-messages.
3205         (elmo-strict-folder-diff): Ditto.
3206         (elmo-folder-set-info-max-by-numdb): Simplify.
3207
3208         * elmo-nntp.el (elmo-nntp-folder-msgdb-create): Use
3209         elmo-msgdb-list-messages.
3210
3211         * elmo-msgdb.el (elmo-msgdb-seen-save): Abolish.
3212         (elmo-msgdb-list-flagged): Fixed problem when `flag' is `read'.
3213
3214 2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
3215
3216         * elmo.el (elmo-folder-list-messages): Treat killed-list only when
3217         visible-only is non-nil.
3218         (elmo-folder-confirm-appends): Changed message.
3219         (elmo-folder-synchronize): Added argument disable-killed.
3220
3221         * elmo-multi.el (elmo-folder-synchronize): Added argument
3222         disable-killed.
3223
3224         * elmo-pipe.el (elmo-folder-synchronize): Ditto.
3225
3226         * elmo-version.el (elmo-version): Up to 2.11.5.
3227
3228         * elmo-multi.el (elmo-folder-search): Use nil for 1st argument of
3229         elmo-list-filter.
3230
3231         * elmo-util.el (elmo-list-filter): Simplify.
3232
3233         * elmo.el (elmo-generic-folder-commit): Use elmo-folder-list-messages.
3234         (elmo-folder-set-info-max-by-numdb): Changed argument to number list.
3235         (elmo-generic-folder-diff): Abolish argument.
3236         (elmo-msgdb-load): Don't use number-alist.
3237
3238         * elmo-filter.el (elmo-folder-diff): Abolish argument.
3239
3240         * elmo-pipe.el (elmo-folder-diff): Ditto.
3241
3242         * elmo-nmz.el (elmo-folder-diff): Ditto.
3243
3244         * elmo-net.el (elmo-folder-diff): Ditto.
3245
3246         * elmo-maildir.el (elmo-folder-diff): Ditto.
3247
3248         * elmo-imap4.el (elmo-folder-diff-async): Ditto.
3249
3250         * elmo-multi.el (elmo-folder-diff): Ditto
3251         (elmo-multi-folder-diff): Rewrite.
3252
3253 2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3254
3255         * elmo-pipe.el (elmo-folder-msgdb): Define.
3256
3257 2003-08-01  Yuuichi Teranishi  <teranisi@gohome.org>
3258
3259         * elmo.el (elmo-message-set-cached): Define as a method.
3260
3261         * elmo-pipe.el (elmo-message-set-cached): Define.
3262         (elmo-find-fetch-strategy): Ditto.
3263
3264         * elmo-multi.el (elmo-message-set-cached): Define.
3265         (elmo-find-fetch-strategy): Rewrite.
3266
3267         * elmo-mime.el (elmo-mime-message-display): Use elmo-message-entity.
3268
3269         * elmo-pipe.el (elmo-message-folder): Fixed definition.
3270
3271 2003-07-30  Yuuichi Teranishi  <teranisi@gohome.org>
3272
3273         * elmo-msgdb.el (elmo-msgdb-list-messages): Use number of overviews
3274         instead of number-alist.
3275
3276         * elmo-localdir.el (elmo-folder-append-messages): Don't refer
3277         mark nor message-id when msgdb of source folder is not loaded.
3278
3279         * elmo.el (elmo-generic-folder-append-messages): Ditto.
3280
3281         * elmo-maildir.el (elmo-folder-append-messages): Ditto.
3282
3283 2003-07-29  Yuuichi Teranishi  <teranisi@gohome.org>
3284
3285         * elmo.el (elmo-folder-length): Don't require msgdb.
3286
3287 2003-07-28  Yuuichi Teranishi  <teranisi@gohome.org>
3288
3289         * elmo.el (elmo-message-mark): Cause an error when empty folder.
3290         (elmo-message-field): Ditto.
3291
3292         * elmo-maildir.el (luna-define-class): Added slot `answered-locations'.
3293         (elmo-map-folder-list-message-locations): Setup `answered-locations'
3294         slot.
3295         (elmo-map-folder-list-answereds): Define.
3296         (elmo-maildir-list-location): Treat 'R' info.
3297         (elmo-folder-msgdb-create): Treat flag-table.
3298         (elmo-folder-append-messages): Save flag-table.
3299
3300 2002-05-05  David Smith <ultrasoul@ultrasoul.com>
3301
3302         * elmo-imap4.el (elmo-imap4-folder-diff-plugged): 
3303         Use SELECT when elmo-imap4-use-select-to-update-status is t.
3304
3305 2003-07-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3306
3307         * elmo.el (elmo-generic-folder-append-messages): Fixed last change.
3308
3309         * elmo-localdir.el (elmo-folder-append-messages): Set flag as
3310         'read when mark is null.
3311
3312 2003-07-24  Yuuichi Teranishi  <teranisi@gohome.org>
3313
3314         * elmo-version.el (elmo-version): Up to 2.11.4.
3315
3316 2003-07-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3317
3318         * elmo-pipe.el (elmo-folder-unmark-answered): Define.
3319         (elmo-folder-mark-as-answered): Ditto.
3320
3321 2003-07-22  Yuuichi Teranishi  <teranisi@gohome.org>
3322
3323         * elmo-pop3.el (elmo-pop3-exists-exactly): Set default value as nil.
3324         (elmo-pop3-get-session): Make msgdb directory after session.
3325         (elmo-folder-exists-p): Check exactly at the first time even when the
3326         elmo-pop3-exists-exactly is nil.
3327
3328         * elmo-pipe.el (elmo-folder-open-internal): Don't drain here.
3329         (elmo-folder-list-messages): Define instead of
3330         elmo-folder-list-messages-internal.
3331         (elmo-folder-check): Check destination folder.
3332         (elmo-folder-synchronize): Drain the pipe.
3333
3334         * elmo-localdir.el (elmo-folder-append-messages): Don't cause an error
3335         when msgdb is not loaded.
3336
3337         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): Abolish.
3338
3339         * elmo-imap4.el (elmo-folder-list-messages-plugged): Fixed.
3340         (elmo-imap4-folder-diff-plugged): Use uidnext to calculate number of
3341         messages.
3342
3343         * elmo.el (elmo-folder-kill-messages-before): New function.
3344         (elmo-folder-kill-messages): Ditto.
3345         (elmo-folder-synchronize): Use elmo-folder-kill-messages-before.
3346
3347         * elmo-imap4.el (elmo-folder-list-messages-plugged): 
3348         Don't use elmo-msgdb-max-of-killed. It is harmful when messages are
3349         killed not by synchronize (e.g. scoring).
3350
3351 2003-07-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3352
3353         * elmo.el (elmo-folder-search-fast): Return t if condition is not
3354         treated.
3355         (elmo-folder-search): Follow the change above.
3356
3357         * elmo-util.el (elmo-read-search-condition-internal): Add `Flag'
3358         into the candidates of search field.
3359
3360 2003-07-21  Yuuichi Teranishi  <teranisi@gohome.org>
3361
3362         * elmo-msgdb.el (elmo-msgdb-set-flag): Overwrite answered flag.
3363         (elmo-msgdb-unset-flag): Ditto.
3364
3365         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Precedes Seen flag.
3366
3367 2003-07-19  Yuuichi Teranishi  <teranisi@gohome.org>
3368
3369         * elmo-pipe.el (elmo-folder-msgdb-create): Don't define.
3370         (elmo-folder-commit): Define.
3371         (elmo-folder-synchronize): Ditto.
3372         (elmo-folder-list-flagged): Ditto.
3373         (elmo-folder-commit): Ditto.
3374         (elmo-folder-length): Ditto.
3375         (elmo-folder-count-flags): Ditto.
3376         (elmo-message-mark): Ditto.
3377         (elmo-message-field): Ditto.
3378         (elmo-message-entity): Ditto.
3379         (elmo-message-folder): Ditto.
3380
3381 2003-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
3382
3383         * elmo.el (elmo-message-field): Define as a method.
3384
3385         * elmo-multi.el (elmo-message-entity): Fixed bug when no entity found.
3386         (elmo-message-field): Define.
3387
3388         * elmo.el (elmo-folder-list-unreads): Don't use msgdb API.
3389         (elmo-folder-list-importants): Ditto.
3390         (elmo-folder-list-answereds): Ditto.
3391
3392         * elmo-multi.el (elmo-folder-mark-as-important): Remove :before
3393         qualifier.
3394         (elmo-folder-mark-as-read): Ditto.
3395         (elmo-folder-unmark-read): Ditto.
3396         (elmo-folder-mark-as-answered): Ditto.
3397         (elmo-folder-unmark-answered): Ditto.
3398         (elmo-folder-list-flagged): Define.
3399         (elmo-folder-commit): Ditto.
3400         (elmo-folder-length): Ditto.
3401         (elmo-folder-count-flags): Ditto.
3402
3403 2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
3404
3405         * elmo.el (elmo-folder-detach-messages): New method.
3406         (elmo-folder-move-messages): Use it.
3407         (elmo-folder-synchronize): Ditto.
3408
3409         * elmo-multi.el (elmo-folder-detach-messages): Define.
3410
3411         * elmo.el (elmo-message-copy-entity): New function.
3412         (elmo-message-entity-set-number): Ditto.
3413         (elmo-message-mark): Define as method.
3414
3415         * elmo-multi.el (elmo-multi-real-folder-number): Changed position.
3416         (elmo-folder-synchronize): Return 0 (Should be reconsider).
3417         (elmo-message-entity): Fixed last change.
3418         (elmo-message-mark): Define.
3419         (elmo-folder-msgdb-create): Abolish.
3420         (elmo-multi-folder-append-msgdb): Ditto.
3421         (elmo-multi-folder-diff): Fixed.
3422         (elmo-multi-split-number-alist): Removed.
3423         (elmo-multi-split-mark-alist): Removed.
3424         (elmo-folder-list-messages): Define.
3425         (elmo-folder-list-messages-internal): Removed.
3426
3427         * elmo-localdir.el (elmo-folder-append-messages): Treat flags for
3428         local file messages.
3429         (elmo-folder-msgdb-create): Fixed read mark.
3430
3431 2003-07-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3432
3433         * elmo.el (elmo-generic-folder-append-messages): Set flag as nil
3434         if mark is nil.
3435
3436 2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
3437
3438         * elmo.el (elmo-folder-list-message-entities): Define as inline
3439         function.
3440         (elmo-folder-messages): Abolish.
3441
3442         * elmo-multi.el (elmo-folder-check): Call elmo-folder-check for each
3443         folder.
3444         (elmo-folder-synchronize): Define.
3445         (elmo-message-entity): Define.
3446
3447 2003-07-16  Yuuichi Teranishi  <teranisi@gohome.org>
3448
3449         * elmo-imap4.el (elmo-folder-delete-messages-plugged): Call
3450         elmo-imap4-session-select-mailbox.
3451
3452         * elmo.el (elmo-folder-move-messages): Don't display any message.
3453
3454         * elmo-imap4.el (elmo-imap4-send-command): Accept process output when
3455         parsing.
3456         (elmo-imap4-session-check): Don't wait CHECK response.
3457         (elmo-folder-delete-messages-plugged): Don't wait EXPUNGE response.
3458
3459 2003-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
3460
3461         * elmo.el (elmo-folder-synchronize): Fixed bug when sync-all.
3462
3463 2003-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
3464
3465         * elmo-multi.el (elmo-folder-process-crosspost): Follow the change in
3466         API.
3467         * elmo-nntp.el (elmo-folder-process-crosspost): Ditto.
3468
3469
3470         * elmo.el (elmo-folder-process-crosspost): Remove optional argument.
3471         (elmo-folder-list-message-entities): Added argument in-msgdb and
3472         numbers.
3473         (elmo-folder-synchronize): Define as a method.
3474
3475         * elmo-nntp.el (elmo-folder-initialize): Don't use
3476         elmo-nntp-default-user if zero-length username is specified
3477         explicitly.
3478
3479 2003-07-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
3480
3481         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't omit
3482         server name in case with username.
3483         (XXX: this is ad-hoc fix against username includes "@", it
3484         should be solved fundamentally)
3485
3486 2003-07-05  Yoichi NAKAYAMA  <yoichi@geiin.org>
3487
3488         * elmo-nntp.el (elmo-nntp-debug): New function.
3489         (elmo-nntp-send-command, elmo-nntp-process-filter): Call it.
3490         (elmo-network-authenticate-session): Hide auth-info from the log.
3491
3492         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't append
3493         user name if it is equal to elmo-nntp-default-user.
3494
3495 2003-06-07  Yuuichi Teranishi  <teranisi@gohome.org>
3496
3497         * elmo-shimbun.el (elmo-shimbun-get-headers): Use shimbun-server
3498         instead of shimbun-server-internal;
3499         Use shimbun-current-group instead of shimbun-current-group-internal.
3500         (elmo-folder-plugged-p): Use shimbun-server instead of
3501         shimbun-server-internal.
3502         (elmo-folder-set-plugged): Ditto.
3503         (elmo-net-port-info): Ditto.
3504         (elmo-folder-check): Ditto.
3505         (elmo-folder-expand-msgdb-path): Ditto.
3506         (elmo-folder-list-subfolders): Ditto.
3507
3508 2003-05-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
3509
3510         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra-field):
3511         Convert field-name to lower case.
3512         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
3513
3514 2003-05-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
3515
3516         * acap.el, elmo-imap4.el, elmo-nntp.el, elmo-util.el, pldap.el:
3517         `message' and `error' take format string.
3518
3519 2003-04-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3520
3521         * elmo-pipe.el (elmo-folder-clear): Implemented clear copied-list.
3522
3523 2003-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3524
3525         * elmo-msgdb.el (elmo-msgdb-message-entity-field): Don't use self
3526         recursive call (can't byte compile on emacs 20.7).
3527
3528 2003-04-02  Yuuichi Teranishi  <teranisi@gohome.org>
3529
3530         * elmo.el (elmo-folder-list-messages): Redefine as a luna method.
3531         (elmo-folder-list-message-entities): New API.
3532         (elmo-message-entity): Ditto.
3533         (elmo-message-entity-parent): Ditto.
3534         (elmo-folder-do-each-message-entity): Ditto.
3535         (elmo-message-entity-number): Ditto.
3536         (elmo-message-entity-field): Ditto.
3537         (elmo-message-entity-set-field): Ditto.
3538         (elmo-folder-count-flags): Ditto.
3539         (elmo-folder-length): Ditto.
3540
3541         * elmo-util.el (elmo-get-hash-val): Check whether hashtable is nil or
3542         not.
3543
3544         * elmo-msgdb.el (elmo-msgdb-list-messages): New function.
3545         (elmo-msgdb-count-marks): Abolish.
3546         (elmo-msgdb-make-entity): Ditto.
3547         (elmo-msgdb-do-each-entity): Ditto.
3548         (elmo-msgdb-message-entity): New inline function.
3549         (elmo-msgdb-message-entity-field): Ditto.
3550         (elmo-msgdb-message-entity-set-field): Ditto.
3551         (elmo-msgdb-make-message-entity): New function.
3552
3553 2003-03-25  Yuuichi Teranishi  <teranisi@gohome.org>
3554
3555         * elmo.el (elmo-folder-append-buffer): Changed argument from unread 
3556         to flag. (All other related portions are changed.)
3557         (elmo-folder-msgdb-create): Likewise.
3558         (elmo-generic-folder-append-messages): Use flag-table instead of
3559         seen-list.
3560         (elmo-folder-move-messages): Removed redundant process.
3561         (elmo-folder-synchronize): Likewise.
3562
3563         * elmo-msgdb.el (elmo-flag-table-get): New function.
3564         (elmo-flag-table-save): Fixed.
3565         (elmo-msgdb-length): New inline function.
3566         (elmo-msgdb-flag-table): New function.
3567         (elmo-msgdb-mark): Add optional argument new.
3568         (elmo-msgdb-add-msgs-to-seen-list): Abolish.
3569         (elmo-msgdb-seen-list): Ditto.
3570         (elmo-msgdb-add-msgs-to-seen-list): Ditto.
3571
3572
3573 2003-03-24  Yuuichi Teranishi  <teranisi@gohome.org>
3574
3575         * elmo.el (elmo-message-set-mark): Abolish.
3576         (elmo-folder-unmark-important): Added optional argument `ignore-flag'.
3577         (All related portions are changed.)
3578
3579         * elmo-msgdb.el (toplevel): Added comment.
3580         (elmo-load-msgdb): Added 4th element `path'.
3581         (elmo-msgdb-append): Follow the change above.
3582         (elmo-msgdb-clear): Ditto.
3583         (elmo-msgdb-delete-msgs): Ditto.
3584         (elmo-msgdb-get-path): New inline function.
3585         (elmo-msgdb-set-path): Ditto.
3586         (elmo-flag-table-filename): New variable.
3587         (elmo-flag-table-load): New function.
3588         (elmo-flag-table-set): Ditto.
3589         (elmo-flag-table-save): Ditto.
3590         (elmo-msgdb-get-field-value): Abolish.
3591         (elmo-msgdb-overview-get-entity-by-number): Ditto.
3592
3593 2003-03-30  Yoichi NAKAYAMA  <yoichi@geiin.org>
3594
3595         * elmo.el (elmo-folder-delete): Confirm deletion here, return t if
3596         the folder has been deleted successfully.
3597         * elmo-imap4.el (elmo-folder-delete): Ditto.
3598         * elmo-archive.el (elmo-folder-delete): Ditto.
3599         * elmo-localdir.el (elmo-folder-delete): Ditto.
3600         * elmo-maildir.el (elmo-folder-delete): Ditto.
3601
3602 2003-03-27  Tetsurou Okazaki  <okazaki@be.to>
3603
3604         * elmo-util.el (elmo-string-member-ignore-case): New function.
3605         * elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Use it.
3606         (elmo-imap4-fetch-callback-1-subr): Likewise.
3607
3608 2003-03-27  Kimura Fuyuki <fuyuki@hadaly.org>
3609
3610         * elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Fix
3611         the case of the name attribute "\Noselect".
3612
3613 2003-02-16  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3614
3615         * elmo.el (elmo-folder-rename-internal): New method to cause error.
3616
3617         * elmo-localdir.el (elmo-folder-pack-numbers): onum, a member of
3618         flist, is not always a member of onum-alist.
3619
3620 2003-02-14  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3621
3622         * elmo-version.el (elmo-version): Up to 2.11.3.
3623
3624 2003-02-10  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3625
3626         * elmo-maildir.el (elmo-folder-rename-internal): New method,
3627         copied from localdir's one.
3628
3629         * elmo-pipe.el (elmo-folder-rename): New method, rename
3630         destination folder with leaving source folder as it is.
3631
3632 2003-02-08  KAMO Tomoyuki  <kamo@ITmanage.co.jp>
3633
3634         * elmo-nntp.el (elmo-nntp-get-folders-info): Don't use
3635         replace-regexp.
3636
3637 2003-02-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3638
3639         * elmo-version.el (elmo-version): Up to 2.11.2.
3640
3641 2003-02-05  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3642
3643         * elmo-shimbun.el (elmo-folder-initialize): Do not call
3644         shimbun-open in case of "@".
3645         (elmo-folder-open-internal): Cope with shimbun = nil case.
3646         (elmo-folder-plugged-p): Ditto.
3647         (elmo-folder-list-subfolders): Make list for "@/" group.
3648
3649 2003-01-31  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3650
3651         * elmo-imap4.el (elmo-folder-expand-msgdb-path): Don't expand
3652         mailbox (e.g. for %~/something).
3653
3654 2003-01-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>
3655
3656         * elmo-localdir.el (elmo-folder-rename-internal): Referctoring;
3657         Replace nested conditional with guard clauses.
3658
3659 2003-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
3660
3661         * pldap.el (ldap-search-basic): Don't treat exit status 32 as an
3662         error [wl:11327].
3663
3664         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Bind print-level,
3665         print-depth.
3666
3667 2003-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>
3668
3669         * elmo-archive.el (elmo-folder-rename-internal): Referctoring;
3670         Replace nested conditional with guard clauses.
3671
3672 2003-01-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3673
3674         * elmo-util.el (elmo-object-save): Bind print-level, print-length.
3675         (elmo-passwd-alist-save): Ditto.
3676         * elmo-database.el (elmo-database-msgid-put): Bind print-length.
3677
3678 2003-01-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3679
3680         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Expand
3681         dir-name only if it is absolute path.
3682         (TODO: distinguish +/something and +something)
3683
3684 2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3685
3686         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Correct msgdb
3687         path for "+~/something".
3688
3689 2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3690
3691         * elmo-localdir.el (elmo-folder-rename-internal): If new-dir exist
3692         as non-directory, cause error before rename-file.
3693         * elmo-archive.el (elmo-folder-rename-internal): Create directory
3694         apropriately, mimic localdir's one.
3695         Based on the patch from KAMO Tomoyuki <kamo@ITmanage.co.jp>.
3696
3697 2003-01-10  Tsutomu OKADA  <okada@furuno.co.jp>
3698
3699         * elmo-map.el (elmo-folder-pack-numbers): Fix name of the function.
3700
3701 2003-01-06  Yuuichi Teranishi  <teranisi@gohome.org>
3702
3703         * elmo-msgdb.el: Moved global mark handling stuffs to elmo-util.el.
3704
3705         * elmo-util.el: Moved global mark handling stuffs from elmo-msgdb.el.
3706         
3707         * elmo-util.el (elmo-file-cache-delete): Check whether the cache file
3708         is included in the global-mark or not.
3709
3710 2002-12-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3711
3712         * utf7.el (toplevel): Avoid error when the function
3713         find-coding-system does not exist.
3714
3715 2002-12-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3716
3717         * elmo-nntp.el (elmo-folder-search): Body search is to search from
3718         cache even if the folder is plugged.
3719         (elmo-nntp-search-primitive): Do nothing when body search is
3720         invoked (although it is not used by the change above).
3721         * elmo-multi.el (elmo-folder-search): Don't ignore error anymore.
3722
3723 2002-12-20  Kenichi OKADA  <okada@opaopa.org>
3724
3725         * elmo-version.el (elmo-version): Up to 2.11.1.
3726
3727 2002-12-10  Kenichi OKADA  <okada@opaopa.org>
3728
3729         * elmo-archive.el: Specify charset.
3730
3731 2002-12-04  Yuuichi Teranishi  <teranisi@gohome.org>
3732
3733         * elmo-pop3.el (elmo-pop3-process-filter): Check whether the pop3
3734         process buffer lives or not.
3735
3736         * elmo-dop.el (elmo-dop-queue-flush): Don't append to the dop-queue
3737         while flushing queues (It causes infinite loop).
3738
3739 2002-11-26  Yuuichi Teranishi  <teranisi@gohome.org>
3740
3741         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed last change.
3742
3743 2002-11-24  Yuuichi Teranishi  <teranisi@gohome.org>
3744
3745         * utf7.el (toplevel): Check the ucs features dynamically.
3746         (Advice from Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>)
3747
3748         * elmo-pipe.el (elmo-folder-creatable-p): Don't check whether the
3749         folder is creatabe or not if it already exists.
3750
3751 2002-11-21  Yuuichi Teranishi  <teranisi@gohome.org>
3752
3753         * elmo-nntp.el (elmo-nntp-search-primitive): Revert the last change.
3754
3755         * elmo-multi.el (elmo-folder-search): Ignore errors while search.
3756
3757         * elmo-imap4.el (elmo-imap4-response-garbage-p): New macro.
3758         (elmo-imap4-read-response): Take care of garbage response.
3759
3760 2002-11-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3761
3762         * elmo-nntp.el (elmo-nntp-search-primitive): Fix the last change,
3763         just return nil instead of error.
3764
3765 2002-11-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3766
3767         * elmo-nntp.el (elmo-nntp-search-primitive): Cause error when the
3768         search-key is "body".
3769
3770 2002-11-19  Yuuichi Teranishi  <teranisi@gohome.org>
3771
3772         * elmo-imap4.el (elmo-folder-list-subfolders): Check the return value
3773         of elmo-string-matched-assoc to use match-data.
3774         (Thanks to Mito <mito@mxa.nes.nec.co.jp>)
3775
3776 2002-11-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3777
3778         * elmo-split.el (elmo-split->): New function.
3779         (elmo-split-<): Ditto.
3780
3781 2002-11-14  Yuuichi Teranishi  <teranisi@gohome.org>
3782
3783         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Added
3784         workaround for invalid message-id.
3785
3786 2002-11-13  Yuuichi Teranishi  <teranisi@gohome.org>
3787
3788         * elmo-pop3.el (elmo-pop3-get-session): If if-exists is 'any-exists,
3789         return normal pop3 session or pop3 biff session.
3790
3791 2002-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
3792
3793         * elmo-maildir.el (elmo-maildir-update-current): Don't append
3794         info part to the cur files when the new files already have it.
3795         (Adviced by Jared Rhine <jared@wordzoo.com>)
3796
3797 2002-11-06  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3798
3799         * elmo-split.el (elmo-split-default-action): New variable.
3800         (elmo-split-subr): Use it if all other conditions are passed.
3801         Extend `fname' and rename it as `action'. (implemented
3802         Teranishi-san's idea in [wl:10800])
3803
3804 2002-10-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3805
3806         * elmo-imap4.el: Remove Nemacs hack, replace `elmo-read' by `read'.
3807         * elmo-util.el: Ditto.
3808
3809 2002-10-28  Yuuichi Teranishi  <teranisi@gohome.org>
3810
3811         * elmo.el (elmo-message-accessible-p): Renamed from
3812         elmo-message-cached-p and rewritten.
3813
3814 2002-10-27  Yuuichi Teranishi  <teranisi@gohome.org>
3815
3816         * elmo.el (elmo-folder-list-flagged): New generic function.
3817         (elmo-folder-list-importants): New implementation.
3818         (elmo-folder-list-answereds): Ditto.
3819         (elmo-folder-search-fast):  Use 'flag' instead of 'mark';
3820         Added 'digest'.
3821         (elmo-message-cached-p): New function.
3822         (elmo-message-set-flag): Ditto (no content).
3823         (elmo-message-unset-flag): Ditto.
3824         (elmo-folder-list-messages-mark-match): Abolish.
3825
3826         * elmo-util.el (elmo-regexp-opt): New function.
3827
3828         * elmo-msgdb.el (elmo-msgdb-get-cached): New function.
3829         (elmo-msgdb-match-condition-primitive): Use 'flag' instead of 'mark';
3830         Added 'digest'.
3831         (elmo-msgdb-list-flagged): New function.
3832
3833         * elmo-imap4.el (elmo-imap4-folder-list-digest-plugged): New function.
3834         (elmo-imap4-search-internal-primitive): Use 'flag' instead of 'mark';
3835         Added 'digest'.
3836
3837         * elmo-filter.el (elmo-folder-diff): Use 'flag' instead of 'mark'.
3838
3839 2002-10-26  Yuuichi Teranishi  <teranisi@gohome.org>
3840
3841         * elmo-version.el (elmo-version): Up to 2.11.0.
3842
3843 2002-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3844
3845         * elmo-msgdb.el (elmo-msgdb-set-flag): Use
3846         `elmo-file-cache-exists-p'; use proper mark that depends on
3847         `use-cache'.
3848         (elmo-msgdb-unset-flag): Ditto.
3849         (elmo-msgdb-set-cached): Ditto. added argument `use-cache'.
3850
3851         * elmo.el (elmo-message-set-cached): Call `elmo-msgdb-set-cached'
3852         with 4th argument `use-cache'.
3853
3854 2002-10-18  Yuuichi Teranishi  <teranisi@gohome.org>
3855
3856         * elmo.el (elmo-folder-unmark-important): Follow the changes above.
3857         (elmo-folder-mark-as-important): Ditto.
3858         (elmo-folder-unmark-read): Ditto.
3859         (elmo-folder-mark-as-read): Ditto.
3860         (elmo-folder-unmark-answered): Ditto.
3861         (elmo-folder-mark-as-answered): Ditto.
3862
3863         * elmo-msgdb.el (elmo-msgdb-set-cached): Use the term 'flag' for
3864         message status.
3865         (elmo-msgdb-mark): Likewise.
3866         (elmo-msgdb-set-flag): Renamed from elmo-msgdb-set-status.
3867         (elmo-msgdb-unset-flag): Likewise.
3868
3869         * elmo.el (elmo-generic-folder-diff): Avoid byte-compile warning.
3870
3871 2002-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3872
3873         * elmo-filter.el (elmo-folder-diff): Fixed condition checking
3874         `last:' filter.
3875
3876 2002-10-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3877
3878         * elmo-dop.el (elmo-folder-status-dop): If spool-folder is absent,
3879         set spool-length to 0.
3880
3881 2002-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3882
3883         * elmo-dop.el (elmo-dop-queue-flush): Check obsolete at first.
3884         (elmo-dop-queue-flush): Fixed last change.
3885
3886 2002-10-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3887
3888         * elmo-filter.el (elmo-folder-list-unreads): Call generic method
3889         if require-msgdb slot is nil.
3890         (elmo-folder-list-importants): Likewise.
3891
3892 2002-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3893
3894         * elmo.el (elmo-message-set-cached): Set mark-modified slot if
3895         mark is changed.
3896
3897         * elmo-msgdb.el (elmo-msgdb-set-mark): Return t.
3898         (elmo-msgdb-set-cached): Undo last change; return non-nil if mark
3899         is changed.
3900
3901 2002-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
3902
3903         * elmo-msgdb.el (elmo-msgdb-set-cached): Set mark-modified slot.
3904
3905 2002-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
3906
3907         * elmo-msgdb.el (elmo-msgdb-unset-status): Set mark-modified slot.
3908
3909         * elmo-multi.el (elmo-folder-close): Set msgdb of children as nil.
3910
3911 2002-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3912
3913         * elmo-msgdb.el (elmo-msgdb-set-status): Fixed logic (new to read).
3914         (elmo-msgdb-uncached-marks): Added elmo-msgdb-new-mark.
3915
3916 2002-09-24  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
3917
3918         * elmo.el: Add autoload setting for elmo-nntp-post, fix against
3919         the problem reported by Sean Rima [wl-en:180].
3920
3921 2002-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
3922
3923         * elmo-filter.el (elmo-folder-diff): Treat 'mark:' filter.
3924
3925         * elmo.el (elmo-folder-unmark-read): Added argument `ignore-flag'.
3926
3927         * elmo-filter.el (elmo-folder-unmark-read): Ditto.
3928
3929         * elmo-map.el (elmo-folder-unmark-read): Ditto.
3930
3931         * elmo-multi.el (elmo-folder-unmark-read): Ditto.
3932
3933         * elmo-net.el (elmo-folder-unmark-read): Ditto.
3934
3935         * elmo-pipe.el (elmo-folder-unmark-read): Ditto.
3936
3937 2002-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
3938
3939         * elmo-imap4.el (elmo-imap4-parse-status): Skip white spaces after
3940         status number.
3941
3942 2002-09-17  Yuuichi Teranishi  <teranisi@gohome.org>
3943
3944         * elmo.el (elmo-folder-mark-as-read): Added argument `ignore-flag'.
3945         (elmo-folder-mark-as-read): Follow the API change.
3946         (elmo-message-set-cached): New function.
3947
3948         * elmo-pipe.el (elmo-folder-mark-as-read): Follow the API change.
3949
3950         * elmo-nntp.el (elmo-folder-mark-as-read): Set :before qualifier.
3951
3952         * elmo-net.el (elmo-folder-unmark-important): Set :before qualifier.
3953         (elmo-folder-mark-as-important): Ditto.
3954         (elmo-folder-unmark-read): Ditto.
3955         (elmo-folder-mark-as-read): Ditto.
3956         (elmo-folder-unmark-answered): Ditto.
3957         (elmo-folder-mark-as-answered): Ditto.
3958
3959         * elmo-multi.el (elmo-folder-mark-as-important): Set :before qualifier.
3960         (elmo-folder-unmark-important): Ditto.
3961         (elmo-folder-mark-as-read): Ditto.
3962         (elmo-folder-unmark-read): Ditto.
3963         (elmo-folder-mark-as-answered): Ditto.
3964         (elmo-folder-unmark-answered): Ditto.
3965
3966         * elmo-mark.el (toplevel): Removed some mark method definitions.
3967
3968         * elmo-map.el (elmo-map-folder-unmark-answered): New method.
3969         (elmo-map-folder-mark-as-answered): Ditto.
3970         (elmo-folder-unmark-important): Add :before qualifier.
3971         (elmo-folder-mark-as-important): Ditto.
3972         (elmo-folder-unmark-read): Ditto.
3973         (elmo-folder-mark-as-read): Ditto.
3974         (elmo-folder-unmark-answered): Define.
3975         (elmo-folder-mark-as-answered): Ditto.
3976
3977         * elmo-maildir.el (elmo-map-folder-mark-as-answered): Define.
3978         (elmo-map-folder-unmark-answered): Ditto.
3979
3980         * elmo-filter.el (elmo-folder-mark-as-read): Follow the API change.
3981
3982         * elmo-net.el (elmo-folder-unmark-important): Added :around qualifier.
3983         (elmo-folder-mark-as-important): Ditto.
3984         (elmo-folder-unmark-read): Ditto.
3985         (elmo-folder-mark-as-read): Ditto.
3986         (elmo-folder-unmark-answered): Ditto.
3987         (elmo-folder-mark-as-answered): Ditto.
3988
3989         * elmo-msgdb.el (elmo-msgdb-match-condition-primitive): Added argument
3990         `mark'; evaluate mark condition.
3991         (elmo-msgdb-match-condition-internal): New function.
3992         (elmo-msgdb-match-condition): Call it; changed argument.
3993
3994         * elmo.el (elmo-folder-search): Follow the API change on
3995         `elmo-msgdb-match-condition'.
3996
3997 2002-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3998
3999         * elmo-filter.el (elmo-folder-msgdb-create): Add to mark-alist if
4000         original mark is non-nil.
4001
4002 2002-09-17  Yuuichi Teranishi  <teranisi@gohome.org>
4003
4004         * elmo-map.el (elmo-map-folder-list-unreads): Define default behavior.
4005         (elmo-map-folder-list-answereds): New method.
4006         (elmo-folder-list-unreads): Add :around qualifier.
4007         (elmo-folder-list-importants): Ditto.
4008         (elmo-folder-list-answereds): Ditto.
4009
4010 2002-09-16  Yuuichi Teranishi  <teranisi@gohome.org>
4011
4012         * elmo-msgdb.el (elmo-msgdb-mark): New inline function.
4013
4014         * elmo-filter.el (elmo-folder-msgdb-create): Call target-folder's
4015         method if msgdb is not required.
4016         (elmo-filter-folder-list-importants): Don't treat global-mark.
4017
4018         * elmo.el (elmo-folder-list-importants): Ditto.
4019
4020         * elmo-net.el (elmo-folder-list-importants): Ditto.
4021
4022         * elmo-map.el (elmo-folder-list-importants): Ditto.
4023
4024         * elmo-msgdb.el (elmo-msgdb-seen-list): Use `elmo-msgdb-unread-marks'
4025
4026         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Set answered mark.
4027         (elmo-imap4-folder-list-any-plugged): New function.
4028         (elmo-imap4-search-internal-primitive): Use it.
4029
4030         * elmo-filter.el (elmo-folder-check): Synchronize original folder
4031         only when require-msgdb slot is non-nil.
4032         (elmo-folder-close): Clear target folder's msgdb.
4033
4034 2002-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
4035
4036         * elmo-pop3.el (elmo-folder-msgdb-create): Follow the API change.
4037         (elmo-pop3-msgdb-create-by-header): Ditto.
4038         (elmo-pop3-msgdb-create-message): Ditto.
4039
4040         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
4041
4042         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
4043
4044         * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
4045
4046         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
4047         (elmo-folder-msgdb-create): Ditto.
4048         (elmo-nntp-folder-msgdb-create): Ditto.
4049         (elmo-nntp-msgdb-create-by-header): Ditto.
4050         (elmo-nntp-msgdb-create-message): Ditto.
4051         (elmo-folder-list-unreads): Define.
4052
4053         * elmo-pipe.el (elmo-folder-msgdb-create): Ditto.
4054         (elmo-folder-append-messages): Ditto.
4055         (elmo-folder-list-unreads): Define.
4056         (elmo-folder-list-importants): Ditto.
4057         (elmo-folder-list-answereds): Ditto.
4058
4059         * elmo-net.el (elmo-folder-list-unreads): Define.
4060         (elmo-folder-list-importants): Ditto.
4061         (elmo-folder-list-answereds): Ditto.
4062         (elmo-folder-list-answereds-plugged): Ditto.
4063         (elmo-folder-msgdb-create): Follow the API change.
4064         (elmo-folder-msgdb-create-unplugged): Ditto.
4065         (elmo-folder-unmark-answered): Define.
4066         (elmo-folder-mark-as-answered-unplugged): Ditto.
4067         (elmo-folder-unmark-answered-unplugged): Ditto.
4068
4069         * elmo-msgdb.el (elmo-msgdb-new-mark): New user option.
4070         (elmo-msgdb-unread-uncached-mark): Ditto.
4071         (elmo-msgdb-unread-cached-mark): Ditto.
4072         (elmo-msgdb-read-uncached-mark): Ditto.
4073         (elmo-msgdb-answered-cached-mark): Ditto.
4074         (elmo-msgdb-answered-uncached-mark): Ditto.
4075         (elmo-msgdb-important-mark): Ditto.
4076         (elmo-msgdb-set-mark): Rewrite.
4077         (elmo-msgdb-count-marks): Rewrite.
4078         (elmo-msgdb-mark-alist-set): Abolish.
4079         (elmo-msgdb-seen-list): Removed argument `seen-marks'.
4080         (elmo-msgdb-add-msgs-to-seen-list): Likewise.
4081
4082         * elmo-multi.el (elmo-folder-check): Call elmo-folder-synchronize.
4083         (elmo-folder-close): Define.
4084         (elmo-folder-msgdb-create): Follow the API change.
4085         (elmo-folder-list-unreads): Rewrite.
4086         (elmo-folder-mark-as-important): Ditto.
4087         (elmo-folder-unmark-important): Ditto.
4088         (elmo-folder-mark-as-read): Ditto.
4089         (elmo-folder-unmark-read): Ditto.
4090         (elmo-folder-mark-as-answered): Define.
4091         (elmo-folder-unmark-answered): Ditto.
4092
4093         * elmo-localdir.el (elmo-folder-msgdb-create): Follow the API change.
4094         (elmo-folder-append-messages): Ditto.
4095
4096         * elmo-mark.el (elmo-folder-msgdb-create): Ditto.
4097
4098         * elmo-map.el (elmo-folder-list-unreads): Ditto.
4099         (elmo-folder-list-importants): Ditto.
4100
4101         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
4102         (elmo-folder-append-messages): Ditto.
4103
4104         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Follow the API
4105         change.
4106         (elmo-folder-msgdb-create-plugged): Ditto.
4107         (elmo-folder-append-messages): Ditto.
4108         (elmo-folder-list-answereds-plugged): Define.
4109         (elmo-imap4-search-internal-primitive): Add `mark' processing.
4110         (elmo-folder-unmark-answered-plugged): Define.
4111         (elmo-folder-mark-as-answered-plugged): Ditto.
4112         (elmo-folder-search-requires-msgdb-p): Ditto.
4113
4114         * elmo-filter.el (elmo-filter-folder): Added new slot 'require-msgdb'.
4115         (elmo-folder-initialize): Set it.
4116         (elmo-folder-msgdb): Define.
4117         (elmo-folder-check): Call elmo-folder-synchronize.
4118         (elmo-folder-close): Define.
4119         (elmo-folder-commit): Ditto.
4120         (elmo-folder-msgdb-create): Rewrite.
4121         (elmo-folder-list-unreads): Ditto.
4122         (elmo-folder-list-importants): Ditto.
4123         (elmo-folder-mark-as-read): Ditto.
4124         (elmo-folder-unmark-read): Ditto.
4125         (elmo-folder-mark-as-important): Ditto.
4126         (elmo-folder-unmark-important): Ditto.
4127         (elmo-folder-mark-as-answered): Define.
4128         (elmo-folder-unmark-answered): Ditto.
4129
4130         * elmo-dop.el (elmo-dop-queue-merge-method-list): Added
4131         elmo-folder-mark-as-answered, elmo-folder-unmark-answered.
4132         (elmo-dop-queue-method-name-alist): Likewise.
4133         (elmo-folder-mark-as-answered-dop): New inline function.
4134         (elmo-folder-unmark-answered-dop): Ditto.
4135         (elmo-folder-status-dop): Treat spool-length as 0 if it does not exist.
4136
4137         * elmo-archive.el (elmo-folder-append-messages): Follow the API change.
4138         (elmo-folder-msgdb-create): Ditto.
4139         (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
4140         (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
4141         (elmo-archive-parse-mmdf): Ditto.
4142
4143         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
4144         (elmo-folder-list-unreads-internal): Ditto.
4145
4146         * elmo.el (elmo-folder-msgdb): Define as generic function.
4147         (elmo-folder-list-messages): Added argument `in-msgdb'.
4148         (elmo-folder-list-unreads): Define as generic function.
4149         (elmo-folder-list-importants): Ditto.
4150         (elmo-folder-list-answereds): Ditto.
4151         (elmo-folder-list-messages-with-global-mark): New function.
4152         (elmo-folder-msgdb-create): Removed mark arguments.
4153         (elmo-folder-unmark-answered): New generic function.
4154         (elmo-folder-mark-as-answered): Ditto.
4155         (elmo-folder-append-messages): Removed argunment `unread-marks'
4156         (elmo-folder-list-unreads-internal): Abolish.
4157         (elmo-folder-list-importants-internal): Ditto.
4158         (elmo-folder-search-requires-msgdb-p): New generic function.
4159         (elmo-folder-search-requires-msgdb-p-internal): New function.
4160         (elmo-generic-folder-open): Call elmo-folder-msgdb instead of
4161         elmo-msgdb-load.
4162         (elmo-folder-search-fast): Added key 'mark'.
4163         (elmo-generic-folder-append-messages): Use elmo-msgdb-unread-marks
4164         instead of unread-marks argument.
4165         (elmo-folder-move-messages): Removed argunment `unread-marks'
4166         (elmo-folder-unmark-important): Define.
4167         (elmo-folder-mark-as-important): Ditto.
4168         (elmo-folder-unmark-read): Ditto.
4169         (elmo-folder-mark-as-read): Ditto.
4170         (elmo-folder-unmark-answered): Ditto.
4171         (elmo-folder-mark-as-answered): Ditto.
4172         (elmo-folder-replace-marks): Abolish.
4173         (elmo-generic-folder-append-msgdb): Append msgdb before checking
4174         duplicates.
4175         (elmo-folder-synchronize): Removed mark arguments;
4176         return crosspost only number.
4177
4178 2002-09-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4179
4180         * elmo-dop.el (elmo-dop-queue-flush): Remove unused argument.
4181         Remove redundunt connectivity check.
4182
4183 2002-09-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4184
4185         * elmo-dop.el (elmo-dop-queue-flush): Perform plugged ones only so
4186         as not to clear queue unexpectedly. (Ref. [wl:9778],[wl:10493])
4187
4188 2002-09-03  Yuuichi Teranishi  <teranisi@gohome.org>
4189
4190         * pldap.el (ldap-decode-string): Return string as-is if
4191         `ldap-coding-system' is nil.
4192         (ldap-encode-string): Ditto.
4193         (ldap-search-entries): Encode filter string with `ldap-encode-string'.
4194         (ldap-default-host): Fixed docstring.
4195
4196 2002-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
4197
4198         * elmo-util.el (elmo-warning): Define as a macro which uses
4199         `display-warning' if it is defined as a function.
4200
4201         * elmo-split.el (elmo-split-fetch-decoded-field): New function.
4202         (elmo-split-equal): Use it.
4203         (elmo-split-match): Ditto.
4204         (elmo-split-message-entity): New buffer-local variable.
4205         (elmo-split-subr): Set it.
4206
4207         * elmo-version.el (elmo-version): Up to 2.9.15.
4208
4209 2002-08-18  Kenichi OKADA  <okada@opaopa.org>
4210
4211         * elmo-imap4.el (elmo-network-initialize-session):
4212         Check capability after starttls.
4213
4214 2002-08-06  Yuuichi Teranishi  <teranisi@gohome.org>
4215
4216         * elmo-util.el (elmo-list-delete): Added optional argument
4217         DELETE-FUNCTION.
4218
4219         * elmo-vars.el (elmo-imap4-default-mailbox): Abolished.
4220
4221         * elmo-util.el (elmo-warning): Ignore errors while recenter.
4222
4223         * elmo-msgdb.el (elmo-msgdb-do-each-entity): New macro.
4224
4225         * elmo-imap4.el (elmo-folder-initialize): Don't use
4226         elmo-imap4-default-mailbox.
4227
4228 2002-07-24  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4229
4230         * elmo-split.el (toplevel): Use `product-provide'.
4231         (elmo-split): Checkdoc.
4232
4233 2002-07-21  Tetsurou Okazaki  <okazaki@be.to>
4234
4235         * elmo-imap4.el (elmo-imap4-debug, elmo-imap4-debug-1):
4236         Split `elmo-imap4-debug' into the macro `elmo-imap4-debug' and
4237         the function `elmo-imap4-debug-1'.
4238
4239 2002-07-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4240
4241         * elmo-split.el (elmo-split): Moved to run hooks and to show
4242         message from elmo-split-subr.
4243         (elmo-split-subr): Follow the change above.
4244
4245         * elmo-split.el (elmo-split-subr): New function (renamed from
4246         elmo-split-subr).
4247         (elmo-split): Changed to call elmo-split-subr by element of
4248         elmo-split-folder.
4249         (elmo-split-folder): Changed customization type to choice.
4250
4251 2002-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4252
4253         * elmo-split.el (elmo-split-and): Fixed condition.
4254
4255 2002-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
4256
4257         * elmo-split.el: New file.
4258         (elmo-split): Fixed logic.
4259         Display "Test:" instead of "Folder:" when reharsal.
4260
4261         * elmo-imap4.el (elmo-folder-append-buffer): Set flag as empty
4262         explicitly.
4263
4264         * elmo-version.el (elmo-version): Up to 2.9.14.
4265
4266         * elmo-util.el (elmo-expand-newtext): New function (renamed from
4267         wl-expand-newtext).
4268
4269 2002-06-10  Kenichi Sato <ksato@sonycom.com>
4270
4271         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Fix for
4272         message with no message-id field.
4273
4274 2002-05-20  Yuuichi Teranishi  <teranisi@gohome.org>
4275
4276         * elmo-version.el (elmo-version): Up to 2.9.13.
4277
4278         * elmo-dop.el (elmo-folder-status-dop): Fix.
4279
4280 2002-05-19  Yuuichi Teranishi  <teranisi@gohome.org>
4281
4282         * elmo-util.el (elmo-disk-usage): Return 0 if invalid file attribute.
4283
4284         * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Avoid
4285         changing default value of default-mime-charset.
4286         (elmo-msgdb-create-overview-from-buffer): Remove TAB character.
4287
4288         * elmo-imap4.el (elmo-folder-open): Fixed NO response check.
4289
4290         * elmo-dop.el (elmo-dop-queue-merge-method-list): New variable.
4291         (elmo-dop-queue-merge): Use elmo-dop-queue-merge-method-list
4292         instead of elmo-dop-queue-method-name-alist to check merging queue.
4293         (elmo-folder-delete-messages-dop): Delete from queue if negative
4294         message number.
4295         (elmo-folder-append-buffer-dop-delayed): Treat as success if queue
4296         file is already removed.
4297
4298 2002-05-10  Katsumi Yamaoka  <yamaoka@jpl.org>
4299
4300         * elmo-vars.el: Bind colon keywords for old Emacsen.
4301
4302 2002-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4303
4304         * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Protect
4305         against non-exsisting charset.
4306
4307 2002-05-09  Yuuichi Teranishi  <teranisi@gohome.org>
4308
4309         * elmo-util.el (elmo-mime-string): Eliminate needless binding;
4310         Use eword-decode-and-unfold-unstructured-field-body.
4311
4312         * elmo-msgdb.el (elmo-msgdb-make-entity): New function.
4313         (elmo-msgdb-create-overview-from-buffer): Use document charset if
4314         exists to decode raw subject string.
4315         (toplevel): Require 'mime.
4316
4317         * elmo-version.el (elmo-version): Up to 2.9.12.
4318
4319 2002-05-02  Yuuichi Teranishi  <teranisi@gohome.org>
4320
4321         * elmo-msgdb.el (elmo-msgdb-get-mark): Fix docstring.
4322         (elmo-msgdb-set-mark): Ditto.
4323
4324         * elmo-version.el (elmo-version): Up to 2.9.11.
4325
4326 2002-05-01  Yuuichi Teranishi  <teranisi@gohome.org>
4327
4328         * elmo-util.el (elmo-delete-match-files): New function.
4329
4330         * elmo-localdir.el (elmo-folder-delete): Use elmo-delete-match-files
4331         instead of elmo-delete-directory.
4332
4333         * elmo-shimbun.el (elmo-shimbun-get-headers): Bind
4334         elmo-hash-minimun-size as 63.
4335
4336         * elmo-multi.el (elmo-multi-folder-diff): Use elmo-diff-new if
4337         elmo-diff-unread is nil.
4338
4339         * elmo-imap4.el (elmo-folder-open): Fix.
4340
4341         * elmo.el (elmo-message-mark): Rewrite.
4342         (elmo-message-field): Ditto.
4343         (elmo-message-set-mark): Ditto.
4344         (elmo-folder-replace-marks): New function.
4345         (elmo-generic-folder-append-msgdb): Removed third argument for
4346         elmo-msgdb-append.
4347         (elmo-folder-synchronize): Use elmo-msgdb-seen-list.
4348         (elmo-msgdb-load): New implementation.
4349
4350         * elmo-vars.el (elmo-use-overview-hashtb): Removed.
4351
4352         * elmo-util.el (elmo-list-insert): New implementation.
4353
4354         * elmo-multi.el (elmo-multi-folder-append-msgdb): Removed third
4355         argument for elmo-msgdb-append.
4356         
4357
4358         * elmo-msgdb.el (elmo-load-msgdb): New function.
4359         (elmo-make-msgdb): Ditto.
4360         (elmo-msgdb-get-index): New inline function.
4361         (elmo-msgdb-set-index): Ditto.
4362         (elmo-msgdb-get-entity-hashtb): Ditto.
4363         (elmo-msgdb-get-mark-hashtb): Ditto.
4364         (elmo-msgdb-get-mark): Ditto.
4365         (elmo-msgdb-set-mark): Ditto.
4366         (elmo-msgdb-count-marks): Ditto.
4367         (elmo-msgdb-get-number): Ditto.
4368         (elmo-msgdb-get-field): Ditto.
4369         (elmo-msgdb-seen-list): Ditto.
4370         (elmo-msgdb-mark-alist-set): Renamed from elmo-msgdb-mark-set.
4371         (elmo-msgdb-delete-msgs): Follow the changes above.
4372         (elmo-msgdb-overview-get-entity): Ditto.
4373         (elmo-msgdb-add-msgs-to-seen-list): Ditto.
4374         (elmo-msgdb-clear-index): Renamed from elmo-msgdb-clear-overview-hastb
4375         and rewritten.
4376         (elmo-msgdb-make-index): Likewise.
4377         (elmo-msgdb-append): Removed third argument.
4378         (elmo-msgdb-clear): Clear index as nil.
4379         (elmo-folder-set-info-hashtb): Removed.
4380         (elmo-folder-set-info-max-by-numdb): Ditto.
4381         (elmo-folder-info-make-hashtb): Ditto.
4382
4383         * elmo-localdir.el (elmo-folder-pack-numbers): Use elmo-make-msgdb.
4384
4385         * elmo-map.el (elmo-folder-pack-number): Ditto.
4386
4387 2002-04-30  Yuuichi Teranishi  <teranisi@gohome.org>
4388
4389         * elmo-version.el (elmo-version): Up to 2.9.10.
4390
4391         * elmo-util.el (elmo-get-hash-val): Check the 1st argument is string.
4392
4393         * elmo-msgdb.el (elmo-msgdb-get-parent-entity): New inline function.
4394
4395 2002-04-26  Kenichi OKADA  <okada@opaopa.org>
4396
4397         * elmo-utils.el (elmo-make-directory): Add option.
4398         Default file mode is 700.
4399
4400 2002-04-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4401
4402         * elmo-shimbun.el (elmo-folder-local-p): Defined.
4403
4404 2002-04-15  Yuuichi Teranishi  <teranisi@gohome.org>
4405
4406         * elmo-shimbun.el (elmo-shimbun-entity-to-header): Decode by
4407         mime-charset.
4408
4409         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added "larger"
4410         and "smaller".
4411
4412 2002-04-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4413
4414         * elmo-shimbun.el (elomo-shimbun-folder): Added entity-hash slot.
4415         (elmo-shimbun-folder-entity-hash): New function.
4416         (elmo-shimbun-folder-shimbun-header): Ditto.
4417         (elmo-shimbun-entity-to-header): Ditto.
4418         (elmo-shimbun-msgdb-to-headers): Removed.
4419         (elmo-shimbun-folder-setup): Ditto.
4420         (elmo-shimbun-folder-header-hash-setup): Don't use x-shimbun-id
4421         for hash key.
4422         (elmo-shimbun-get-headers): Set new headers only to slot. Don't
4423         call `elmo-shimbun-folder-header-hash-setup' if headers is nil.
4424         Removed useless local bind.
4425         (elmo-folder-open-internal): Don't call
4426         `elmo-shimbun-folder-setup'.
4427         (elmo-folder-close-internal): Clear entity-hash slot.
4428         (elmo-folder-clear): Ditto.
4429         (elmo-shimbun-msgdb-create-entity): Use
4430         `elmo-shimbun-folder-shimbun-header'.
4431         (elmo-map-message-fetch): Ditto.
4432         (elmo-shimbun-update-overview): Use overview entity instead of
4433         shimbun header to lookup id by references.
4434         (elmo-map-folder-list-message-locations): Use not only headers but
4435         also overviews to list locations.
4436
4437 2002-04-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4438
4439         * elmo-net.el (elmo-folder-exists-p): If unplugged, guessed by
4440         msgdb path.
4441
4442         * elmo-pop3.el (elmo-folder-exists-p): Ditto.
4443
4444 2002-04-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4445
4446         * elmo-util.el (elmo-read-search-condition-internal): Give default
4447         value for date.
4448
4449 2002-04-04  Mito  <mito@mxa.nes.nec.co.jp>
4450
4451         * elmo-util.el (elmo-condition-parse-search-value): Accept
4452         YYYY-MM-DD format to search.
4453         * elmo-date.el (elmo-date-get-datevec): Likewise.
4454
4455 2002-04-04  Kenichi OKADA  <okada@opaopa.org>
4456
4457         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Delete
4458         debugging code.
4459
4460 2002-04-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4461
4462         * elmo.el (elmo-folder-creatable-p): Changed default value to nil
4463         from t.
4464
4465         * elmo-pop3.el (elmo-folder-exists-p): Return nil if unplugged.
4466
4467         * elmo-nntp.el (elmo-folder-exists-p-plugged): Divided plugged
4468         case from `elmo-folder-exists-p'.
4469         (elmo-folder-exists-p): Removed.
4470         (elmo-folder-creatable-p) Ditto.
4471
4472         * elmo-net.el (elmo-folder-create): Defined.
4473         (elmo-folder-create-unplugged): New function.
4474         (elmo-folder-exists-p): Changed default value to nil from t.
4475
4476         * elmo-imap4.el (elmo-folder-creatable-p): Defined.
4477         (elmo-folder-create-plugged): Renamed from `elmo-folder-create'.
4478
4479         * elmo-dop.el (elmo-folder-create-dop): Renamed from
4480         `elmo-create-folder-dop' and append queue
4481         'elmo-folder-create-dop-delayed instead of 'elmo-folder-create.
4482         (elmo-folder-create-dop-delayed): New function.
4483
4484         * elmo-cache.el (elmo-folder-creatable-p): Ditto.
4485
4486         * elmo-shimbun.el (elmo-folder-creatable-p): Ditto.
4487
4488         * elmo-sendlog.el (elmo-folder-creatable-p): Ditto.
4489         (elmo-folder-writable-p) : Ditto.
4490
4491         * elmo-version.el (elmo-version): Up to 2.9.9.
4492
4493 2002-03-26  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4494
4495         * elmo.el (elmo-find-fetch-strategy): Don't use file cache when
4496         `elmo-message-use-cache-p' returns nil.
4497         * elmo-mime.el (elmo-mime-display-as-is): Ditto.
4498         (ignore cache file and refer the substance in local folders)
4499
4500 2002-03-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4501
4502         * elmo-version.el (elmo-version): Up to 2.9.8.
4503
4504 2002-02-19  Yuuichi Teranishi  <teranisi@gohome.org>
4505
4506         * elmo-version.el (elmo-version): Up to 2.9.7.
4507
4508         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed logic.
4509
4510 2002-02-18  Daiki Ueno  <ueno@unixuser.org>
4511
4512         * elmo-nntp.el (elmo-nntp-send-mode-reader): Don't throw an error.
4513
4514 2002-02-12  Yuuichi Teranishi  <teranisi@gohome.org>
4515
4516         * elmo-nmz.el (elmo-nmz-args): Changed default argumnet to --late
4517         from --early.
4518         (elmo-map-folder-list-message-locations): Reverse location list.
4519
4520 2002-02-01  Kenichi OKADA  <okada@opaopa.org>
4521
4522         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Fix.
4523
4524 2002-01-31  Yuuichi Teranishi  <teranisi@gohome.org>
4525
4526         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Use group and server
4527         as a key.
4528         (elmo-nntp-folder-list-subfolders): Follow the change above.
4529
4530 2002-01-27  Takaaki MORIYAMA  <aka@iris.eonet.ne.jp>
4531
4532         * elmo-imap4.el (elmo-folder-list-subfolders): Don't omit user
4533         name if authentication type is specified.
4534
4535 2002-01-28  Yuuichi Teranishi  <teranisi@gohome.org>
4536
4537         * elmo.el (elmo-default-imap4-stream-type): Define as obsolete
4538         variable.
4539         (elmo-default-nntp-stream-type): Ditto.
4540         (elmo-default-pop3-stream-type): Ditto.
4541
4542 2002-01-25  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
4543
4544         * elmo.el (elmo-generic-folder-append-messages): Disable multibyte.
4545
4546 2002-01-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4547
4548         * elmo-localnews.el (elmo-localnews-folder-path): Moved from
4549         elmo-vars.el.
4550         * elmo-maildir.el (elmo-maildir-folder-path): Ditto.
4551
4552         * elmo-vars.el (elmo-localnews-folder-path): Removed.
4553         (elmo-maildir-folder-path): Ditto.
4554         (elmo-maildir-list): Ditto (abolished).
4555
4556 2002-01-23  Kenichi OKADA  <okada@opaopa.org>
4557
4558         * elmo-version.el (elmo-version): Up to 2.9.6.
4559
4560 2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4561
4562         * elmo-vars.el (elmo-localnews-folder-path): Make customizable.
4563         (elmo-maildir-folder-path): Ditto.
4564         (elmo-msgdb-directory): Ditto.
4565         (elmo-passwd-life-time): Ditto.
4566         (elmo-msgdb-extra-fields): Ditto.
4567         (elmo-enable-disconnected-operation): Ditto.
4568
4569 2002-01-22  Kenichi OKADA  <okada@opaopa.org>
4570
4571         * elmo-vars.el (elmo-imap4-default-authenticate-type): Give
4572         other choices.
4573         (elmo-pop3-default-authenticate-type): Ditto.
4574
4575 2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4576
4577         * elmo-vars.el (elmo-imap4-default-authenticate-type): Give
4578         choices for custom.
4579         (elmo-pop3-default-authenticate-type): Ditto.
4580
4581 2002-01-22  Kenichi OKADA  <okada@opaopa.org>
4582
4583         * elmo-imap4.el (elmo-folder-rename-internal): Change current
4584         mailbox to new-folder.
4585
4586 2002-01-21  Yuuichi Teranishi  <teranisi@gohome.org>
4587
4588         * elmo-imap4.el (elmo-imap4-folder-diff-plugged): If unread is
4589         less than new, set new as unread.
4590
4591         * elmo-util.el (elmo-string): Don't put text-property if nil.
4592
4593 2002-01-21  Kenichi OKADA  <okada@opaopa.org>
4594
4595         * elmo-imap4.el (elmo-folder-list-subfolders): Case sensitive.
4596         * elmo-nntp.el (elmo-folder-list-subfolders): Ditto.
4597
4598 2002-01-21  Kenichi OKADA  <okada@opaopa.org>
4599
4600         * elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
4601         is nil on `completing-read'.
4602
4603 2002-01-20  Yuuichi Teranishi  <teranisi@gohome.org>
4604
4605         * elmo-imap4.el (elmo-imap4-extra-namespace-alist): Added grouping
4606         for namespace part.
4607         (elmo-imap4-parse-namespace-subr): Ditto.
4608         (elmo-folder-list-subfolders): Append a delimiter when the specified
4609         folder path is a root with namespace and does not end with delimiter.
4610
4611 2002-01-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4612
4613         * elmo.el (elmo-folder-search-fast): Moved upwards rather than it
4614         was used.
4615
4616 2002-01-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4617
4618         * elmo-util.el (elmo-save-buffer): The first argument of message
4619         is a format control string.
4620
4621 2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4622
4623         * elmo.el (elmo-diff-new): Fixed (Adapted to doc-string of
4624         `elmo-folder-diff').
4625         (elmo-diff-unread): Likewise.
4626
4627 2002-01-19  Kenichi OKADA  <okada@opaopa.org>
4628
4629         * elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
4630         is t on `completing-read'.
4631
4632 2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4633
4634         * elmo-filter.el (elmo-filter-folder-list-unreads-internal): Call
4635         method of target folder with self mark-alist if MARK-ALIST is nil.
4636
4637 2002-01-19  Kenichi OKADA  <okada@opaopa.org>
4638
4639         * elmo-version.el (elmo-version): Up to 2.9.5.
4640
4641 2002-01-17  Kenichi OKADA  <okada@opaopa.org>
4642
4643         * elmo-dop.el (elmo-dop-queue-merge): Implement.
4644         (elmo-dop-merge-funcs): Remove.
4645
4646 2002-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4647
4648         * elmo-util.el (elmo-file-cache-delete): Fixed last change;
4649         Return t if PATH is directory, too.
4650         Use `dolist' instead of while loop.
4651
4652 2002-01-11  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4653
4654         * elmo-util.el (elmo-file-cache-delete): Return t if a cache file
4655         is deleted.
4656
4657 2002-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4658
4659         * elmo-net.el (elmo-folder-list-messages-plugged): Changed default
4660         return value to t.
4661         (elmo-folder-list-messages-unplugged): Return t if
4662         elmo-enable-disconnected-operation is nil.
4663
4664         * elmo-pop3.el (elmo-folder-list-messages-plugged): Renamed from
4665         `elmo-folder-list-messages-internal'.
4666
4667 2002-01-07  Kenichi OKADA  <okada@opaopa.org>
4668
4669         * elmo-nntp.el (elmo-nntp-read-response): Added `error-msg' argument.
4670         Change to looking-at `[23][0-9]+'.
4671         (elmo-network-initialize-session): Use 'error-msg'
4672         * elmo-net.el (elmo-network-open-session): Set unplugged
4673         if elmo-network-initialize-session returns 'elmo-open-err.
4674
4675 2002-01-07  Kenichi OKADA  <okada@opaopa.org>
4676
4677         * elmo-version.el (elmo-version): Up to 2.9.4.
4678
4679 2002-01-07  Yuuichi Teranishi  <teranisi@gohome.org>
4680
4681         * elmo-nntp.el (elmo-folder-list-messages-plugged): Renamed from
4682         `elmo-folder-list-messages-internal'.
4683
4684 2002-01-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4685
4686         * elmo.el (elmo-folder-search): Defined. Fixed docstring.
4687         (elmo-message-match-condition): New method.
4688         (elmo-folder-search-fast): New inline function.
4689         (elmo-msgdb-search): Removed.
4690
4691         * elmo-filter.el (elmo-folder-msgdb-create): Create from msgdb of
4692         target folder if it is unplugged.
4693         (elmo-folder-list-messages-internal): Return t if target folder is
4694         unplugged and itself is persistent; In this case, use list be
4695         searched already.
4696
4697         * elmo-msgdb.el (elmo-msgdb-search-internal): Removed.
4698         (elmo-msgdb-search-internal-primitive): Ditto.
4699         (elmo-msgdb-match-condition): New function.
4700         (elmo-msgdb-match-condition-primitive): Ditto.
4701
4702         * elmo-util.el (elmo-filter-condition-p): New macro.
4703
4704         * elmo-cache.el (elmo-folder-search): Removed.
4705
4706         * elmo-localdir.el (elmo-folder-search): Ditto.
4707
4708         * elmo-maildir.el (elmo-folder-search): Ditto.
4709
4710         * elmo-mark.el (elmo-folder-search): Ditto.
4711
4712         * elmo-nmz.el (elmo-folder-search): Ditto.
4713
4714         * elmo-sendlog.el (elmo-folder-search): Ditto.
4715
4716         * elmo-shimbun.el (elmo-folder-search): Ditto.
4717
4718         * elmo-imap4.el (elmo-folder-search): Call method of parent class
4719         if folder is unplugged.
4720
4721         * elmo-nntp.el (elmo-folder-search): Likewise.
4722         (elmo-nntp-search-internal): New function.
4723
4724         * elmo-version.el (elmo-version): Up to 2.9.3.
4725
4726 2001-12-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4727
4728         * elmo.el (elmo-message-fetch-with-cache-process): Fixed typo.
4729
4730 2001-12-27  Tetsurou Okazaki  <okazaki@be.to>
4731
4732         * elmo-vars.el (elmo-nntp-default-user): Customization Type fix.
4733
4734 2001-12-27  Taiji Can  <Taiji.Can@grd.advantest.co.jp>
4735
4736         * elmo-nntp.el (elmo-network-initialize-session): Fixed for NNTP response.
4737
4738 2001-12-27  Yuuichi Teranishi  <teranisi@gohome.org>
4739
4740         * elmo-nmz.el (elmo-nmz-use-drive-letter): New variable.
4741         (elmo-map-folder-list-message-locations): Do drive letter conversion
4742         on Windows environment.
4743         (elmo-nmz-msgdb-create-entity): Use expand-file-name.
4744         (elmo-map-message-fetch): Ditto.
4745
4746 2001-12-27  Kenichi OKADA  <okada@opaopa.org>
4747
4748         * elmo-nntp.el (elmo-nntp-read-response): Fixed for Response '400'
4749         (elmo-network-initialize-session): Ditto.
4750
4751 2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
4752
4753         * elmo-imap4.el (elmo-imap4-message-fetch): Fixed '100%' message.
4754
4755         * elmo-pop3.el (elmo-message-fetch-plugged): Ditto.
4756
4757         * elmo-util.el (elmo-progress-clear): Ditto.
4758
4759         * elmo-date.el (elmo-date-get-datevec): Fix timezone of
4760         `DD-Mon-YYYY' type date.
4761
4762 2001-12-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4763
4764         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
4765         `elmo-date-make-sortable-string' instead of
4766         `timezone-make-date-sortable'.
4767
4768         * elmo-date.el (elmo-date-make-sortable-string): Use
4769         `timezone-make-time-string'.
4770
4771 2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
4772
4773         * elmo.el (elmo-folder-synchronize): Delete important messages too.
4774
4775         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed
4776         `since'; Fix timezone.
4777
4778         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Ditto.
4779
4780         * elmo-nntp.el (elmo-nntp-search-primitive): Likewise.
4781
4782 2001-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4783
4784         * elmo.el (elmo-message-fetch-with-cache-process): Rewrite.
4785
4786 2001-12-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4787
4788         * elmo.el (elmo-generic-folder-append-messages): Make
4789         fetch-strategy with `use-cache' as 'maybe. Check return value of
4790         `elmo-message-fetch'.
4791         (elmo-message-fetch): Return return value of
4792         `elmo-message-fetch-with-cache-process'.
4793         (elmo-message-fetch-with-cache-process): Return non-nil if
4794         fetching was succeed. Load cache when fetching was failed and
4795         fetch-strategy-use-cache is 'maybe.
4796
4797         * elmo-util.el (elmo-file-cache-load): New function.
4798
4799         * elmo-multi.el (elmo-message-use-cache-p): Remove duplicated
4800         defun.
4801
4802         * elmo-archive.el (elmo-archive-message-fetch-internal): Return
4803         non-nil if fetching was succeed.
4804
4805         * elmo-imap4.el (elmo-imap4-message-fetch): Likewise.
4806
4807         * elmo-nmz.el (elmo-map-message-fetch): Likewise.
4808
4809         * elmo-nntp.el (elmo-nntp-read-body): Likewise.
4810         (elmo-message-fetch-with-cache-process): Likwise.
4811
4812         * elmo-pop3.el (elmo-pop3-read-body): Likewise.
4813
4814         * elmo-shimbun.el (elmo-map-message-fetch): Likewise.
4815
4816         * elmo-version.el (elmo-version): Up to 2.9.2.
4817
4818 2001-12-23  Yuuichi Teranishi  <teranisi@gohome.org>
4819
4820         * elmo.el (elmo-folder-delete): Delete msgdb path.
4821
4822         * elmo-archive.el (elmo-folder-delete): Added `:before' qualifier.
4823
4824         * elmo-maildir.el (elmo-folder-delete): Ditto.
4825
4826         * elmo-localdir.el (elmo-folder-delete): Ditto.
4827
4828         * elmo-imap4.el (elmo-folder-delete): Ditto.
4829
4830 2001-12-19  Yuuichi Teranishi  <teranisi@gohome.org>
4831
4832         * elmo.el (luna-define-class): Added `biff' slot.
4833
4834         * elmo-pop3.el (elmo-pop3-debug): Split biff log.
4835         (elmo-pop3-debug-inhibit-logging): Abolished.
4836         (elmo-network-close-session): Eliminated needless let.
4837         (elmo-pop3-get-session): Set prefix 'BIFF' if biff folder.
4838         (elmo-pop3-send-command): Added `no-log' argument.
4839         (elmo-pop3-process-filter): Use `with-current-buffer'.
4840         (elmo-pop3-auth-user): Set `no-log' argument; Delete process
4841         if login failure.
4842         (elmo-pop3-auth-apop): Likewise.
4843         (elmo-network-authenticate-session): Likewise.
4844
4845         * elmo-nntp.el (elmo-nntp-get-session): Set prefix 'BIFF'
4846         if biff folder.
4847
4848         * elmo-net.el (elmo-network-session-password-key): Use class symbol
4849         string to determine protocol.
4850         (elmo-network-session-name-prefix): Abolished.
4851         (elmo-network-session-cache-key): Follow the change above.
4852         (elmo-network-open-session): Ditto.
4853
4854         * elmo-imap4.el (elmo-imap4-send-command): Modified error message.
4855         (elmo-imap4-get-session): Set prefix 'BIFF' if biff folder.
4856
4857         * elmo-version.el (elmo-version): Up to 2.9.1.
4858
4859         * elmo-util.el (elmo-file-field-primitive-condition-match): Fixed
4860         unmatch condition checking.
4861
4862         * elmo-localdir.el (elmo-folder-search): Don't short cut if unmatch
4863         condition.
4864
4865 2001-12-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4866
4867         * elmo.el (elmo-folder-confirm-appends): Fixed docstring.
4868
4869 2001-12-17  Yuuichi Teranishi  <teranisi@gohome.org>
4870
4871         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
4872         test for while loop to execute at least one SEARCH command.
4873
4874 2001-12-15  Yuuichi Teranishi  <teranisi@gohome.org>
4875
4876         * elmo-version.el (elmo-version): Up to 2.9.0.
4877
4878 2001-12-14  Yuuichi Teranishi  <teranisi@gohome.org>
4879
4880         * elmo-archive.el (elmo-archive-folder): Added `dir-name' slot.
4881         (elmo-archive-folder-path): Define.
4882         (elmo-folder-initialize): Setup `dir-name' slot.
4883         (elmo-archive-folder-list-subfolders): Fixed problem when `name' is "".
4884         Use `dir-name' as prefix of each subfolders.
4885         (Applyed patch from Takaaki MORIYAMA <taka@arcadia.co.jp>)
4886
4887 2001-12-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4888
4889         * elmo-pipe.el (elmo-pipe-folder-copied-filename): New variable.
4890         (elmo-pipe-folder-list-target-messages): New internal function.
4891         (elmo-pipe-drain): Use new argument `ignore-list' instead of
4892         `killed-list'.
4893         (elmo-pipe-folder-copied-list-load): New function.
4894         (elmo-pipe-folder-copied-list-save): Ditto.
4895         (elmo-folder-open-internal): Follow the change above.
4896         (elmo-folder-status): Fixed for copy.
4897
4898 2001-12-13  Yuuichi Teranishi  <teranisi@gohome.org>
4899
4900         * elmo-shimbun.el (elmo-folder-creatable-p): Define.
4901
4902 2001-12-12  Yuuichi Teranishi  <teranisi@gohome.org>
4903
4904         * elmo-localdir.el (elmo-folder-message-make-temp-files): Use
4905         elmo-copy-file instead of elmo-add-name-to-file.
4906
4907         * elmo-nmz.el (elmo-folder-message-make-temp-files): Ditto.
4908
4909         * elmo-nmz.el (elmo-map-folder-list-message-locations): Allow
4910         "file://..." index.
4911
4912         * elmo-pop3.el (elmo-pop3-read-response): Set timeout argument
4913         of accept-process-output as 1.
4914         (elmo-pop3-read-contents): Ditto.
4915         (elmo-pop3-read-body): Ditto.
4916
4917 2001-12-12  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4918
4919         * elmo-version.el (product-version-as-string): Remove define.
4920
4921 2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>
4922
4923         * elmo-imap4.el (elmo-imap4-number-set-chop-length): New variable.
4924         (elmo-imap4-copy-messages): Chop number set using
4925         `elmo-imap4-number-set-chop-length'.
4926         (elmo-imap4-set-flag): Ditto.
4927         (elmo-imap4-search-internal-primitive): Ditto.
4928
4929 2001-12-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4930
4931         * elmo.el (elmo-folder-make-temporary-directory): Renamed from
4932         `elmo-folder-make-temp-dir'
4933
4934         * elmo-vars.el (elmo-cache-directory): New variable.
4935         (elmo-cache-dir): Abolished.
4936         (elmo-msgdb-directory): Renamed from `elmo-msgdb-dir'.
4937
4938         * elmo-version.el (elmo-version): Up to 2.7.7.
4939
4940 2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>
4941
4942         * elmo-util.el (elmo-obsolete-variable-show-warnings): Define with
4943         defcustom; Set default value as t.
4944
4945 2001-12-10  Yuuichi Teranishi  <teranisi@gohome.org>
4946
4947         * pldap.el (ldap-ldif-field-name-regexp): Changed regexp.
4948         (ldap-search-program-arguments): Changed default value.
4949         (ldap-search-basic): Accept exit status 4.
4950         (ldap/field-body): Parse options.
4951         (ldap/collect-field): Ditto.
4952         (According to the advise from Mito <mito@mxa.nes.nec.co.jp>)
4953
4954         * elmo-imap4.el (elmo-imap4-process-bye): New function.
4955         (elmo-imap4-send-command): Call elmo-imap4-process-bye.
4956         (elmo-imap4-accept-ok): Ditto.
4957         (elmo-imap4-session-select-mailbox): If argument `no-error' equals to
4958         'notify-bye, only BYE error is reported.
4959         (elmo-folder-exists-p-plugged): Set no-error argument of
4960         `elmo-imap4-session-select-mailbox' as 'notify-bye.
4961
4962         * elmo.el (elmo-imap4-bye-error): Changed message.
4963
4964         * elmo-dop.el (elmo-dop-queue-flush): Fixed obsolete version message.
4965         (elmo-dop-queue-flush): Don't append to the dop-queue while flushing
4966         queues (It causes infinite loop).
4967
4968 2001-12-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4969
4970         * elmo.el (elmo-folder-diff): Fixed docstring for IMAP4
4971         (RECENT UNSEEN MESSAGES) extension.
4972
4973 2001-12-07  Mito <mito@mxa.nes.nec.co.jp>
4974
4975         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
4976         Check number of overview fields.
4977
4978 2001-12-08  Yuuichi Teranishi  <teranisi@gohome.org>
4979
4980         * elmo.el (elmo-folder-confirm-appends): Changed message.
4981         (elmo-folder-confirm-appends): Ditto.
4982
4983         * elmo-archive.el (elmo-archive-exec-msgs-subr1): Use
4984         `with-temp-buffer'.
4985         (According to the advise from Nishimoto Masaki <nishimoto@gaju.org>)
4986
4987 2001-12-06  Hiroshi Tsutsui  <tsutsui@easter.kuee.kyoto-u.ac.jp>
4988
4989         * elmo.el (elmo-folder-confirm-appends): Check whether the value
4990         of elmo-folder-update-threshold is nil, which can be set by
4991         wl-summary-update-confirm-threshold.
4992
4993 2001-12-05  Yuuichi Teranishi  <teranisi@gohome.org>
4994
4995         * elmo-nmz.el (elmo-nmz-default-index-path): Allow path list.
4996         (elmo-nmz-index-alias-alist): Ditto.
4997         (elmo-map-folder-list-message-locations): Follow the change above.
4998
4999 2001-12-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5000
5001         * elmo-filter.el (elmo-folder-list-subfolders): Defined.
5002
5003         * elmo-archive.el (elmo-archive-call-process): Ignore nemacs.
5004
5005         * elmo-msgdb.el (elmo-msgdb-insert-file-header): Ditto.
5006
5007         * elmo-util.el (elmo-read): Ditto.
5008         (elmo-display-error): Ditto.
5009
5010         * elmo-vars.el (elmo-date-match): Ditto.
5011
5012         * pldap.el (ldap-coding-system): Ditto.
5013
5014         * elmo-pipe.el (elmo-pipe-drain): If `copy' is non-nil, bind
5015         `elmo-inhibit-number-mapping' as nil.
5016
5017 2001-11-30  Tatsuya Kinoshita  <tats@iris.ne.jp>
5018
5019         * elmo-pop3.el (elmo-pop3-parse-list-response): Allow multiple
5020         space delimiter for list response.
5021
5022 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5023
5024         * elmo-sendlog.el (elmo-sendlog-buffer-name): Deleted.
5025
5026 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5027
5028         * elmo-sendlog.el (elmo-folder-delete-messages): Added.
5029         (elmo-map-message-fetch): Fix.
5030         * elmo-map.el (elmo-folder-status): Fix for killed.
5031
5032 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5033
5034         * elmo-sendlog.el: New file.
5035         * elmo-internal.el (elmo-internal-folder-list): Added 'sendlog.
5036
5037 2001-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
5038
5039         * acap.el (acap-logging-out): New buffer local variable.
5040         (acap-close): Set it.
5041         (acap-wait-for-response): If acap-logging-out is non-nil, don't cause
5042         an error.
5043
5044 2001-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
5045
5046         * acap.el (acap-response-bye-p): New function.
5047         (acap-response-bye-message): Ditto.
5048         (acap-wait-for-response): If bye response is received, cause an error.
5049         (acap-parse-response): Make bye response when 'Bye' is received.
5050
5051 2001-11-23  Kenichi OKADA  <okada@opaopa.org>
5052
5053         * elmo-pipe.el (elmo-pipe-drain): Load killed-list.
5054
5055 2001-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5056
5057         * elmo-util.el (elmo-copy-file): Added argument
5058         `ok-if-already-exists'.
5059         (elmo-copy-file): Fixed typo.
5060
5061 2001-11-21  Kenichi OKADA  <okada@opaopa.org>
5062
5063         * elmo-pipe.el (elmo-pipe-drain): Load killed-list.
5064
5065 2001-11-21  Kenichi OKADA  <okada@opaopa.org>
5066
5067         * elmo-pipe.el (elmo-pipe-drain): Save killed-list.
5068
5069 2001-11-20  Kenichi OKADA  <okada@opaopa.org>
5070
5071         * elmo-pipe.el (elmo-pipe-drain): Append copied messages
5072         to killed-list.
5073
5074 2001-11-19  Kenichi OKADA  <okada@opaopa.org>
5075
5076         * elmo-pipe.el (elmo-pipe-folder): Add `copy'.
5077         (elmo-folder-initialize): Fix for `copy'.
5078         (elmo-pipe-drain): Ditto.
5079         (elmo-folder-open-internal): Ditto.
5080         (elmo-folder-newsgroups): Fix.
5081
5082 2001-11-19  Yuuichi Teranishi  <teranisi@gohome.org>
5083
5084         * elmo-maildir.el (elmo-folder-append-messages): Make temporal filename
5085         for each message.
5086
5087         * elmo-multi.el (elmo-multi-folder-diff): Fixed problem when
5088         recent value is returned from imap folder.
5089
5090         * elmo.el (elmo-folder-newsgroups): New generic function.
5091
5092         * elmo-localnews.el (elmo-localnews-folder): Added `group' slot.
5093         (elmo-folder-initialize): Set it.
5094         (elmo-folder-expand-msgdb-path): Use it.
5095         (elmo-folder-newsgroups): Define.
5096
5097         * elmo-filter.el (elmo-folder-newsgroups): Define.
5098
5099         * elmo-pipe.el (elmo-folder-newsgroups): Ditto.
5100
5101         * elmo-nntp.el (elmo-folder-newsgroups): Ditto.
5102
5103         * elmo-multi.el (elmo-folder-newsgroups): Ditto.
5104
5105 2001-11-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5106
5107         * elmo-shimbun.el (elmo-shimbun-update-overview-folder-list): New
5108         user option.
5109         (elmo-shimbun-header-extra-field): New inline function.
5110         (elmo-shimbun-header-set-extra-field): Ditto.
5111         (elmo-shimbun-folder-header-hash-setup): Ditto.
5112         (elmo-shimbun-update-overview): Ditto.
5113         (elmo-shimbun-msgdb-to-headers): Set extra field `x-shimbun-id'.
5114         (elmo-shimbun-folder-setup): Use
5115         `elmo-shimbun-folder-header-hash-setup' to be setup hash table.
5116         (elmo-shimbun-get-headers): Ditto.
5117         (elmo-map-message-fetch): Call `elmo-shimbun-update-overview';
5118         Insert `X-Shimbun-Id:' header if extra field is set.
5119         (elmo-map-folder-list-message-locations): Return `x-shimbun-id'
5120         field's value instead of `shimbun-header-id'.
5121
5122         * elmo-msgdb.el (elmo-msgdb-overview-entity-set-references): New
5123         inline function.
5124         (elmo-msgdb-overview-entity-set-date): Ditto.
5125         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
5126
5127 2001-11-09  Yuuichi Teranishi  <teranisi@gohome.org>
5128
5129         * mmimap.el (mmimap-entity-section): Changed body node number from
5130         "0" to "1".
5131
5132 2001-11-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5133
5134         * elmo-pop3.el (elmo-folder-delete-messages-plugged): Renamed from
5135         `elmo-folder-delete-messages'.
5136
5137         * elmo-nmz.el (elmo-nmz-index-alias-alist): New user option.
5138         (elmo-folder-initialize): Changed to expand alias into index path.
5139
5140         * elmo-mime.el (elmo-mime-insert-sorted-header): Call
5141         `elmo-mime-insert-header-from-buffer' with 6th arg
5142         `sorted-fields'.
5143
5144 2001-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
5145
5146         * mmimap.el (mmimap-entity-section): If node-id is nil, return "0".
5147
5148         * elmo.el (elmo-diff-new): New inline function.
5149         (elmo-diff-unread): Ditto.
5150         (elmo-diff-all): Ditto.
5151
5152         * elmo-imap4.el (elmo-imap4-server-diff-async-callback-1): Get recent
5153         value from responseb.
5154         (elmo-imap4-folder-diff-plugged): Ditto.
5155         (elmo-imap4-server-diff-async): Added recent argument.
5156         (elmo-server-diff-async): Ditto.
5157         (elmo-imap4-folder-diff-plugged): Ditto.
5158
5159         * elmo-version.el (elmo-version): Up to 2.7.6.
5160
5161 2001-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5162
5163         * elmo-util.el (elmo-parse-token): Fixed how to treat quoted-pair
5164         in quoted-stirng.
5165
5166 2001-11-05  Yuuichi Teranishi  <teranisi@gohome.org>
5167
5168         * elmo-pop3.el (elmo-folder-initialize): Rewrite.
5169
5170         * elmo-imap4.el (elmo-folder-initialize): Ditto.
5171
5172         * elmo-nntp.el (elmo-folder-initialize): Ditto.
5173
5174         * elmo-multi.el (elmo-folder-initialize): Ditto.
5175
5176         * elmo-util.el (elmo-parse-token): New function.
5177         (elmo-parse-prefixed-element): Ditto.
5178
5179 2001-11-01  Yuuichi Teranishi  <teranisi@gohome.org>
5180
5181         * elmo-imap4.el (elmo-imap4-send-command): If BYE response is detected,
5182         delete process.
5183         (elmo-imap4-accept-ok): Ditto.
5184
5185 2001-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5186
5187         * mmimap.el (mime-imap-entity-header-string): Don't check first
5188         element of node-id is `0' (Follow last change).
5189
5190 2001-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5191
5192         * mmimap.el (mmimap-make-mime-entity): Fixed problem to be
5193         assigned irregular node-id to nested multipart section.
5194         (initialize-instance): Followed above change.
5195
5196 2001-10-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5197
5198         * elmo-shimbun.el (elmo-shimbun-get-headers): Don't call
5199         `shimbun-open-group' (Moved to `elmo-folder-open-internal').
5200         (elmo-folder-open-internal): Call `shimbun-open-group' (Moved from
5201         `elmo-shimbun-get-headers');
5202         Call `elmo-shimbun-folder-setup' if headers is empty (An entity of
5203         visible article on summary exists in headers).
5204         (elmo-map-message-fetch): Cause an error when folder is unplugged.
5205
5206 2001-10-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5207
5208         * elmo-shimbun.el (elmo-shimbun-use-cache): Fix typo in the
5209         definition.
5210
5211 2001-10-16  Yuuichi Teranishi  <teranisi@gohome.org>
5212
5213         * elmo-localnews.el (elmo-folder-expand-msgdb-path): Define.
5214
5215 2001-10-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5216
5217         * elmo-msgdb.el (elmo-msgdb-insert-file-header): Moved searching
5218         header separator into loop condition.
5219
5220 2001-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5221
5222         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed problem;
5223         Return duplicate folder if it has subfolder.
5224
5225 2001-10-11  Yuuichi Teranishi  <teranisi@gohome.org>
5226
5227         * elmo.el (elmo-make-folder): Add folder name error check.
5228
5229         * elmo-nntp.el (elmo-nntp-group-coding-system): New variable.
5230         (elmo-nntp-encode-group-string): New inline function.
5231         (elmo-nntp-decode-group-string): Ditto.
5232         (elmo-folder-initialize): Use elmo-nntp-encode-group-string.
5233         (elmo-nntp-folder-list-subfolders): Set processing buffer as unibyte;
5234         Use `not' instead of `null';
5235         Use elmo-nntp-decode-group-string.
5236
5237         * elmo-imap4.el (elmo-folder-list-subfolders): Don't append delimiter.
5238
5239         * elmo-version.el (elmo-version): Up to 2.7.5.
5240
5241 2001-10-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5242
5243         * elmo-pipe.el (elmo-pipe-drain): Use `unwind-protect';
5244         Hide progress gauge if `elmo-folder-move-messages' exits
5245         nonlocally.
5246
5247 2001-10-09  Yuuichi Teranishi  <teranisi@gohome.org>
5248
5249         * elmo-imap4.el (elmo-folder-initialize): Use
5250         `elmo-imap4-encode-folder-string' for folder name.
5251
5252 2001-10-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5253
5254         * elmo.el (elmo-folder-move-messages): Removed arguments `all' and
5255         `done'.
5256
5257 2001-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5258
5259         * elmo-util.el (elmo-progress-counter-alist): New internal
5260         variable.
5261         (elmo-progress-counter-value): New macro.
5262         (elmo-progress-counter-all-value): Ditto.
5263         (elmo-progress-counter-format): Ditto.
5264         (elmo-progress-counter-set-value): Ditto.
5265         (elmo-progress-set): New function.
5266         (elmo-progress-clear): Ditto.
5267         (elmo-progress-notify): Ditto.
5268
5269         * elmo-pipe.el (elmo-pipe-drain): Setup and clear progress
5270         counter.
5271
5272         * elmo.el (elmo-generic-folder-append-messages): Call
5273         `elmo-progress-notify'.
5274         (elmo-folder-move-messages): Don't call `elmo-display-progress'.
5275
5276         * elmo-archive.el (elmo-folder-append-messages): Call
5277         `elmo-progress-notify'.
5278
5279         * elmo-imap4.el (elmo-folder-append-messages): Ditto.
5280
5281         * elmo-localdir.el (elmo-folder-append-messages): Ditto.
5282
5283         * elmo-maildir.el (elmo-folder-append-messages): Ditto.
5284
5285 2001-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
5286
5287         * elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed 'Encache' and
5288         'Create'.
5289         (elmo-message-encache-dop): Added argument `read'.
5290
5291         * elmo-shimbun.el (elmo-message-encache): Ditto.
5292
5293         * elmo-net.el (elmo-message-encache): Ditto.
5294
5295         * elmo-imap4.el (elmo-imap4-seen-messages): New buffer local variable.
5296         (elmo-imap4-fetch-callback-1-subr): Save important message numbers to
5297         elmo-imap4-seen-messages.
5298         (elmo-folder-msgdb-create-plugged): Initialize
5299         elmo-imap4-seen-messages;
5300         Set seen mark on elmo-imap4-seen-messages.
5301
5302         * elmo-pipe.el (elmo-folder-message-file-p): Define.
5303
5304         * elmo.el (elmo-generic-folder-append-messages): Check return value of
5305         elmo-folder-append-buffer.
5306         (elmo-folder-encache): Added optional argument `read'.
5307         (elmo-message-encache): Ditto.
5308
5309         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.
5310
5311         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
5312
5313         * elmo-archive.el (elmo-archive-folder-append-buffer): Return t
5314         if append buffer content succeds.
5315
5316 2001-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
5317
5318         * elmo-pop3.el (elmo-message-fetch-plugged): Fixed label for
5319         elmo-display-progress.
5320
5321         * elmo-mime.el (elmo-mime-message-display): Added argument keymap;
5322         Set 4th argument of mime-display-message.
5323         (elmo-mime-display-as-is): Ditto.
5324
5325 2001-10-01  Yuuichi Teranishi  <teranisi@gohome.org>
5326
5327         * elmo-nmz.el (toplevel): Require 'mime-edit.
5328         (elmo-nmz-content-type-alist): Abolished.
5329         (elmo-nmz-msgdb-create-entity): Add From: and Subject: field if
5330         content is not a message.
5331         (elmo-map-message-fetch): Changed behavior exept for message content;
5332         Detect mime-charset automatically, Use `mime-find-file-type' to detect
5333         content-type, Add From: and Subject: field.
5334
5335 2001-09-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5336
5337         * elmo-nmz.el (elmo-nmz-content-type-alist): New variable.
5338         (elmo-map-message-fetch): Add `Content-Type' field if contents is
5339         not a message.
5340
5341 2001-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5342
5343         * elmo.el (elmo-folder-writable-p): Changed default value to nil.
5344         (elmo-folder-move-messages): Check `elmo-folder-writable-p'.
5345
5346         * elmo-archive.el (elmo-folder-writable-p): Defined.
5347
5348         * elmo-cache.el (elmo-folder-writable-p): Ditto.
5349
5350         * elmo-filter.el (elmo-folder-writable-p): Ditto.
5351
5352         * elmo-imap4.el (elmo-folder-writable-p): Ditto.
5353
5354         * elmo-localdir.el (elmo-folder-writable-p): Ditto.
5355
5356         * elmo-maildir.el (elmo-folder-writable-p): Ditto.
5357
5358         * elmo-mark.el (elmo-folder-writable-p): Ditto.
5359
5360         * elmo-pipe.el (elmo-folder-writable-p): Ditto.
5361
5362         * elmo-nntp.el (elmo-folder-writable-p): Eliminated.
5363
5364 2001-09-20  Yuuichi Teranishi  <teranisi@gohome.org>
5365
5366         * elmo-util.el (elmo-address-quote-specials): New function;
5367         Renamed from `wl-address-quote-specials'.
5368
5369 2001-09-18  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5370
5371         * elmo-version.el (elmo-version): Up to 2.7.4.
5372
5373 2001-09-14  Yuuichi Teranishi  <teranisi@gohome.org>
5374
5375         * elmo.el (elmo-quit): Call `elmo-dop-queue-save'.
5376
5377 2001-09-14  Katsumi Yamaoka  <yamaoka@jpl.org>
5378
5379         * acap.el (acap-read-passphrase): Always autoload ange-ftp for
5380         both compile-time and run-time to avoid byte-compile warning.
5381
5382 2001-09-13  Kenichi OKADA  <okada@opaopa.org>
5383
5384         * elmo-nntp.el (elmo-nntp-post): Fix for `elmo-nntp-default-stream-type'.
5385
5386 2001-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
5387
5388         * elmo-mime.el (elmo-mime-display-as-is-coding-system): New user
5389         option.
5390         (elmo-mime-display-as-is-internal): Use it.
5391
5392         * acap.el (acap-read-passphrase): Use `ange-ftp-read-passwd'
5393         if `read-passwd' is not defined.
5394
5395 2001-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
5396
5397         * elmo-pop3.el (elmo-pop3-list-location): Sort locations
5398         by original number.
5399         (elmo-folder-status): Call `elmo-folder-open-internal';
5400         Call `elmo-folder-close-internal' instead of `elmo-folder-close'.
5401         (elmo-folder-close-internal): Set location-alist as nil.
5402         (elmo-folder-clear): Define.
5403         (elmo-folder-check): Don't set location-alist as nil.
5404
5405         * elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed symbols.
5406
5407 2001-09-10  Yuuichi Teranishi  <teranisi@gohome.org>
5408
5409         * elmo-util.el (elmo-msgid-to-cache): Enclose with `save-match-data'.
5410         (Pointed out by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>)
5411
5412         * mmimap.el (mime-imap-entity::requested): New slot.
5413         (mime-imap-location-fetch-entity-p): New generic function.
5414         (mime-decode-parameters): Define using `defun-maybe'.
5415         (mmimap-make-mime-entity): Use `make-mime-content-type' to make
5416         content-type structure.
5417         (mime-entity-body): Return empty body if
5418         `mime-imap-location-fetch-entity-p' returns nil in the first request.
5419
5420         * elmo.el (elmo-message-displaying): New variable.
5421
5422         * elmo-mime.el (elmo-mime-message-display): Bind
5423         elmo-message-displaying as t.
5424
5425         * elmo-imap4.el (mime-imap-location-fetch-entity-p): Define.
5426
5427 2001-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
5428
5429         * acap.el (acap-open): erase buffer before starting network process.
5430         (acap-store): Rewrite.
5431
5432 2001-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
5433
5434         * elmo-imap4.el (elmo-imap4-default-mailbox,
5435         elmo-imap4-default-server
5436         elmo-imap4-default-authenticate-type,
5437         elmo-imap4-default-user,
5438         elmo-imap4-default-port,
5439         elmo-imap4-default-stream-type,
5440         elmo-imap4-stream-type-alist): Moved to elmo-vars.el.
5441
5442         * elmo-pop3.el (elmo-pop3-default-user,
5443         elmo-pop3-default-server,
5444         elmo-pop3-default-authenticate-type,
5445         elmo-pop3-default-port,
5446         elmo-pop3-default-stream-type,
5447         elmo-pop3-stream-type-alist): Ditto.
5448
5449         * elmo-nntp.el (elmo-nntp-default-server,
5450         elmo-nntp-default-user,
5451         elmo-nntp-default-port,
5452         elmo-nntp-default-stream-type,
5453         elmo-nntp-stream-type-alist): Ditto.
5454
5455         * elmo-vars.el: Follow changes above.
5456         (elmo-setting): New custom group; added 'elmo-setting group to
5457         above variables.
5458
5459         * elmo-version.el (elmo-version): Up to 2.7.3.
5460
5461         * acap.el (acap-parse-response): Don't delete process when BYE
5462         response (It causes hang-up on slow network environment).
5463         (toplevel): Added comment.
5464
5465 2001-08-28  Yuuichi Teranishi  <teranisi@gohome.org>
5466
5467         * slp.el (slp-exec-wait): Use `slp-program-arguments'.
5468
5469         * acap.el (acap-parse-return-metadata-or-return-metalist): Fix for
5470         parsing NIL.
5471         (acap-parse-return-metadata): Ditto.
5472
5473         * slp.el: New file.
5474         (toplevel): Fixed typo.
5475
5476         * acap.el: New file.
5477         (acap-network-stream-open): Show "Connecting..." message.
5478         (acap-parse-response): Fixed problem for BYE untagged response.
5479         (acap-open): Changed argument (Use `acap-default-user' if user is nil).
5480         (toplevel): Added tiny comments.
5481
5482 2001-08-20  Tatsuya Kinoshita <tats@iris.ne.jp>
5483
5484         * elmo-pop3.el (elmo-pop3-parse-uidl-response): Allow multiple
5485         space delimiter for uidl response.
5486
5487 2001-08-20  Yuuichi Teranishi  <teranisi@gohome.org>
5488
5489         * elmo-vars.el (elmo-use-semi): Eliminated.
5490
5491         * elmo-util.el (elmo-string-assoc-all): New function.
5492
5493 2001-08-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5494
5495         * elmo-mime.el (elmo-mime-display-as-is-internal): Put text
5496         property 'mime-preview-situation for `mime-preview-quit'.
5497
5498 2001-08-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5499
5500         * elmo.el (elmo-message-fetch-with-cache-process): Call
5501         elmo-message-fetch-internal instead of causing an error when fetch
5502         strategy is 'entire but only 'section cache is available.
5503
5504 2001-08-15  Yuuichi Teranishi  <teranisi@gohome.org>
5505
5506         * elmo-version.el (elmo-version): Up to 2.7.2.
5507
5508         * elmo.el (elmo-generic-folder-append-messages): Make
5509         fetch-strategy with `use-cache'.
5510
5511         * elmo-dop.el (elmo-dop-queue-method-name-alist): New variable.
5512         (elmo-dop-queue-method-name): New macro.
5513
5514 2001-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5515
5516         * elmo-archive.el (elmo-archive-get-archive-name): Fixed
5517         unbalanced parenthesis.
5518
5519 2001-08-03  YAMASHITA Junji <ysjj@unixuser.org>
5520
5521         * elmo-localdir.el (elmo-folder-rename-internal): Fixed typo.
5522
5523 2001-08-03  Yuuichi Teranishi  <teranisi@gohome.org>
5524
5525         * elmo-archive.el (elmo-archive-get-archive-name): Fixed logic.
5526         (Advised by YAMASHITA Junji <ysjj@unixuser.org>.)
5527
5528 2001-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
5529
5530         * elmo-shimbun.el (elmo-folder-msgdb-create): Bind unbound
5531         local variables.
5532
5533 2001-07-30  Yuuichi Teranishi  <teranisi@gohome.org>
5534
5535         * elmo-shimbun.el (elmo-shimbun-use-cache): New user option.
5536         (elmo-message-use-cache-p): Define.
5537         (elmo-folder-msgdb-create): Treat cache.
5538
5539 2001-07-28  Kenichi OKADA  <okada@opaopa.org>
5540
5541         * elmo-nntp.el (elmo-network-initialize-session): Call
5542         `elmo-nntp-send-mode-reader'.
5543         (elmo-network-setup-session): Remove `elmo-nntp-send-mode-reader'.
5544
5545 2001-07-26  Yuuichi Teranishi  <teranisi@gohome.org>
5546
5547         * elmo-shimbun.el (elmo-shimbun-index-range-alist): Changed to regexp
5548         alist.
5549         (elmo-folder-initialize): Use elmo-string-matched-assoc instead of
5550         assoc.
5551
5552         * elmo-net.el (elmo-network-get-session): Set stream-type argument
5553         for `elmo-plugged-p'.
5554         (elmo-open-network-stream): Fixed stream-type argument.
5555
5556 2001-07-25  Yuuichi Teranishi  <teranisi@gohome.org>
5557
5558         * elmo-archive.el (elmo-archive-get-archive-name): Cause an error when
5559         unknown archive type is specified.
5560
5561 2001-07-23  Yuuichi Teranishi  <teranisi@gohome.org>
5562
5563         * elmo-shimbun.el (elmo-folder-open-internal): Fixed.
5564
5565         * elmo.el (elmo-generic-folder-open): Bind inhibit-quit as t
5566         while loading msgdb.
5567
5568         * elmo-shimbun.el (elmo-shimbun-folder-setup): New function.
5569         (elmo-folder-open-internal): Rewrite.
5570
5571 2001-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
5572
5573         * elmo-mime.el (elmo-mime-display-as-is-internal):
5574         Adjust buffer-multibyte status.
5575
5576 2001-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
5577
5578         * elmo.el (elmo-msgdb-search): Use elmo-condition-in-msgdb-p instead
5579         of elmo-condition-find-key.
5580
5581         * elmo-util.el (elmo-condition-in-msgdb-p-internal): New function.
5582         (elmo-condition-in-msgdb-p): Ditto.
5583         (elmo-read-search-condition-internal): Don't set REQUIRE-MATCH
5584         argument.
5585
5586 2001-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
5587
5588         * elmo-pipe.el (elmo-folder-pack-numbers): Define.
5589
5590 2001-07-05  Yuuichi Teranishi  <teranisi@gohome.org>
5591
5592         * elmo-imap4.el (elmo-imap4-find-next-line): Fixed
5593         label for elmo-display-progress.
5594
5595 2001-07-02  Yuuichi Teranishi  <teranisi@gohome.org>
5596
5597         * elmo.el (elmo-folder-clear): New method.
5598         (elmo-folder-clear): Define.
5599         (elmo-folder-synchronize): Call `elmo-folder-clear'.
5600
5601         * elmo-shimbun.el (elmo-folder-check): Rewrite.
5602         (elmo-folder-clear): Define.
5603
5604         * elmo-map.el (elmo-folder-clear): Define.
5605
5606         * elmo-version.el (elmo-version): Up to 2.7.1.
5607
5608 2001-06-26  Yuuichi Teranishi  <teranisi@gohome.org>
5609
5610         * elmo.el (elmo-folder-synchronize): Return list of nil when no
5611         updates.
5612
5613 2001-06-21  Yuuichi Teranishi  <teranisi@gohome.org>
5614
5615         * elmo.el (elmo-generic-folder-append-messages): Fixed logic.
5616         (Detected by NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>)
5617
5618 2001-06-20  Yuuichi Teranishi  <teranisi@gohome.org>
5619
5620         * elmo-util.el (elmo-get-network-stream-type): Moved to elmo-net.el.
5621
5622         * elmo-net.el (elmo-get-network-stream-type): Moved from elmo-util.el
5623         and re-written.
5624
5625         * elmo-imap4.el (elmo-folder-initialize): Use
5626         elmo-get-network-stream-type.
5627
5628         * elmo-nntp.el (elmo-folder-initialize): Ditto.
5629
5630         * elmo-pop3.el (elmo-folder-initialize): Ditto.
5631
5632 2001-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
5633
5634         * elmo.el (elmo-message-encache): Set unread argument for
5635         elmo-message-fetch.
5636
5637         * elmo-shimbun.el (elmo-dop): Require 'elmo-dop.
5638
5639         * elmo.el (elmo-net-port-info): New method.
5640
5641         * elmo-shimbun.el (elmo-net-port-info): Define.
5642         (elmo-message-encache): Ditto.
5643
5644         * elmo-net.el (elmo-net-port-info): Define as method.
5645
5646         * elmo.el (elmo-generic-folder-append-messages): Find cache file in
5647         unplugged status when elmo-enable-disconnected-operation is t.
5648
5649         * elmo-dop.el (elmo-dop-spool-folder-append-buffer): Check existence
5650         of spool folder before checking new number.
5651
5652 2001-06-18  Yuuichi Teranishi  <teranisi@gohome.org>
5653
5654         * elmo-pop3.el (elmo-network-close-session): Removed 3rd argument.
5655         (elmo-network-setup-session): Ditto.
5656         (elmo-message-fetch-plugged): Ditto.
5657         (elmo-pop3-send-command): Don't call elmo-pop3-lock.
5658         (elmo-network-initialize-session): Ditto.
5659         (elmo-pop3-read-response): Abolish 3rd argument.
5660         (elmo-pop3-read-response): Don't call elmo-pop3-unlock.
5661         (elmo-pop3-read-contents): Ditto.
5662         (elmo-pop3-read-body): Ditto.
5663         (elmo-folder-status): Call elmo-folder-close.
5664         (elmo-pop3-lock): Abolish.
5665         (elmo-pop3-unlock): Ditto.
5666         (elmo-pop3-locked-p): Ditto.
5667         (elmo-folder-check): Don't call elmo-pop3-locked-p.
5668
5669 2001-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
5670
5671         * elmo-version.el (elmo-version): Up to 2.7.0.
5672
5673         * elmo-pop3.el (elmo-pop3-debug): New variable.
5674         (elmo-pop3-debug-inhibit-logging): Ditto.
5675         (elmo-pop3-debug): New function.
5676         (elmo-pop3-send-command): Call elmo-pop3-debug.
5677         (elmo-pop3-read-response): Added keep-lock optional argument;
5678         Don't unlock if keep-lock is non-nil.
5679         (elmo-pop3-process-filter): Call elmo-pop3-debug.
5680         (elmo-network-authenticate-session): Bind
5681         elmo-pop3-debug-inhibit-logging as t.
5682         (elmo-network-setup-session): Call elmo-pop3-read-response with
5683         keep-lock argument.
5684         (elmo-pop3-read-msg): Ditto.
5685         (elmo-pop3-locked-p): Call elmo-pop3-debug.
5686         (elmo-pop3-read-body): Call elmo-pop3-unlock.
5687         (elmo-network-initialize-session): Call elmo-pop3-lock.
5688         (elmo-folder-close-internal): Don't clear location-alist slot.
5689         (elmo-folder-check): Clear location-alist slot.
5690
5691 2001-06-13  Yuuichi Teranishi  <teranisi@gohome.org>
5692
5693         * elmo-pop3.el (elmo-pop3-lock): New buffer local variable.
5694         (elmo-pop3-send-command): Call elmo-pop3-lock.
5695         (elmo-pop3-read-response): Call elmo-pop3-unlock.
5696         (elmo-pop3-read-contents): Ditto.
5697         (elmo-pop3-lock): New function.
5698         (elmo-pop3-unlock): Ditto.
5699         (elmo-pop3-locked-p): Ditto.
5700         (elmo-folder-check): Don't delete process if elmo-pop3-locked-p
5701         returns t.
5702
5703 2001-06-11  Yuuichi Teranishi  <teranisi@gohome.org>
5704
5705         * elmo-shimbun.el (elmo-shimbun-msgdb-to-headers): Inverted logic.
5706
5707         * elmo-util.el (elmo-file-field-primitive-condition-match):
5708         New inline function (Don't fetch file content if "first" or "last").
5709         (elmo-file-field-condition-match): Use
5710         elmo-file-field-primitive-condition-match.
5711
5712         * elmo-localdir.el (elmo-folder-search): Speed up simple "last" and
5713         "first".
5714
5715         * elmo-pop3.el (elmo-pop3-process-filter): Don't use floor nor float.
5716         (elmo-message-fetch-plugged): Fixed.
5717
5718         * elmo-imap4.el (elmo-imap4-find-next-line): Ditto.
5719
5720 2001-06-10  Yuuichi Teranishi  <teranisi@gohome.org>
5721
5722         * elmo.el (elmo-folder-move-messages): Bind
5723         elmo-inhibit-display-retrieval-progress as t while moving messages.
5724
5725         * elmo-vars.el (elmo-display-retrieval-progress-threshold):
5726         New variable.
5727         (elmo-inhibit-display-retrieval-progress): Ditto.
5728
5729         * elmo-pop3.el (elmo-pop3-process-filter): Use elmo-display-progress
5730         for retrieval progress;
5731         Don't display progress when total buffer size is smaller than
5732         elmo-display-retrieval-progress-threshold.
5733         (elmo-message-fetch-plugged): Don't display progress when
5734         elmo-inhibit-display-retrieval-progress is non-nil.
5735
5736         * elmo-imap4.el (elmo-imap4-find-next-line): Use elmo-display-progress
5737         for retrieval progress;
5738         Don't display progress when literal size is smaller than
5739         elmo-display-retrieval-progress-threshold.
5740         (elmo-imap4-message-fetch): Don't display progress when
5741         elmo-inhibit-display-retrieval-progress is non-nil.
5742
5743 2001-06-07  Yuuichi Teranishi  <teranisi@gohome.org>
5744
5745         * elmo-imap4.el (elmo-imap4-display-literal-progress): New variable.
5746         (elmo-imap4-find-next-line): Display progress whille literal fetching.
5747         (elmo-imap4-message-fetch): Likewise.
5748
5749         * elmo-shimbun.el (elmo-shimbun-default-index-range): New user option.
5750         (elmo-shimbun-index-range-alist): Ditto.
5751         (elmo-shimbun-use-entire-index): Abolish.
5752         (shimbun-mua-use-entire-index): Ditto.
5753         (elmo-shimbun-folder): Added new slot `range'.
5754         (elmo-folder-initialize): Setup slot `range'.
5755
5756 2001-06-06  Yuuichi Teranishi  <teranisi@gohome.org>
5757
5758         * elmo-shimbun.el (elmo-shimbun-parse-time-string): New function.
5759         (elmo-shimbun-msgdb-to-headers): Added `expire-days' argument.
5760         (elmo-shimbun-get-headers): Use return value of
5761         `shimbun-article-expiration-days'.
5762         (elmo-folder-close-internal): Clean up last-check slot.
5763
5764         * elmo-pop3.el (elmo-pop3-process-filter): Show retrieve progress.
5765         (elmo-pop3-total-size): New variable.
5766         (elmo-message-fetch-plugged): Bind elmo-pop3-total-size while fetching.
5767
5768         * elmo.el (elmo-folder-reserve-status-p): New method.
5769
5770         * elmo-shimbun.el (elmo-shimbun-headers-cache): Abolish.
5771         (elmo-shimbun-use-entire-index): New user option.
5772         (shimbun-elmo-mua): New class.
5773         (shimbun-mua-search-id): Define.
5774         (shimbun-mua-use-entire-index): Ditto.
5775         (elmo-shimbun-folder:last-check): New slot.
5776         (elmo-shimbun-headers-cache-header-list): Abolish.
5777         (elmo-shimbun-headers-cache-set-header-list): Ditto.
5778         (elmo-shimbun-headers-cache-header-hash): Ditto.
5779         (elmo-shimbun-headers-cache-set-header-hash): Ditto.
5780         (elmo-shimbun-headers-cache-last-check): Ditto.
5781         (elmo-shimbun-headers-cache-set-last-check): Ditto.
5782         (elmo-shimbun-headers-check-p): Rewrite.
5783         (elmo-shimbun-msgdb-to-headers): New function.
5784         (elmo-shimbun-get-headers): Rewrite.
5785         (elmo-folder-initialize): Set 1st argument of `shimbun-open'.
5786         (elmo-folder-open-internal): Get headers only if
5787         `elmo-shimbun-headers-check-p' is non-nil.
5788         (elmo-folder-check): Check only if `elmo-shimbun-headers-check-p'
5789         is non-nil.
5790         (elmo-shimbun-msgdb-create-entity): Re-use old msgdb entities.
5791         (elmo-quit): Removed.
5792
5793         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra): New inline
5794         function.
5795         (elmo-msgdb-overview-entity-set-extra): Ditto.
5796         (elmo-msgdb-make-overview-hashtb): Make hash if overview is non-nil.
5797
5798         * elmo-map.el (elmo-folder-status): Don't call
5799         elmo-folder-close-internal if `elmo-folder-reserve-status-p'
5800         is non-nil.
5801
5802 2001-06-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5803
5804         * elmo-msgdb.el (elmo-msgdb-search-internal): Call itself instead
5805         of `elmo-msgdb-search-internal-primitive' when condition's car is
5806         `and' or `or'.
5807
5808 2001-05-23  Kenichi OKADA  <okada@opaopa.org>
5809
5810         * elmo-nntp.el (elmo-nntp-get-newsgroup-by-msgid): Fix for luna.
5811
5812 2001-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5813
5814         * elmo-pipe.el (elmo-folder-open-internal): Check plugged before
5815         call `elmo-pipe-drain'.
5816
5817 2001-05-19  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
5818
5819         * elmo-mark.el (elmo-message-fetch-with-cache-process): Fixed
5820         typo. (elmo-cache-folder -> elmo-mark-folder)
5821
5822 2001-05-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5823
5824         * elmo-net.el (elmo-message-fetch-unplugged): Don't call
5825         `elmo-message-fetch'.
5826
5827 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5828
5829         * elmo-net.el (elmo-message-encache): Fixed typo.
5830         (elmo-message-fetch-unplugged): Changed call
5831         `elmo-message-fetch-internal' without argument `outbuf'.
5832
5833 2001-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
5834
5835         * elmo.el (elmo-message-encache): Define as generic function.
5836         (elmo-message-fetch-field): New generic function.
5837         (elmo-message-fetch-with-cache-process): Cause an error when
5838         fetch strategy is 'entire but only 'section cache is available.
5839         (toplevel): Fixed nmz folder definition.
5840
5841         * elmo-vars.el (elmo-msgdb-lock-list-filename): Removed.
5842         (elmo-msgdb-resume-list-filename): Ditto.
5843         (elmo-queue-filename): Ditto.
5844         (elmo-enable-disconnected-operation): Changed default value to t.
5845
5846         * elmo-util.el (elmo-cache-path-section-p): New function.
5847         (elmo-file-cache-get): Use it.
5848         (elmo-dop-queue-filename): Moved from elmo-dop.el.
5849         (elmo-dop-queue-load): Moved from elmo-msgdb.el.
5850         (elmo-dop-queue-save): Ditto.
5851
5852         * elmo-net.el (elmo-folder-status-unplugged): Call
5853         elmo-folder-status-dop.
5854         (elmo-folder-list-messages-unplugged): Implemented.
5855         (elmo-folder-delete-messages-unplugged): Define.
5856         (elmo-folder-msgdb-create): Define.
5857         (elmo-folder-msgdb-create-unplugged): Define.
5858         (elmo-folder-mark-as-read-unplugged): Ditto.
5859         (elmo-folder-unmark-read-unplugged): Ditto.
5860         (elmo-folder-mark-as-important-unplugged): Ditto.
5861         (elmo-folder-unmark-important-unplugged): Ditto.
5862         (elmo-message-encache): Ditto.
5863
5864         * elmo-msgdb.el (elmo-dop-queue-load): Moved to elmo-util.el.
5865         (elmo-dop-queue-save): Ditto.
5866
5867         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Renamed from
5868         `elmo-folder-msgdb-create'.
5869         (elmo-folder-append-buffer): Implemented unplugged operation.
5870         (elmo-folder-append-messages): Call parent method in unplugged status.
5871         (elmo-message-fetch-unplugged): Removed definition.
5872         (elmo-message-fetch-field): Implemented.
5873
5874         * elmo-dop.el (toplevel): Require 'elmo-localdir.
5875         (elmo-dop-folder): Removed variable definition.
5876         (elmo-dop-queue-append): Changed argument `fname' to `folder'.
5877         (elmo-dop-queue-flush): Implemented.
5878         (elmo-dop-queue-merge): Removed definition (TODO).
5879         (elmo-dop-spool-folder): New function.
5880         (elmo-dop-spool-folder-append-buffer): Ditto.
5881         (elmo-dop-spool-folder-list-messages): Ditto.
5882         (elmo-dop-list-deleting-messages): Ditto.
5883         (elmo-folder-append-buffer-dop): Ditto.
5884         (elmo-folder-delete-messages-dop): Ditto.
5885         (elmo-message-encache-dop): New inline function.
5886         (elmo-create-folder-dop): Ditto.
5887         (elmo-folder-mark-as-read-dop): Ditto.
5888         (elmo-folder-unmark-read-dop): Ditto.
5889         (elmo-folder-mark-as-important-dop): Ditto.
5890         (elmo-folder-unmark-important-dop): Ditto.
5891         (elmo-folder-status-dop): Fixed.
5892         (elmo-folder-append-buffer-dop-delayed): New function.
5893         (elmo-folder-delete-messages-dop-delayed): Ditto.
5894         (elmo-dop-msgdb): Ditto.
5895
5896 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5897
5898         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed.
5899
5900 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5901
5902         * elmo.el (elmo-folder-move-messages): Fixed problem when
5903         `dst-folder' is 'null.
5904
5905 2001-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5906
5907         * elmo.el (elmo-folder-list-importants): Rewirte. Use global mark
5908         instead of current mark.
5909
5910         * elmo-multi.el (elmo-folder-list-importants-internal): No
5911         operation if importants is not list.
5912
5913         * elmo-filter.el (elmo-filter-folder-list-importants-internal):
5914         Return t if importants is not list.
5915
5916         * elmo-map.el (elmo-map-folder-list-importants): Define.
5917         (elmo-folder-list-importants-internal): Check return value of
5918         `elmo-map-folder-list-importants-internal'.
5919
5920         * elmo-cache.el (elmo-folder-list-importants-internal): Eliminated.
5921
5922         * elmo-mark.el (elmo-folder-list-importants-internal): Ditto.
5923
5924         * elmo-nmz.el (elmo-folder-list-importants-internal): Ditto.
5925
5926         * elmo-shimbun.el (elmo-folder-list-importants-internal): Ditto.
5927
5928 2001-05-08  Yuuichi Teranishi  <teranisi@gohome.org>
5929
5930         * elmo.el (elmo-message-fetch-confirm): Fixed docstring.
5931         (Patch is provided by <kita@coe.nttdata.co.jp>).
5932
5933 2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5934
5935         * elmo.el (elmo-folder-synchronize): Don't check important mark in
5936         mark folder.
5937
5938 2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5939
5940         * elmo.el (elmo-message-fetch): Define.
5941         (elmo-message-fetch-with-cache-process): New generic method.
5942         (elmo-message-fetch-internal): New generic method.
5943         (elmo-folder-synchronize):
5944
5945         * elmo-archive.el (elmo-message-fetch-internal): Define.
5946         (elmo-message-fetch): Eliminated.
5947
5948         * elmo-localdir.el (elmo-message-fetch-internal): Define.
5949         (elmo-message-fetch): Eliminated.
5950
5951         * elmo-map.el (elmo-map-message-fetch): Eliminated optional
5952         argument OUTBUF.
5953         (elmo-message-fetch-internal): Define (Renamed from `elmo-message-fetch').
5954
5955         * elmo-cache.el (elmo-message-fetch-with-cache-process): Define.
5956         (elmo-map-message-fetch): Merged with elmo-cache-folder-map-message-fetch.
5957
5958         * elmo-mark.el (elmo-message-fetch-with-cache-process): Define.
5959         (elmo-map-message-fetch): Merged with `elmo-mark-folder-map-message-fetch'.
5960
5961         * elmo-maildir.el (elmo-map-message-fetch): Rewrite.
5962
5963         * elmo-nmz.el (elmo-map-message-fetch): Ditto.
5964
5965         * elmo-shimbun.el (elmo-map-message-fetch): Ditto.
5966
5967         * elmo-net.el (elmo-message-fetch-plugged): Remove cache process.
5968         (elmo-message-fetch-unplugged): New generic method.
5969         (elmo-message-fetch-internal): Remove cache process (Renamed from
5970         `elmo-message-fetch').
5971
5972         * elmo-nntp.el (elmo-message-fetch-with-cache-process): Define.
5973         (elmo-message-fetch): Eliminated.
5974         (elmo-message-fetch-unplugged): Ditto.
5975
5976         * elmo-imap4.el (elmo-message-fetch-unplugged): Remove cache process.
5977
5978 2001-05-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5979
5980         * elmo-multi.el (elmo-multi-folder-append-msgdb): Fixed structure
5981         of `to-be-deleted' from number-alist to number-list.
5982
5983 2001-04-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5984
5985         * elmo-pipe.el (elmo-folder-unmark-important): Fixed typo.
5986         (elmo-folder-mark-as-important): Ditto.
5987
5988 2001-04-26  Yuuichi Teranishi  <teranisi@gohome.org>
5989
5990         * elmo.el (elmo-folder): Added process-duplicates slot.
5991
5992         * elmo-pipe.el (elmo-folder-mark-as-read): Define.
5993         (elmo-folder-unmark-read): Ditto.
5994         (elmo-folder-unmark-important): Ditto.
5995         (elmo-folder-mark-as-important): Ditto.
5996
5997         * elmo-multi.el (elmo-multi-folder-append-msgdb): Implemented
5998         duplicated message processing.
5999
6000         * elmo.el (elmo-generic-folder-append-msgdb): Ditto.
6001
6002 2001-04-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6003
6004         * elmo-util.el (elmo-list-subdirectories-1): New function.
6005         (elmo-list-subdirectories): Use `elmo-list-subdirectories-1'.
6006         (elmo-mapcar-list-of-list): New function.
6007
6008         * elmo-archive.el (elmo-archive-folder-list-subfolders): Use
6009         `elmo-mapcar-list-of-list' instead of `mapcar'.
6010
6011         * elmo-localdir.el (elmo-folder-list-subfolders): Ditto.
6012
6013         * elmo-maildir.el (elmo-folder-list-subfolders): Ditto. Bind
6014         `elmo-have-link-count'. Return the fully qualified folder name.
6015
6016 2001-04-23  Yuuichi Teranishi  <teranisi@gohome.org>
6017
6018         * elmo-shimbun.el (elmo-shimbun-check-interval): New user option.
6019         (elmo-shimbun-headers-cache): New internal variable.
6020         (elmo-shimbun-headers-cache-header-list): New inline function.
6021         (elmo-shimbun-headers-cache-set-header-list): Ditto.
6022         (elmo-shimbun-headers-cache-header-hash): Ditto.
6023         (elmo-shimbun-headers-cache-set-header-hash): Ditto.
6024         (elmo-shimbun-headers-cache-last-check): Ditto.
6025         (elmo-shimbun-headers-cache-set-last-check): Ditto.
6026         (elmo-shimbun-lapse-seconds): Ditto.
6027         (elmo-shimbun-headers-cache-check-p): Ditto.
6028         (elmo-shimbun-get-headers): New function.
6029         (elmo-folder-open-internal): Call it.
6030         (elmo-quit): Define (Clear headers-cache).
6031
6032 2001-04-18  Yuuichi Teranishi  <teranisi@gohome.org>
6033
6034         * elmo-nntp.el (elmo-folder-initialize): Fixed typo (folder->name).
6035
6036         * elmo-msgdb.el (elmo-msgdb-flist-load): Use elmo-mime-charset.
6037         (elmo-msgdb-flist-save): Ditto.
6038
6039         * elmo-shimbun.el (elmo-folder-list-subfolders):
6040         Use `shimbun-groups' instead of `shimbun-groups-internal'.
6041         (elmo-folder-exists-p): Ditto.
6042
6043         * elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Set `shimbun'
6044         argument for `shimbun-header-insert'.
6045
6046 2001-04-17  Yuuichi Teranishi  <teranisi@gohome.org>
6047
6048         * elmo-multi.el (elmo-multi-folder-diff): Use dummy number list
6049         at first time.
6050
6051         * elmo-util.el (toplevel): Require 'mcharset and 'pces.
6052         (With a little help from 'NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>')
6053
6054 2001-04-16  Yuuichi Teranishi  <teranisi@gohome.org>
6055
6056         * elmo-shimbun.el (elmo-folder-open-internal): Do nothing if unplugged.
6057         (elmo-folder-plugged-p): Define.
6058         (elmo-folder-set-plugged): Ditto.
6059         (elmo-shimbun-msgdb-create-entity): Do nothing if there's no header.
6060         (elmo-folder-list-messages-internal): Return t if unplugged.
6061         (elmo-folder-initialize): Fixed for "@gnome.gnome-1.4-list".
6062
6063         * elmo-multi.el (elmo-folder-list-messages-internal): Fixed problem
6064         when elmo-folder-list-messages-internal method of children returns t.
6065
6066         * elmo-map.el (elmo-map-folder-update-locations): Fixed problem when
6067         pair is nil.
6068         (elmo-folder-open-internal): Don't update if unplugged status.
6069
6070 2001-04-13  Yuuichi Teranishi  <teranisi@gohome.org>
6071
6072         * elmo.el (elmo-folder-synchronize): Fixed problem when there's no
6073         new message.
6074
6075 2001-04-12  Yuuichi Teranishi  <teranisi@gohome.org>
6076
6077         * elmo-util.el (elmo-file-cache-save): Ignore errors.
6078
6079         * elmo-net.el (elmo-message-fetch): Check cache-path is non-nil before
6080         saving.
6081
6082 2001-04-09  Yuuichi Teranishi  <teranisi@gohome.org>
6083
6084         * elmo.el (elmo-folder-synchronize): Added optional no-check argument.
6085
6086         * elmo-shimbun.el (elmo-shimbun-folder): Added headers slot.
6087         (elmo-folder-open-internal): Set up headers slot.
6088         (elmo-folder-check): Call elmo-folder-close-internal and
6089         elmo-folder-open-internal.
6090         (elmo-folder-close-internal): Clean up headers slot.
6091
6092 2001-04-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
6093
6094         * elmo-archive.el (elmo-archive-folder-list-subfolders): Match
6095         exactly folder list.
6096         (elmo-folder-append-messages): Fixed append archive with prefix.
6097
6098         * elmo-localdir.el (elmo-folder-message-make-temp-files): Fixed
6099         make temp files with start-number.
6100
6101         * elmo-pipe.el (elmo-folder-message-make-temp-file-p): Fixed typo.
6102
6103 2001-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6104
6105         * elmo.el (elmo-folder-list-messages-internal): Fixed lucking optional
6106         argument `visible-only'.
6107         (elmo-generic-folder-append-messages): Fixed condition. Use `unless'
6108         instead of `if'.
6109
6110         * elmo-pop3.el (elmo-folder-open-internal): Check
6111         `elmo-inhibit-number-mapping' is non-nil.
6112
6113         * elmo-pipe.el (elmo-folder-status): Fixed.
6114
6115 2001-04-05  Yuuichi Teranishi  <teranisi@gohome.org>
6116
6117         * elmo.el (elmo-dop-queue-flush): Added autload setting.
6118
6119         * elmo-shimbun.el (elmo-shimbun-folder): Added `header-hash' slot.
6120         (elmo-folder-open-internal): Setup `header-hash' slot.
6121         (elmo-shimbun-msgdb-create-entity): Use `header-hash' to get header
6122         information.
6123         (elmo-map-message-fetch): Ditto.
6124
6125 2001-04-04  Yuuichi Teranishi  <teranisi@gohome.org>
6126
6127         * shimbun.el, sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
6128         sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
6129         sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
6130         sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el, sb-tcup.el: Removed.
6131
6132         * elmo-util.el (elmo-resque-obsolete-variable): Fix.
6133
6134 2001-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
6135
6136         * sb-airs.el: Added footer.
6137
6138         * shimbun.el (shimbun-article): Define as luna-method.
6139
6140         * sb-tcup.el: New file.
6141
6142         * sb-airs.el (toplevel): Require 'sb-mhonarc.
6143         (According to the report from ABE Yasushi <yasushi@indigo.co.jp>)
6144
6145 2001-04-02  Yuuichi Teranishi  <teranisi@gohome.org>
6146
6147         * sb-asahi.el (shimbun-index-url): Removed redundant '/' in URL string.
6148         (shimbun-get-headers): Ditto.
6149
6150         * elmo.el: Moved obsolete variable definitions from
6151         elmo-imap4.el, elmo-nntp.el and elmo-pop3.el.
6152
6153         * sb-asahi.el (shimbun-asahi-groups): Deleted "feneral" and "personal"
6154         groups.
6155
6156         * shimbun.el: New file.
6157
6158         * elmo-shimbun.el: New file.
6159
6160         * sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
6161         sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
6162         sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
6163         sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el: New files.
6164
6165 2001-03-27  Kenichi OKADA  <okada@opaopa.org>
6166
6167         * elmo-imap4.el (elmo-imap4-list-folders): Fixed problem when
6168         hierarchy is t.
6169
6170 2001-03-12  Yuuichi Teranishi  <teranisi@gohome.org>
6171
6172         * elmo.el (elmo-folder-msgdb): Define as macro.
6173         (elmo-folder-open): Added argument `load-msgdb'.
6174         (elmo-generic-folder-open): Ditto.
6175         (elmo-folder-encache): New function.
6176
6177         * elmo-dop.el (elmo-dop-queue): Moved from elmo-dop.el.
6178
6179         * elmo-net.el (elmo-message-fetch): Check the cache path is non-nil.
6180
6181         * elmo-msgdb.el (elmo-msgdb-delete-msgs):
6182         Eliminated argument FOLDER and added argument MSGDB.
6183         (elmo-dop-queue-load): Moved from elmo-dop.el.
6184         (elmo-dop-queue-save): Ditto.
6185
6186         * elmo-map.el (elmo-map-folder-update-locations): Sort by number.
6187
6188         * elmo-imap4.el (elmo-folder-open): Added argument load-msgdb.
6189
6190         * elmo-filter.el (elmo-filter-folder-list-unreads-internal):
6191         Use elmo-folder-msgdb instead of elmo-folder-msgdb-internal.
6192         (elmo-filter-folder-list-importants-internal): Ditto.
6193
6194         * elmo-map.el (elmo-folder-pack-number): Ditto.
6195
6196         * elmo-mime.el (elmo-mime-message-display): Ditto.
6197
6198         * elmo.el (elmo-generic-folder-commit): Ditto.
6199         (elmo-folder-list-unreads): Ditto.
6200         (elmo-folder-list-importants): Ditto.
6201         (elmo-generic-folder-commit): Ditto.
6202         (elmo-message-set-mark): Ditto.
6203         (elmo-generic-folder-append-msgdb): Ditto.
6204         (elmo-folder-synchronize): Ditto.
6205         (elmo-folder-messages): Ditto.
6206         (elmo-init): Call elmo-dop-queue-load.
6207         (elmo-folder-list-messages): Ditto.
6208
6209         * elmo-nntp.el (elmo-folder-update-number): Ditto.
6210         (elmo-nntp-folder-process-crosspost): Ditto.
6211         (elmo-folder-list-unreads-internal): Ditto.
6212
6213         * elmo-dop.el: Removed old functions.
6214
6215 2001-03-05  Yuuichi Teranishi  <teranisi@gohome.org>
6216
6217         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument from
6218         `folder' to `msgdb'.
6219
6220 2001-03-01  Yuuichi Teranishi  <teranisi@gohome.org>
6221
6222         * mmimap.el (mmimap-parse-parameters-from-list): Define as alias for
6223         `mime-decode-parameters' instead of `mime-decode-parameter-plist'.
6224
6225         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Bind
6226         case-fold-search.
6227
6228 2001-02-28  Yuuichi Teranishi  <teranisi@gohome.org>
6229
6230         * elmo-util.el (elmo-resque-obsolete-variable): Use defvaralias if
6231         defined.
6232
6233         * mmimap.el (toplevel): Require 'mime-parse and 'static.
6234         (mmimap-parse-parameters-from-list): Define as alias for
6235         `mime-decode-parameter-plist' if it is defined as function.
6236         (mmimap-make-mime-entity): Added argument `number'.
6237         (initialize-instance): Set `number' argument of mmimap-make-mime-entity
6238         as 0.
6239         (mime-imap-entity-header-string): Arrange node-id for rfc2060 section.
6240
6241         * elmo.el (elmo-folder-have-subfolder-p): New generic function.
6242
6243         * elmo-mark.el (elmo-folder-have-subfolder-p): Define.
6244
6245         * elmo-internal.el (elmo-folder-list-subfolders): Rewrite.
6246
6247 2001-02-27  Yuuichi Teranishi  <teranisi@gohome.org>
6248
6249         * elmo-maildir.el (elmo-folder-msgdb-create): Fixed.
6250
6251         * elmo-imap4.el (elmo-folder-initialize): Fixed problem
6252         when elmo-imap4-default-authenticate-type is nil.
6253         (elmo-folder-list-subfolders): Ditto
6254         (According to the reported of Bun Mizuhara <mizuhara@acm.org>)
6255         (elmo-imap4-fetch-callback-1-subr): Renamed from
6256         `elmo-imap4-fetch-callback-1' and define as inline function.
6257         (elmo-imap4-fetch-callback-1):
6258         Renamed from `elmo-imap4-fetch-callback'.
6259         (elmo-imap4-parse-fetch): Funcall `elmo-imap4-fetch-callback'.
6260
6261         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Fixed
6262         msgdb path (To keep compatibility with main trunk).
6263
6264         * elmo-vars.el (elmo-inhibit-number-mapping): New variable.
6265
6266         * elmo-util.el (elmo-make-file-cache): Moved position of
6267         some macros.
6268
6269         * elmo-pop3.el (elmo-pop3-inhibit-uidl): Eliminated.
6270         (elmo-pop3-get-session): Use `elmo-inhibit-number-mapping'
6271         instead of `elmo-pop3-inhibit-uidl'.
6272         (elmo-folder-exists-p): Ditto.
6273         (elmo-pop3-folder-list-messages): Ditto.
6274
6275         * elmo-pipe.el (elmo-pipe-drain): Use `elmo-inhibit-number-mapping'
6276         instead of `elmo-pop3-inhibit-uidl'.
6277         (elmo-folder-status): Ditto.
6278
6279         * elmo-dop.el (elmo-dop-folder): New variable.
6280         (elmo-dop-lock-message): Eliminated.
6281         (elmo-dop-unlock-message): Ditto.
6282         (elmo-dop-lock-list-load): Ditto.
6283         (elmo-dop-lock-list-save): Ditto.
6284         (elmo-dop-delete-folder): Ditto.
6285         (elmo-dop-rename-folder): Ditto.
6286
6287         * elmo.el: Removed incomplete commentary.
6288
6289 2001-02-25  TAKAHASHI Kaoru  <kaoru@kaisei.org>
6290
6291         * elmo.el (toplevel): Require 'elmo-version first;
6292         for little `recursive-load-depth' settings.
6293         Fix "ends here" comment.
6294
6295 2001-02-23  Yuuichi Teranishi  <teranisi@gohome.org>
6296
6297         * elmo-util.el (toplevel): Require 'poem;
6298         Some functions are moved from elmo-cache.el.
6299
6300         * elmo-net.el (toplevel): Require 'elmo-cache.
6301
6302         * elmo-msgdb.el (toplevel): Don't require 'elmo-cache.
6303
6304         * elmo.el (toplevel): Ditto.
6305
6306         * elmo-cache.el: Rewrite with luna;
6307         Some functions are moved to elmo-util.el.
6308
6309         * elmo-internal.el (elmo-internal-folder-list): New variable.
6310         (elmo-internal-folder-initialize): Rewrite.
6311         (elmo-folder-list-subfolders): Ditto.
6312
6313         * elmo-cache.el (elmo-cache-search-all): Eliminated.
6314         (elmo-cache-collect-sub-directories): Ditto.
6315
6316 2001-02-22  Yuuichi Teranishi  <teranisi@gohome.org>
6317
6318         * elmo-version.el (elmo-version): Up to 2.5.8.
6319
6320         * elmo.el (elmo-folder-list-messages-mark-match): New function.
6321
6322         * elmo-util.el (elmo-list-insert): New function.
6323
6324 2001-02-21  Yuuichi Teranishi  <teranisi@gohome.org>
6325
6326         * elmo.el (elmo-init): New function.
6327         (elmo-quit): Call `elmo-crosspost-message-alist-save'.
6328
6329         * elmo-vars.el (elmo-msgdb-file-header-chop-length): New variable
6330         (Renamed from `elmo-localdir-header-chop-length').
6331
6332         * elmo-pop3.el (elmo-pop3-use-cache,
6333         elmo-pop3-send-command-synchronously): Moved from `elmo-vars.el'.
6334
6335         * elmo-nntp.el (elmo-message-fetch): Define.
6336         (elmo-message-fetch-unplugged): Ditto.
6337         (elmo-nntp-overview-fetch-chop-length): Moved from `elmo-vars.el'.
6338         (elmo-nntp-use-cache): Ditto.
6339         (elmo-nntp-max-number-precedes-list-active): Ditto.
6340
6341         * elmo-multi.el (elmo-multi-divide-number): Moved from `elmo-vars.el'.
6342
6343         * elmo-msgdb.el (elmo-localdir-insert-header): Renamed to
6344         `elmo-msgdb-insert-file-header'.
6345         Use `elmo-msgdb-file-header-chop-length'.
6346
6347         * elmo-localdir.el (elmo-localdir-lockfile-list): Moved from
6348         `elmo-vars.el'.
6349
6350         * elmo-cache.el (elmo-cache-insert-header): Eliminated.
6351         (elmo-cache-msgdb-create-overview-entity-from-file): Use
6352         `elmo-msgdb-insert-file-header'.
6353
6354         * elmo-imap4.el, elmo-nntp.el, elmo-pop3.el:
6355         Use new variable;
6356         Define obsolete variables with `elmo-define-obsolete-variable',
6357
6358         * elmo-util.el (elmo-warning-buffer-name): New constant.
6359         (elmo-warning): New function.
6360         (elmo-obsolete-variable-alist): New variable.
6361         (elmo-obsolete-variable-show-warnings): New variable.
6362         (elmo-define-obsolete-variable): New function.
6363         (elmo-resque-obsolete-variable): Ditto.
6364         (elmo-resque-obsolete-variables): Ditto.
6365
6366 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6367
6368         * elmo-vars.el (elmo-use-buffer-cache, elmo-buffer-cache-size):
6369         Eliminated.
6370
6371         * elmo-pop3.el, elmo-nntp.el: Use custom.
6372
6373 2000-02-20  Kenichi OKADA  <okada@opaopa.org>
6374
6375         * elmo-imap4.el (elmo-network-authenticate-session): Fix.
6376         * elmo-pop3.el (elmo-network-authenticate-session): Add comments.
6377
6378 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6379
6380         * Luna-fy Kenichi OKADA's following changes.
6381         * elmo.el (elmo-folder-list-messages-internal): Added optional argument
6382         `nohide'.
6383         (elmo-folder-synchronize): Changed meaning of argument `ignore-msgdb'.
6384
6385 2001-02-21  OKAZAKI Tetsurou  <okazaki@be.to>
6386
6387         * elmo-util.el (elmo-display-progress): Prefer
6388         `progress-feedback-with-label' to `lprogress-display'.
6389
6390 2000-02-20  Kenichi OKADA  <okada@opaopa.org>
6391
6392         * elmo-imap4.el (elmo-imap4-list-folder): Added 'uid'
6393
6394 2000-02-19  Kenichi OKADA  <okada@opaopa.org>
6395
6396         * elmo2.el (elmo-list-folder): Added optional argument `nohide'.
6397         * elmo-imap4.el (elmo-imap4-list-folder): Added optional argument `nohide'.
6398         * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
6399         * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
6400         * elmo-localdir.el (elmo-localdir-list-folder): Ditto.
6401         * elmo-localnews.el (elmo-localnews-list-folder): Ditto.
6402         * elmo-archive.el (elmo-archive-list-folder): Ditto.
6403         * elmo-filter.el (elmo-filter-list-folder): Ditto.
6404         * elmo-internal.el (elmo-internal-list-folder): Ditto.
6405         * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
6406         * elmo-multi.el (elmo-multi-list-folder): Ditto.
6407         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
6408         * elmo-dop.el (elmo-dop-list-folder): Ditto.
6409
6410 2000-02-17  Kenichi OKADA  <okada@opaopa.org>
6411
6412         * elmo-msgdb.el (elmo-msgdb-max-of-killed): New function.
6413         * elmo-imap4.el (elmo-imap4-list-folder): Use killed-list.
6414
6415 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6416
6417         * elmo.el (elmo-folder-process-crosspost): New generic method.
6418         (elmo-folder-writable-p): Ditto.
6419         (elmo-folder-message-appendable-p): Eliminated.
6420         (elmo-generic-folder-append-msgdb): Rewrite.
6421         (elmo-newsgroups-hashtb): New internal variable.
6422         (elmo-crosspost-message-set): Eliminated.
6423         (elmo-crosspost-message-delete): Ditto.
6424         (elmo-setup-subscribed-newsgroups): New function.
6425         (elmo-crosspost-message-alist-modified): New internal variable.
6426         (elmo-crosspost-message-alist-load): New function (Renamed from
6427         `wl-crosspost-alist-load').
6428         (elmo-crosspost-message-alist-save): Ditto (Renamed from
6429         `wl-crosspost-alist-save').
6430
6431         * elmo-util.el (elmo-parse): New function (Renamed from `wl-parse').
6432
6433         * elmo-nntp.el (elmo-nntp-folder): New slots `temp-crosses' and
6434         `unreads'.
6435         (elmo-nntp-groups-hashtb): Eliminated (Renamed to
6436         elmo-newsgroups-hashtb).
6437         (elmo-nntp-message-fetch): Call `elmo-nntp-setup-crosspost-buffer',
6438         `elmo-nntp-folder-update-crosspost-message-alist'.
6439         (elmo-nntp-get-folders-info): Use `elmo-newsgroups-hashtb' instead of
6440         `elmo-nntp-groups-hashtb'.
6441         (elmo-nntp-make-groups-hashtb): Eliminated.
6442         (elmo-nntp-parse-newsgroups): New function (Renamed from
6443         `wl-parse-newsgroups').
6444         (elmo-folder-creatable-p, elmo-folder-writable-p,
6445         elmo-folder-close-internal, elmo-folder-mark-as-read,
6446         elmo-folder-process-crosspost, elmo-folder-list-unreads-internal):
6447         Define.
6448         (elmo-nntp-folder-update-crosspost-message-alist): New function.
6449
6450         * elmo-net.el (elmo-message-fetch): Check buffer size.
6451
6452         * elmo-multi.el (elmo-multi-split-number-alist): New function.
6453
6454         * elmo-localdir.el (elmo-folder-append-buffer): Fixed logic.
6455
6456         * elmo-imap4.el (elmo-folder-rename-internal): Send `select' command
6457         before `close' command.
6458
6459         * elmo.el (elmo-folder-list-unreads-internal): Added argument
6460         `mark-alist' (All other related portions are changed).
6461
6462 2001-02-13  Yuuichi Teranishi  <teranisi@gohome.org>
6463
6464         * elmo-util.el (elmo-create-hash-size): Eliminated.
6465         (elmo-make-hash) Make a hash with `one less than a power of two'
6466         length.
6467
6468         * elmo-vars.el (elmo-hash-minimum-size): New variable.
6469         (elmo-hash-maximum-size): Changed value.
6470
6471 2001-02-09  Yuuichi Teranishi  <teranisi@gohome.org>
6472
6473         * elmo-mime.el (elmo-mime-message-display): Added argument `unread'.
6474         (elmo-mime-message-display-as-is): Ditto.
6475
6476 2001-02-07  Yuuichi Teranishi  <teranisi@gohome.org>
6477
6478         * elmo-pipe.el (elmo-pipe-drain): Eliminated needless bindings;
6479         Use `elmo-folder-close-internal' instead of `elmo-folder-close'.
6480
6481 2001-02-06  Yuuichi Teranishi  <teranisi@gohome.org>
6482
6483         * elmo-mark.el: New file.
6484
6485         * elmo-internal.el: Rewrite (Almost empty).
6486
6487 2001-02-05  Yuuichi Teranishi  <teranisi@gohome.org>
6488
6489         * mmimap.el (mmimap-make-mime-entity): Consider message/rfc822.
6490         (mime-imap-entity-header-string): Ditto.
6491         (mmimap-entity-section): Rewrite.
6492
6493 2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
6494
6495         * elmo-nmz.el: New file.
6496
6497         * elmo-pipe.el: Rewrite with luna.
6498
6499 2001-01-29  Yuuichi Teranishi  <teranisi@gohome.org>
6500
6501         * elmo-archive.el: Rewrite with luna.
6502
6503         * elmo-multi.el (elmo-folder-list-unreads-internal): Fixed.
6504         (elmo-folder-list-importants-internal): Ditto.
6505
6506 2001-01-24  Yuuichi Teranishi  <teranisi@gohome.org>
6507
6508         * elmo-archive.el (elmo-archive-version): Abolish.
6509         (toplevel) Removed `boso' comment.
6510
6511 2001-01-23  Yuuichi Teranishi  <teranisi@gohome.org>
6512
6513         * elmo-msgdb.el (elmo-msgdb-add-msgs-to-seen-list): Renamed from
6514         elmo-msgdb-add-msgs-to-seen-list-subr;
6515         Changed argument seen-marks to unread-marks.
6516
6517         * elmo-nntp.el: Rewrite with luna.
6518
6519 2001-01-22  Yuuichi Teranishi  <teranisi@gohome.org>
6520
6521         * elmo-filter.el: Rewrite with luna.
6522
6523 2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>
6524
6525         * elmo-pop3.el: Rewrite with luna.
6526
6527 2001-01-17  Yuuichi Teranishi  <teranisi@gohome.org>
6528
6529         * elmo-multi.el: Rewrite with luna.
6530
6531         * elmo-vars.el (elmo-use-killed-list): Abolish.
6532         All other related portions are changed.
6533         (elmo-filename-replace-string-alist): Renamed from
6534         elmo-msgid-replace-string-alist.
6535
6536 2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>
6537
6538         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument.
6539
6540         * elmo-map.el: New file.
6541         * elmo-maildir.el: Rewrite with luna.
6542
6543 2001-01-14  Yuuichi Teranishi  <teranisi@gohome.org>
6544
6545         * elmo.el: Changed meaning of `elmo-folder-commit'.
6546         * elmo-mime.el (elmo-mime-display-as-is-internal): New function.
6547
6548 2001-01-07  Yuuichi Teranishi  <teranisi@gohome.org>
6549
6550         * elmo.el (elmo-folder-append-buffer): New function.
6551         (Renamed from `elmo-append-msg')
6552
6553 2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>
6554
6555         * elmo-mime.el: New file.
6556
6557 2000-12-14  Yuuichi Teranishi  <teranisi@gohome.org>
6558
6559         * elmo-cache.el: Rewrite.
6560
6561 2000-02-17  Kenichi OKADA  <okada@opaopa.org>
6562
6563         * elmo-pop3.el (elmo-network-authenticate-session): Bind `sasl-mechanisms'
6564
6565 2000-12-08  Yuuichi Teranishi  <teranisi@gohome.org>
6566
6567         * elmo-vars.el (elmo): New group.
6568         (elmo-strict-diff-folder-regexp): New variable.
6569
6570         * elmo-util.el (elmo-call-func): Abolish.
6571         (elmo-folder-get-type): Ditto.
6572         (elmo-*-get-spec): Ditto.
6573         (elmo-*-spec-*): Ditto.
6574         (elmo-imap4-identical-name-space-p): Ditto.
6575         (elmo-folder-identical-system-p): Ditto.
6576         (elmo-folder-direct-copy-alist): Ditto.
6577         (elmo-folder-direct-copy-p): Ditto.
6578
6579         * elmo-pipe.el (elmo-pipe-folder): New luna class.
6580         (elmo-folder-initialize): Define.
6581         (elmo-folder-get-primitive-list): Ditto.
6582
6583         * elmo-nntp.el (elmo-nntp-folder): New luna class.
6584         (elmo-folder-initialize): Define.
6585         Renamed `elmo-network-session-host-internal' to
6586         `elmo-network-session-server-internal'.
6587
6588         * elmo-multi.el (elmo-multi-folder): New luna class.
6589         (elmo-folder-initialize): Define.
6590         (elmo-folder-get-primitive-list): Ditto.
6591         (elmo-folder-contains-type): Ditto.
6592         (elmo-message-use-cache-p): Ditto.
6593
6594         * elmo-msgdb.el (elmo-msgdb-expand-path): Abolish.
6595         Use `elmo-folder-msgdb-path' instead of `elmo-msgdb-expand-path'.
6596
6597         * elmo-maildir.el (elmo-maildir-folder): New luna class.
6598         (elmo-folder-initialize): Define.
6599
6600         * elmo-filter.el (elmo-filter-folder): New luna class.
6601         (elmo-folder-initialize): Define.
6602         (elmo-folder-get-primitive-list): Ditto.
6603         (elmo-folder-contains-type): Ditto.
6604
6605 2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>
6606
6607         * elmo-imap4.el: Rewrite with luna.
6608
6609         * mmimap.el: New file.
6610
6611         * mmelmo.el, mmelmo-imap4.el: Removed.
6612
6613         * elmo-net.el: Ditto.
6614
6615         * elmo-pop3.el (elmo-pop3-folder): New luna class.
6616         (elmo-folder-initialize): Define.
6617
6618         * elmo-archive.el (elmo-archive-folder): New luna class.
6619         (elmo-folder-initialize): Define.
6620
6621         * elmo-dop.el: Rename `elmo-msgdb-expand-path' to
6622         `elmo-folder-msgdb-path'.
6623         (elmo-dop-queue-append): Use `elmo-folder-name-internal' and
6624         `elmo-make-folder'.
6625
6626 2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>
6627
6628         * elmo.el: New file.
6629
6630         * elmo2.el: Renamed to elmo.el.
6631
6632 \f
6633 2001-02-01  OKAZAKI Tetsurou  <okazaki@be.to>
6634
6635         * elmo-cache.el (elmo-cache-expire-by-size): Count
6636         a disk usage for a cache file entry in KB even when
6637         its kind is a directory.
6638
6639 2001-02-01  Yuuichi Teranishi  <teranisi@gohome.org>
6640
6641         * elmo-version.el (elmo-version): Up to 2.5.7.
6642
6643 2001-01-23  TAKAHASHI Kaoru  <kaoru@kaisei.org>
6644
6645         * elmo-version.el (elmo-version): Up to 2.5.6.
6646
6647 2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>
6648
6649         * elmo-version.el (elmo-version): Up to 2.5.5.
6650
6651 2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
6652
6653         * elmo-imap4.el (elmo-network-authenticate-session):
6654         Fixed a logic for response checking.
6655
6656 2000-12-15   Daiki Ueno  <ueno@unixuser.org>
6657
6658         * elmo-net.el: Add autoload settings for `starttls-negotiate',
6659         `sasl-find-mechanism', `sasl-make-client', `sasl-mechanism-name',
6660         `sasl-next-step', `sasl-step-data' and `sasl-step-set-data'; bind
6661         `sasl-mechanisms'.
6662
6663         * elmo-imap4.el: Don't require `sasl'; remove autoload settings
6664         for `starttls-open-stream' and `starttls-negotiate'.
6665
6666         * elmo-nntp.el: Remove autoload settings for
6667         `starttls-open-stream' and `starttls-negotiate'.
6668
6669         * elmo-pop3.el: Don't require `sasl'; remove autoload settings
6670         for `starttls-open-stream' and `starttls-negotiate'; don't enclose
6671         `luna-define-class' with `eval-and-compile'.
6672
6673 2000-12-01  Kenichi OKADA  <okada@opaopa.org>
6674
6675         * elmo-util.el (elmo-read-search-condition-internal):
6676         Require an element of table for searching field.
6677
6678 2000-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
6679
6680         * elmo-version.el (elmo-version): Up to 2.5.4.
6681
6682 2000-11-26  Kenichi OKADA  <okada@opaopa.org>
6683
6684         * elmo-nntp.el (elmo-network-initialize-session): Accept response 20[01].
6685
6686 2000-11-24  Kenichi OKADA  <okada@opaopa.org>
6687
6688         * elmo-nntp.el (elmo-network-initialize-session): omitted.
6689
6690 2000-11-22  Kenichi OKADA  <okada@opaopa.org>
6691
6692         * elmo-nntp.el (elmo-network-initialize-session): Skip garbage output
6693         before greeting.
6694
6695 2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
6696
6697         * elmo-imap4.el (elmo-imap4-delete-folder):
6698         Send "close" before "delete" (Use commented out line).
6699         (elmo-imap4-rename-folder): Ditto.
6700
6701         * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
6702         folder string itself.
6703         (elmo-dop-list-deleted): New function.
6704         (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
6705         killed.
6706
6707         * elmo-util.el (elmo-string-rassoc-all): New function.
6708
6709 2000-11-22  Yuuichi Teranishi  <teranisi@gohome.org>
6710
6711         * elmo-version.el (elmo-version): Up to 2.5.3.
6712
6713         * elmo-net.el (elmo-network-get-session): Changed logic for
6714         checking process status.
6715
6716         * elmo-pop3.el (elmo-network-close-session): Do nothing if session
6717         process is nil;
6718         Changed logic for checking process status.
6719
6720 2000-11-20  Yuuichi Teranishi  <teranisi@gohome.org>
6721
6722         * elmo-pop3.el (elmo-network-initialize-session): Skip garbage output
6723         before greeting.
6724         (elmo-network-setup-session): Set UIDL hash size according to
6725         the length of list response.
6726         (elmo-pop3-parse-list-response): Setup elmo-pop3-size-hash
6727         according to the length of list response;
6728         Return the length of list response.
6729         (Adviced by OKAZAKI Tetsurou <okazaki@be.to>)
6730
6731 2000-11-21  Kenichi OKADA  <okada@opaopa.org>
6732
6733         * elmo-imap4.el (toplevel): Require 'ssl.
6734         Add autoload 'starttls.
6735         * elmo-pop3.el (toplevel): Ditto.
6736         * elmo-nntp.el (toplevel): Ditto.
6737
6738 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6739
6740         * elmo-imap4.el (toplevel): defun at compile time.
6741         sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
6742         sasl-next-step, sasl-step-data, sasl-step-set-data.
6743         * elmo-pop3.el (toplevel): Ditto.
6744
6745 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6746
6747         * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
6748
6749 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6750
6751         * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
6752         if error.
6753         (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
6754         and `elmo-pop-auth-apop'.
6755
6756 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6757
6758         * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
6759
6760 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6761
6762         * elmo-pop3.el (elmo-network-authenticate-session): Split
6763         encoded response value.
6764
6765 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6766
6767         * elmo-pop3.el (elmo-network-authenticate-session): Abolish
6768         `elmo-pop3-force-login'.
6769         Redefine `sasl-mechanisms'.
6770         * elmo-vars.el (elmo-pop3-force-login): Ditto.
6771
6772 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6773
6774         * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
6775         Delete `elmo-imap4-authenticator-alist'.
6776         (elmo-imap4-auth-cram-md5): Delete.
6777         (elmo-imap4-auth-digest-md5): Delete.
6778
6779 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6780
6781         * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
6782         (elmo-pop3-auth-scram-md5): Ditto.
6783         (elmo-pop3-auth-cram-md5): Ditto.
6784
6785 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
6786
6787         * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
6788         Delete `elmo-pop3-authenticator-alist'.
6789
6790 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
6791
6792         * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
6793         new SASL API.
6794         * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
6795
6796 2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
6797
6798         * elmo-util.el (elmo-folder-local-p): Treat pipe and filter.
6799
6800 2001-01-19  Yuuichi Teranishi  <teranisi@gohome.org>
6801
6802         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
6803         Fixed problem when `elmo-pop3-use-uidl' is nil.
6804         (Reported by Takenobu Sugiyama <sugiyama@ae.advantest.co.jp>)
6805
6806 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
6807
6808         * elmo-version.el (elmo-version): Up to 2.5.2.
6809
6810 2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>
6811
6812         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
6813         New function.
6814         (elmo-pop3-sort-msgdb-by-original-number): Ditto.
6815         (elmo-pop3-msgdb-create-as-numlist): Use it.
6816
6817         * elmo-imap4.el (elmo-imap4-arrival-filter): Check process-buffer.
6818         (Based on the report by AMAKAWA Shuhei <sa264@cam.ac.uk>)
6819
6820         * elmo-pop3.el (elmo-pop3-msgdb-create-as-numlist): Sort msgdb by date.
6821         (Pointed out by Mikiya Tani <m-tani@hml.cl.nec.co.jp>)
6822
6823 2001-01-13 Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
6824
6825         * elmo2.el (elmo-make-folder-numbers-list): Fixed problem
6826         when elmo-mark-as-read is called with second argument nil.
6827
6828 2001-01-12  Yuuichi Teranishi  <teranisi@gohome.org>
6829
6830         * elmo-pipe.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
6831         Moved to elmo-util.el.
6832
6833         * elmo-util.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
6834         Moved from elmo-pipe.el
6835
6836         * elmo-archive.el (elmo-archive-call-process): Enclose with
6837         static-if.
6838
6839         * elmo-imap4.el (elmo-imap4-read-msg): Use "BODY[]" instead of
6840         "RFC822" (because RFC822.PEEK is obsolete).
6841         (Adviced by IMAI Takeshi <imai@on.rim.or.jp>)
6842
6843 2001-01-10  Katsumi Yamaoka    <yamaoka@jpl.org>
6844
6845         * elmo-archive.el (elmo-archive-call-process): Don't check for
6846         the exit status when Nemacs is running.
6847
6848 2001-01-09  Yuuichi Teranishi  <teranisi@gohome.org>
6849
6850         * elmo-net.el (elmo-network-session-password-key): Don't set default to
6851         'plain.
6852
6853         * elmo-util.el (elmo-imap4-get-spec): Set default of auth to 'clear.
6854         (elmo-pop3-get-spec): Set default of auth to 'user.
6855
6856         * elmo-imap4.el (elmo-imap4-session-check):
6857         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
6858         (elmo-imap4-clear-login): New function; Renamed from `elmo-imap4-login'.
6859         (elmo-imap4-auth-login): New function; Revival.
6860         (elmo-network-authenticate-session): Use `elmo-imap4-clear-login' and
6861         `elmo-imap4-auth-login'.
6862
6863 2000-12-29  TAKAHASHI Kaoru  <kaoru@kaisei.org>
6864
6865         * elmo2.el (toplevel): Move `product-provide' declare.
6866         * mmelmo.el (toplevel): Ditto.
6867
6868 2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
6869
6870         * elmo-util.el (elmo-folder-get-store-type): Rewrite.
6871
6872 2000-12-26  OKAZAKI Tetsurou <okazaki@be.to>
6873
6874         * elmo-util.el (elmo-folder-get-store-type): New function.
6875         (elmo-folder-direct-copy-p): Use it.
6876
6877 2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
6878
6879         * elmo-imap4.el (elmo-imap4-msgdb-create): Set
6880         `elmo-imap4-fetch-callback-data' as a cons cell of `args'
6881         and result of `elmo-imap4-use-flag-p'.
6882         (elmo-imap4-fetch-callback-1): Set mark according to
6883         the result of `elmo-imap4-use-flag-p'.
6884
6885 2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
6886
6887         * elmo-msgdb.el (elmo-generic-folder-diff): Moved from elmo2.el
6888         (elmo-generic-list-folder-unread): Ditto.
6889         (elmo-folder-get-info): Ditto.
6890         (elmo-folder-set-info-max-by-numdb): Ditto.
6891         (elmo-folder-get-info-max): Ditto.
6892         (elmo-folder-get-info-length): Ditto.
6893         (elmo-folder-get-info-unread): Ditto.
6894         (elmo-folder-info-make-hashtb): Ditto.
6895
6896         * elmo2.el: Removed above functions.
6897
6898 2000-11-21  Kenichi OKADA  <okada@opaopa.org>
6899
6900         * elmo-imap4.el (toplevel): Require 'ssl.
6901         Add autoload 'starttls.
6902         * elmo-pop3.el (toplevel): Ditto.
6903         * elmo-nntp.el (toplevel): Ditto.
6904
6905 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6906
6907         * elmo-imap4.el (toplevel): defun at compile time.
6908         sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
6909         sasl-next-step, sasl-step-data, sasl-step-set-data.
6910         * elmo-pop3.el (toplevel): Ditto.
6911
6912 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6913
6914         * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
6915
6916 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6917
6918         * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
6919         if error.
6920         (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
6921         and `elmo-pop-auth-apop'.
6922
6923 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6924
6925         * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
6926
6927 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6928
6929         * elmo-pop3.el (elmo-network-authenticate-session): Split
6930         encoded response value.
6931
6932 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6933
6934         * elmo-pop3.el (elmo-network-authenticate-session): Abolish
6935         `elmo-pop3-force-login'.
6936         Redefine `sasl-mechanisms'.
6937         * elmo-vars.el (elmo-pop3-force-login): Ditto.
6938
6939 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6940
6941         * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
6942         Delete `elmo-imap4-authenticator-alist'.
6943         (elmo-imap4-auth-cram-md5): Delete.
6944         (elmo-imap4-auth-digest-md5): Delete.
6945
6946 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
6947
6948         * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
6949         (elmo-pop3-auth-scram-md5): Ditto.
6950         (elmo-pop3-auth-cram-md5): Ditto.
6951
6952 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
6953
6954         * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
6955         Delete `elmo-pop3-authenticator-alist'.
6956
6957 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
6958
6959         * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
6960         new SASL API.
6961         * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
6962
6963 \f
6964 2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>
6965
6966         * elmo-nntp.el (elmo-nntp-get-folders-info): Fixed last change.
6967
6968 2000-12-01  Yuuichi Teranishi  <teranisi@gohome.org>
6969
6970         * elmo-nntp.el (elmo-nntp-get-folders-info):
6971         Fixed problem when '\' character is contained in user-id.
6972         (Reported by Yoichiro Okabe <okabe@wizsoft.co.jp>)
6973
6974 \f
6975 2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
6976
6977         * elmo-imap4.el (elmo-imap4-delete-folder):
6978         Send "close" before "delete" (Use commented out line).
6979         (elmo-imap4-rename-folder): Ditto.
6980
6981         * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
6982         folder string itself.
6983         (elmo-dop-list-deleted): New function.
6984         (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
6985         killed.
6986
6987         * elmo-util.el (elmo-string-rassoc-all): New function.
6988
6989         * elmo-version.el (elmo-version): Up to 2.5.1.
6990
6991 2000-11-13  Yuuichi Teranishi  <teranisi@gohome.org>
6992
6993         * elmo-pop3.el (elmo-pop3-folder-exists-p): Don't use UIDL.
6994
6995         * elmo-internal.el (elmo-internal-search): Fix last change.
6996
6997 2000-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
6998
6999         * elmo-internal.el (elmo-internal-search): Rewrite.
7000         (Fixed problem which is pointed out by Akihiro MOTOKI
7001         <motoki@da.jp.nec.com>)
7002
7003         * elmo-version.el (elmo-version): Up to 2.5.0.
7004
7005 2000-11-06  Kenichi OKADA  <okada@opaopa.org>
7006
7007         * elmo-imap4.el (elmo-imap4-list-folders): Append authenticate-type.
7008
7009 2000-11-06  Kenichi OKADA  <okada@opaopa.org>
7010
7011         * elmo-imap4.el (elmo-imap4-list-folders): When hierarchy is
7012         non-nil, make hierarchy.
7013
7014 2000-11-05  OKAZAKI Tetsurou  <okazaki@be.to>
7015
7016         * elmo-pipe.el (elmo-pipe-drain): When calling `elmo-list-folder',
7017         `elmo-pop3-use-uidl' must be bound to nil.
7018         (Pointed out by Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>)
7019
7020 2000-11-02  Yuuichi Teranishi  <teranisi@gohome.org>
7021
7022         * elmo-util.el (elmo-copy-file): Don't cause an error after
7023         `add-name-to-file' failed.
7024
7025         * elmo-pipe.el (elmo-pipe-drain): List folder before loading msgdb.
7026         (Fix by HIROSE Yuuji <yuuji@gentei.org>)
7027
7028 2000-11-01  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7029
7030         * elmo-version.el (elmo-version): Up to 2.3.93.
7031
7032 2000-11-01  Yuuichi Teranishi  <teranisi@gohome.org>
7033
7034         * elmo-util.el (elmo-flatten): New function.
7035
7036 2000-10-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7037
7038         * elmo-archive.el (toplevel): Added (C) to copyright notice, and
7039         sync Author header.
7040         * elmo-cache.el (toplevel): Ditto.
7041         * elmo-database.el (toplevel): Ditto.
7042         * elmo-date.el (toplevel): Ditto.
7043         * elmo-dop.el (toplevel): Ditto.
7044         * elmo-filter.el (toplevel): Ditto.
7045         * elmo-imap4.el (toplevel): Ditto.
7046         * elmo-internal.el (toplevel): Ditto.
7047         * elmo-localdir.el (toplevel): Ditto.
7048         * elmo-localnews.el (toplevel): Ditto.
7049         * elmo-maildir.el (toplevel): Ditto.
7050         * elmo-msgdb.el (toplevel): Ditto.
7051         * elmo-multi.el (toplevel): Ditto.
7052         * elmo-net.el (toplevel): Ditto.
7053         * elmo-nntp.el (toplevel): Ditto.
7054         * elmo-pipe.el (toplevel): Ditto.
7055         * elmo-pop3.el (toplevel): Ditto.
7056         * elmo-util.el (toplevel): Ditto.
7057         * elmo-vars.el (toplevel): Ditto.
7058         * elmo2.el (toplevel): Ditto.
7059         * mmelmo-imap4.el (toplevel): Ditto.
7060         * mmelmo.el (toplevel): Ditto.
7061
7062         * elmo-version.el (elmo-version): Move to top.
7063
7064         * elmo-cache.el (toplevel): Fixed multiple Author header format.
7065         * elmo-imap4.el (toplevel): Ditto.
7066         * elmo-localdir.el (toplevel): Ditto.
7067         * elmo-msgdb.el (toplevel): Ditto.
7068         * elmo-nntp.el (toplevel): Ditto.
7069         * elmo-pop3.el (toplevel): Ditto.
7070         * elmo-version.el (toplevel): Ditto.
7071
7072         * elmo-localnews.el (toplevel): Added Keyword header.
7073
7074 2000-10-31  Yuuichi Teranishi  <teranisi@gohome.org>
7075
7076         * elmo-version.el (product-version-as-string): Defined using
7077         `defun-maybe'.
7078         (toplevel): Use it.
7079
7080         * elmo-localdir.el (toplevel): Updated copyright notice.
7081         * elmo-version.el (toplevel): Ditto.
7082         * elmo-msgdb.el (toplevel): Ditto.
7083         * elmo-imap4.el (toplevel): Ditto.
7084         * elmo-nntp.el (toplevel): Ditto.
7085         * elmo-pop3.el (toplevel): Ditto.
7086
7087 2000-10-30  Yuuichi Teranishi  <teranisi@gohome.org>
7088
7089         * elmo-pipe.el (elmo-pipe-drain): Don't save msgdb after moving
7090         messages.
7091
7092         * mmelmo.el (mime-parse-parameters-from-list): Don't downcase
7093         parameter value (It sometimes contains raw kanji).
7094
7095 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7096
7097         * elmo-imap4.el (elmo-network-initialize-session): Check capability.
7098         * elmo-pop3.el (elmo-network-initialize-session): Ditto.
7099
7100 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7101
7102         * elmo-imap4.el (elmo-network-initialize-session): Fix.
7103
7104 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7105
7106         * elmo-imap4.el (elmo-network-initialize-session): Change error message.
7107         * elmo-pop3.el (elmo-network-initialize-session): Change error message.
7108
7109 2000-10-27  Yuuichi Teranishi  <teranisi@gohome.org>
7110
7111         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Return response
7112         value if selecting folder succceeded.
7113         (Advised by MII Kazuyoshi <mii@isl.ntt.co.jp> for prom-wl.)
7114
7115 2000-10-26  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7116
7117         * elmo-util.el (elmo-make-directory): Fixed permission lateral
7118         representation.
7119
7120         * elmo-util.el (elmo-string-matched-member): New function.
7121
7122 2000-10-26  Yuuichi Teranishi  <teranisi@gohome.org>
7123
7124         * elmo-util.el (elmo-unintern): New macro.
7125         (elmo-number-set-member): Fixed docstring.
7126
7127         * elmo-imap4.el (elmo-imap4-parse-response): Call `elmo-unintern' for
7128         tag token.
7129
7130 2000-10-25  OKAZAKI Tetsurou  <okazaki@be.to>
7131
7132         * elmo-imap4.el (elmo-imap4-client-eol): Remove duplicated defvar
7133         of `elmo-imap4-status' and `elmo-imap4-reached-tag'.
7134
7135 2000-10-24  Yuuichi Teranishi  <teranisi@gohome.org>
7136
7137         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Added argument
7138         `no-error'.
7139         Added docstring.
7140         Return non-nil if selecting folder succeeded.
7141         (elmo-imap4-folder-exists-p): Call with argument 'no-error.
7142
7143 2000-10-23  Yuuichi Teranishi  <teranisi@gohome.org>
7144
7145         * elmo-maildir.el (elmo-maildir-get-filename): Fixed problem when
7146         `file-name-completion' returns t.
7147         (Reported by Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>)
7148         (elmo-maildir-set-mark): Put `info' part to the files in the cur
7149         directory if it does not exist.
7150         (elmo-maildir-update-current): Use `while' instead of `mapcar'
7151         for iteration.
7152
7153 2000-10-20  Yuuichi Teranishi  <teranisi@gohome.org>
7154
7155         * elmo-imap4.el (elmo-imap4-folder-exists-p): Removed `condition-case'
7156         enclosure (It's harmful in unplugged status).
7157
7158         * elmo-pop3.el (elmo-pop3-folder-exists-p): Ditto.
7159
7160         * mmelmo-1.el: Removed.
7161
7162         * mmelmo-2.el: Ditto.
7163
7164         * mmelmo-imap4-1.el: Ditto.
7165
7166         * mmelmo-imap4-2.el: Ditto.
7167
7168         * mmelmo-imap4.el: Merged mmelmo-imap4-2.el
7169
7170         * mmelmo.el: Merged mmelmo-2.el.
7171
7172         * elmo-version.el (elmo-version): Up to 2.3.92.
7173
7174 2000-10-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7175
7176         * elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
7177         elmo-update-number): Remove last period in "...done." message.
7178         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
7179         Ditto.
7180         * elmo-cache.el (elmo-cache-expire-by-size,
7181         elmo-cache-get-sorted-cache-file-list,
7182         elmo-cache-msgdb-create-as-numlist): Ditto.
7183         * elmo-dop.el (elmo-dop-save-pending-messages,
7184         (elmo-dop-flush-pending-append-operations): Ditto.
7185         * elmo-imap4.el (elmo-imap4-msgdb-create): Ditto.
7186         * elmo-internal.el (elmo-internal-msgdb-create): Ditto.
7187         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist,
7188         (elmo-localdir-pack-number): Ditto.
7189         * elmo-maildir.el (elmo-maildir-msgdb-create): Ditto.
7190         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Ditto.
7191         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer,
7192         mime-write-entity-content): Ditto.
7193         * pldap.el (ldap-search-basic): Ditto.
7194
7195 2000-10-18  Yuuichi Teranishi  <teranisi@gohome.org>
7196
7197         * elmo-version.el (elmo-version): Up to 2.3.91.
7198
7199         * elmo-filter.el (elmo-filter-folder-diff): Use target folder's diff
7200         Only when filter is 'last'.
7201
7202         * elmo-util.el (elmo-condition-atom-regexp): New constant.
7203         (elmo-condition-parse-search-value): Use it.
7204         (elmo-read-search-condition-internal): Quote value only when
7205         it is not an atom.
7206
7207 2000-10-18  Kenichi OKADA  <okada@opaopa.org>
7208
7209         * elmo2.el (elmo-generic-folder-diff): Fix.
7210
7211 2000-10-17  Kenichi OKADA  <okada@opaopa.org>
7212
7213         * elmo-msgdb.el (elmo-msgdb-killed-list-length): New function.
7214         * elmo-localdir.el (elmo-localdir-list-folder-subr): Fix.
7215         * elmo-maildir.el (elmo-maildir-list-folder-subr): Fix.
7216         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
7217         * elmo-internal.el (elmo-internal-list-folder-subr): Fix.
7218         * elmo-imap4.el (elmo-imap4-max-of-folder): Fix.
7219
7220 2000-10-17  Akihiro MOTOKI <motoki@da.jp.nec.com>
7221
7222         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Search by
7223         extra-fields.
7224
7225 2000-10-17  Yuuichi Teranishi  <teranisi@gohome.org>
7226
7227         * elmo-version.el (elmo-version): Up to 2.3.90.
7228
7229         * elmo-imap4.el (elmo-imap4-list-folder-unread): Check plugged status.
7230         (elmo-imap4-list-folder-important): Ditto.
7231
7232 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
7233
7234         * elmo-nntp.el (elmo-network-initialize-session): Fix.
7235
7236 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
7237
7238         * elmo-nntp.el (elmo-nntp-read-msg): Don't error.
7239
7240 2000-10-15  Kenichi OKADA  <okada@opaopa.org>
7241
7242         * elmo-nntp.el (elmo-network-initialize-session):
7243         Add starttls negotiation.
7244
7245 2000-10-15  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
7246
7247         * elmo-nntp.el (elmo-network-initialize-session): Read greeting
7248         response.
7249         (elmo-network-setup-session): Define.
7250         Call `elmo-nntp-send-mode-reader' when session opened.
7251
7252 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
7253
7254         * elmo-multi.el (elmo-multi-list-folder-unread): Fixed.
7255
7256 2000-10-13  OKAZAKI Tetsurou  <okazaki@be.to>
7257
7258         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Remove
7259         an invalid SPACE character ahead of `SEARCH' command.  Move
7260         a valid SPACE character following `SEARCH' from conditional
7261         `format' arguments to control-strings.
7262
7263 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
7264
7265         * elmo2.el (elmo-call-func-on-markable-msgs): Return t if marking
7266         was succeeded.
7267
7268         * elmo-util.el (elmo-folder-get-spec): Enclose with save-match-data.
7269
7270 2000-10-12  Yuuichi Teranishi  <teranisi@gohome.org>
7271
7272         * elmo-localdir.el (elmo-localdir-list-folders-subr): Bind
7273         `w32-get-true-file-link-count' as t.
7274
7275         * elmo-imap4.el (elmo-imap4-read): Abolished.
7276         (Renamed to `elmo-read' and moved to elmo-util.el)
7277         All other related portions are changed.
7278
7279         * elmo-util.el (elmo-read): New function.
7280         (elmo-condition-parse-search-value): Use it.
7281
7282 2000-10-11  Yuuichi Teranishi  <teranisi@gohome.org>
7283
7284         * elmo2.el (elmo-quit): Don't use `elmo-nntp-flush-connection'.
7285
7286         * elmo-nntp.el (elmo-nntp-session): Define.
7287         (elmo-nntp-setting): Abolished.
7288         All other related portions are changed.
7289         (elmo-nntp-get-server-command): Changed argument.
7290         (elmo-nntp-set-server-command): Ditto.
7291         (elmo-nntp-xover-p): Ditto.
7292         (elmo-nntp-set-xover): Ditto.
7293         (elmo-nntp-listgroup-p): Ditto.
7294         (elmo-nntp-set-listgroup): Ditto.
7295         (elmo-nntp-list-active-p): Ditto.
7296         (elmo-nntp-set-list-active): Ditto.
7297         (elmo-nntp-xhdr-p): Ditto.
7298         (elmo-nntp-set-xhdr): Ditto.
7299         (elmo-nntp-flush-connection): Abolished.
7300         (elmo-nntp-get-connection): Abolished.
7301         (elmo-nntp-get-session): New function.
7302         (elmo-network-initialize-session): Defined.
7303         (elmo-network-authenticate-session): Ditto.
7304         (elmo-nntp-send-mode-reader): Changed argument.
7305         (elmo-nntp-send-command): Changed argument.
7306         All other related portions are changed.
7307         (elmo-nntp-read-response): Ditto.
7308         (elmo-nntp-read-raw-response): Ditto.
7309         (elmo-nntp-read-contents): Ditto.
7310         (elmo-nntp-read-body): Ditto.
7311         (elmo-nntp-goto-folder): Abolished.
7312         (elmo-nntp-select-group): New function.
7313         All other related portions are changed.
7314         (This function substitutes `elmo-nntp-goto-folder')
7315         (elmo-nntp-msgdb-create-by-header): Rewrite.
7316         (elmo-nntp-get-overview): Eliminated.
7317         (elmo-nntp-get-message): Ditto.
7318         (elmo-nntp-open-connection) Abolished.
7319         (elmo-nntp-read-msg): Rewrite.
7320         (elmo-nntp-post): Ditto.
7321         (elmo-nntp-send-data): Abolished.
7322         (elmo-nntp-send-buffer): New function.
7323         (elmo-nntp-send-data-line): Define as inline function.
7324         (elmo-nntp-get-folders-info-prepare): Use session as key.
7325         (elmo-nntp-groups-read-response): Changed argument.
7326         (elmo-nntp-retrieve-headers): Ditto.
7327         (elmo-nntp-msgdb-create-message): Ditto.
7328
7329         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Fixed problem
7330         when searching by 'since' or 'before'.
7331
7332 2000-10-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7333
7334         * elmo-version.el (toplevel): Use product-version-as-string for set
7335         verstion-string, if defined.
7336
7337 2000-10-11  OKAZAKI Tetsurou  <okazaki@be.to>
7338
7339         * elmo-util.el: Doc fixes.
7340
7341 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7342
7343         * elmo-archive.el (toplevel): Use product-provide.
7344         * elmo-cache.el (toplevel): Ditto.
7345         * elmo-database.el (toplevel): Ditto.
7346         * elmo-date.el (toplevel): Ditto.
7347         * elmo-dop.el (toplevel): Ditto.
7348         * elmo-filter.el (toplevel): Ditto.
7349         * elmo-imap4.el (toplevel): Ditto.
7350         * elmo-internal.el (toplevel): Ditto.
7351         * elmo-localdir.el (toplevel): Ditto.
7352         * elmo-localnews.el (toplevel): Ditto.
7353         * elmo-maildir.el (toplevel): Ditto.
7354         * elmo-msgdb.el (toplevel): Ditto.
7355         * elmo-multi.el (toplevel): Ditto.
7356         * elmo-net.el (toplevel): Ditto.
7357         * elmo-nntp.el (toplevel): Ditto.
7358         * elmo-pipe.el (toplevel): Ditto.
7359         * elmo-pop3.el (toplevel): Ditto.
7360         * elmo-util.el (toplevel): Ditto.
7361         * elmo-vars.el (toplevel): Ditto.
7362         * elmo2.el (toplevel): Ditto.
7363         * mmelmo-1.el (toplevel): Ditto.
7364         * mmelmo-2.el (toplevel): Ditto.
7365         * mmelmo-imap4-1.el (toplevel): Ditto.
7366         * mmelmo-imap4-2.el (toplevel): Ditto.
7367         * mmelmo-imap4.el (toplevel): Ditto.
7368         * mmelmo.el (toplevel): Ditto.
7369
7370 2000-10-10  Kenichi OKADA  <okada@opaopa.org>
7371
7372         * elmo-dop.el (elmo-dop-flush-pending-append-operations): Add no-see.
7373         (elmo-dop-call-func-on-msgs): Don't delete appends from msgs.
7374
7375 2000-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
7376
7377         * elmo-multi.el (elmo-multi-split-mark-alist): Copy and sort alist
7378         before splitting.
7379         (elmo-multi-split-number-alist): Ditto.
7380
7381 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7382
7383         * elmo-version.el: New file.  Use product.el.
7384         * elmo2.el: Add (require 'elmo-version).
7385         * elmo-vars.el (elmo-appname, elmo-version): Move to
7386         elmo-version.el
7387
7388 2000-10-09  Yuuichi Teranishi  <teranisi@gohome.org>
7389
7390         * elmo2.el (elmo-copy-msgs): Set `spec' as 1st argument for
7391         `elmo-msgdb-expand-path'.
7392         (elmo-msgdb-load): Ditto.
7393         Abolished 2nd argument. If 1st argument is not string, treat as spec.
7394         (elmo-generic-list-folder-unread): Rewrite.
7395         (elmo-generic-list-folder-important): Changed argument.
7396         (elmo-list-folder-unread): Ditto.
7397         (elmo-list-folder-important): Ditto.
7398         (elmo-folder-diff): Rewrite.
7399         (elmo-generic-folder-diff): New function.
7400         (elmo-multi-get-number-alist-list): Abolished
7401         (Renamed to elmo-multi-split-number-alist and moved to elmo-multi.el)
7402         (elmo-multi-folder-diff): Moved to elmo-multi.el
7403         (toplevel): Removed autoload setting of `elmo-multi-folder-diff'.
7404
7405         * elmo-pop3.el (elmo-pop3-list-folder): Set `spec' as 1st argument for
7406         `elmo-msgdb-expand-path'.
7407         (elmo-pop3-msgdb-create-as-numlist): Ditto.
7408         (elmo-pop3-read-msg): Ditto.
7409         (elmo-pop3-delete-msgs): Ditto.
7410         (elmo-pop3-folder-diff): New alias.
7411
7412         * elmo-pipe.el (elmo-pipe-list-folder): Set `spec' as 1st argument for
7413         `elmo-msgdb-expand-path'.
7414         (elmo-pipe-list-folder-unread): Changed arguments.
7415         (elmo-pipe-list-folder-important): Ditto.
7416         (elmo-pipe-folder-diff): New alias.
7417
7418         * elmo-nntp.el (elmo-nntp-list-folder): Set `spec' as 1st argument for
7419         `elmo-msgdb-expand-path'.
7420         (elmo-nntp-max-of-folder): Ditto.
7421         (elmo-nntp-msgdb-create): Ditto.
7422         (elmo-nntp-delete-msgs): Ditto.
7423         (elmo-nntp-folder-diff): New alias.
7424
7425         * elmo-multi.el (elmo-multi-folder-diff): New function.
7426         (elmo-multi-split-mark-alist): Ditto.
7427         (elmo-multi-split-number-alist): Ditto.
7428         (elmo-multi-mark-alist-list): Abolished (Renamed to
7429         elmo-multi-split-mark-alist).
7430         (elmo-multi-list-folder-unread): Rewrite.
7431         (elmo-multi-list-folder-important): Ditto.
7432         (elmo-multi-list-folder): Set `spec' as 1st argument for
7433         `elmo-msgdb-expand-path'.
7434         (elmo-multi-sync-number-alist): Use `elmo-multi-split-number-alist'
7435         instead of `elmo-multi-get-number-alist-list'.
7436
7437         * elmo-msgdb.el (elmo-msgdb-expand-path): Abolished 2nd argument.
7438         If 1st argument is not string, treat as spec.
7439         (elmo-list-folder-by-location): Set `spec' as 1st argument for
7440         `elmo-msgdb-expand-path'.
7441         (elmo-msgdb-flist-load): Ditto.
7442         (elmo-msgdb-flist-save): Ditto.
7443         (elmo-msgdb-delete-path): Ditto.
7444         (elmo-msgdb-rename-path): Ditto.
7445
7446         * elmo-maildir.el (elmo-maildir-set-mark-msgs):
7447         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
7448         (elmo-maildir-delete-mark-msgs): Ditto.
7449         (elmo-maildir-msgdb-create): Ditto.
7450         (elmo-maildir-read-msg): Ditto.
7451         (elmo-maildir-delete-msgs): Ditto.
7452         (elmo-maildir-list-folder-subr): Ditto.
7453         (elmo-maildir-search): Ditto.
7454         (elmo-maildir-get-msg-filename): Ditto.
7455         (elmo-maildir-pack-number): Ditto.
7456         (elmo-maildir-folder-diff): New alias.
7457
7458         * elmo-localnews.el (elmo-localnews-folder-diff): New alias.
7459
7460         * elmo-localdir.el (elmo-localdir-list-folder-subr):
7461         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
7462         (elmo-localdir-folder-diff): New alias.
7463
7464         * elmo-internal.el (elmo-internal-list-folder-subr):
7465         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
7466         (elmo-internal-list-folder-by-location): Ditto.
7467         (elmo-internal-msgdb-create): Ditto.
7468         (elmo-internal-delete-msgs): Ditto.
7469         (elmo-internal-read-msg): Ditto.
7470         (elmo-internal-folder-diff): New alias.
7471
7472         * elmo-imap4.el (elmo-imap4-folder-diff): New function.
7473         (elmo-imap4-list-folder): Set `spec' as 1st argument for
7474         `elmo-msgdb-expand-path'.
7475         (elmo-imap4-list-folder-unread): Changed arguments.
7476         (elmo-imap4-list-folder-important): Ditto.
7477
7478         * elmo-filter.el (elmo-filter-list-folder-unread): Changed arguments.
7479         (elmo-filter-list-folder-important): Ditto.
7480         (elmo-filter-folder-diff): New function.
7481
7482         * elmo-dop.el (elmo-dop-folder-exists-p): Check elmo directory first.
7483
7484         * elmo-cache.el (elmo-cache-list-folder):
7485         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
7486         (elmo-cache-copy-msgs): Ditto.
7487         (elmo-cache-folder-diff): New alias.
7488
7489         * elmo-archive.el (elmo-archive-list-folder-subr):
7490         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
7491         (elmo-archive-get-archive-name): Ditto.
7492         (elmo-archive-create-file): Ditto.
7493         (elmo-archive-append-msg): Ditto.
7494         (elmo-archive-copy-msgs): Ditto.
7495         (elmo-archive-copy-msgs-froms): Ditto.
7496         (elmo-archive-get-msg-filename): Ditto.
7497         (elmo-archive-folder-diff): New alias.
7498
7499 2000-10-06   Daiki Ueno  <ueno@unixuser.org>
7500
7501         * elmo-vars.el (elmo-imap4-stream-type-alist): New variable.
7502         (elmo-pop3-stream-type-alist): New variable.
7503         (elmo-nntp-stream-type-alist): New variable.
7504
7505         * elmo-util.el (elmo-buffer-exists-p): Rewrite as function.
7506         (elmo-kill-buffer): Ditto.
7507         (elmo-get-network-stream-type): Add 2nd argument `stream-type-alist'.
7508         (elmo-network-get-spec): Add 5th argument `stream-type-alist'.
7509         (elmo-nntp-get-spec): Take into account `elmo-nntp-stream-type-alist'.
7510         (elmo-pop3-get-spec): Take into account `elmo-pop3-stream-type-alist'.
7511         (elmo-imap4-get-spec): Take into account
7512         `elmo-imap4-stream-type-alist'.
7513
7514 2000-10-06  Kenichi OKADA  <okada@opaopa.org>
7515
7516         * elmo-nntp.el (elmo-nntp-list-folders): Fix for `-/'
7517         (elmo-nntp-list-folders-get-cache): Ditto.
7518
7519 2000-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
7520
7521         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added space
7522         character before 'uid'.
7523
7524 2000-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
7525
7526         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Don't save location data.
7527
7528         * elmo-nntp.el (elmo-nntp-max-of-folder): Fixed.
7529
7530         * elmo-util.el (elmo-number-set-member): New function.
7531         (elmo-number-set-append-list): Ditto.
7532         (elmo-number-set-append): Ditto.
7533
7534         * elmo-msgdb.el (elmo-msgdb-killed-message-p):
7535         Use `elmo-number-set-member'.
7536         (elmo-living-messages): Ditto.
7537         (elmo-msgdb-set-as-killed): Use `elmo-number-set-append'.
7538         (elmo-msgdb-append-to-killed-list): Use `elmo-number-set-append-list'.
7539
7540         * elmo-imap4.el (elmo-imap4-folder-exists-p): Rewrite.
7541         (elmo-imap4-add-to-cont-list): Abolished.
7542         (elmo-imap4-make-number-set-list): Use `elmo-number-set-append'
7543         instead of elmo-imap4-add-to-cont-list.
7544
7545         * elmo2.el (elmo-msgdb-search): Moved from elmo-msgdb.el.
7546         (toplevel): Removed autoload setting for `elmo-imap4-get-connection'.
7547
7548         * elmo-msgdb.el (elmo-msgdb-search): Moved to elmo2.el.
7549
7550 2000-10-03  Hiroya Murata      <lapis-lazuli@pop06.odn.ne.jp>
7551
7552         * elmo-util.el (elmo-condition-parse-search-value):
7553         Fixed date parsing.
7554
7555 2000-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
7556
7557         * elmo-util.el (elmo-condition-find-key-internal): New function.
7558         (elmo-condition-find-key): Ditto.
7559
7560         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): New function.
7561         (elmo-msgdb-search-internal): Ditto.
7562         (elmo-msgdb-search): Ditto.
7563
7564 2000-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
7565
7566         * elmo-util.el (elmo-cross-device-link-error-p): Abolished.
7567         (elmo-copy-file): Uncheck error condition for `add-name-to-file'.
7568
7569         * elmo-nntp.el (elmo-nntp-search-primitive): Decode header field.
7570         (elmo-nntp-search-primitive): Fixed problem when condition is
7571         'unmatch'.
7572
7573         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed.
7574
7575         * elmo-nntp.el (elmo-nntp-default-use-xhdr): New variable.
7576         (elmo-nntp-xhdr-p): New macro.
7577         (elmo-nntp-set-xhdr): Ditto.
7578         (elmo-nntp-parse-xhdr-response): New function.
7579         (elmo-nntp-retrieve-field): Ditto.
7580         (elmo-nntp-search-primitive): Ditto.
7581         (elmo-nntp-search): Implemented.
7582
7583         * elmo-date.el (elmo-date-make-sortable-string): New macro.
7584
7585         * elmo-archive.el (elmo-archive-search): Set all number list to
7586         `elmo-archive-field-condition-match'
7587
7588         * elmo-localdir.el (elmo-localdir-search): Likewise.
7589
7590         * elmo-maildir.el (elmo-maildir-search): Likewise.
7591
7592 2000-10-01  OKAZAKI Tetsurou  <okazaki@be.to>
7593
7594         * elmo-msgdb.el (elmo-living-messages): New function.
7595         * elmo-archive.el (elmo-archive-list-folder-subr): Use it.
7596         * elmo-cache.el (elmo-cache-list-folder): Ditto.
7597         * elmo-dop.el (elmo-dop-list-folder): Ditto.
7598         * elmo-imap4.el (elmo-imap4-list-folder): Ditto.
7599         * elmo-internal.el (elmo-internal-list-folder-subr): Ditto.
7600         * elmo-localdir.el (elmo-localdir-list-folder-subr): Ditto.
7601         * elmo-maildir.el (elmo-maildir-list-folder-subr): Ditto.
7602         * elmo-multi.el (elmo-multi-list-folder): Ditto.
7603         * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
7604         * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
7605         * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
7606
7607 2000-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
7608
7609         * elmo-maildir.el (elmo-maildir-pack-number): Implemented.
7610
7611         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.
7612
7613         * elmo2.el (elmo-pack-number): Added 'maildir as allowd type.
7614
7615         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
7616         arguments for `SEARCH' command.
7617         (elmo-imap4-parse-string): Set `POS' argument for char-after.
7618         All other related portions are changed.
7619
7620         * elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.
7621
7622         * elmo2.el (elmo-generic-list-folder-unread): Rewrite.
7623         (elmo-list-folder-unread): Rewrite.
7624         (elmo-list-folder-important): Ditto.
7625
7626         * elmo-util.el (elmo-filter-get-spec): Rewrite.
7627         (elmo-condition-parse-error): New inline function.
7628         (elmo-read-search-condition): New function.
7629         (elmo-read-search-condition-internal): Ditto.
7630         (elmo-parse-search-condition): Rewrite.
7631         (elmo-condition-parse): New function.
7632         (elmo-condition-parse-or-expr): Ditto.
7633         (elmo-condition-parse-and-expr): Ditto.
7634         (elmo-condition-parse-primitive): Ditto.
7635         (elmo-condition-parse-search-value): Ditto.
7636         (elmo-buffer-field-primitive-condition-match): Ditto.
7637         (elmo-buffer-field-condition-match): Rewrite.
7638         (elmo-file-field-condition-match): Ditto.
7639
7640         * elmo-msgdb.el (elmo-msgdb-expand-path): Use
7641         `elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.
7642
7643         * elmo-internal.el (elmo-internal-search): Set `number' and
7644         `number-list' argument of `elmo-file-field-condition-match'.
7645
7646         * elmo-maildir.el (elmo-maildir-search): Ditto.
7647
7648         * elmo-imap4.el (elmo-imap4-list-folder-unread): Use
7649         `msgdb' as argument instead of `mark-alist'.
7650         (elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
7651         `overview'.
7652
7653         * elmo-multi.el: Likewise.
7654
7655         * elmo-pipe.el: Likewise.
7656
7657         * elmo-imap4.el (elmo-imap4-search-internal-primitive): New function.
7658         (elmo-imap4-search-internal): Rewrite.
7659         (elmo-imap4-search): Ditto.
7660
7661         * elmo-filter.el (elmo-filter-list-folder): Rewrite.
7662         (elmo-filter-list-folder-unread): Ditto.
7663         (elmo-filter-list-folder-important): Ditto.
7664         (elmo-filter-search): Rewrite.
7665
7666         * elmo-cache.el (elmo-cache-search-all): Set `number' and
7667         `number-list' argument of `elmo-file-field-condition-match'.
7668         (elmo-cache-search): Ditto.
7669
7670         * elmo-localdir.el: Likewise.
7671
7672         * elmo-archive.el (elmo-archive-field-condition-match): Added argument
7673         number-list and pass it to `elmo-buffer-field-condition-match'.
7674         (elmo-archive-field-condition-match): Pass `number-list' to
7675         `elmo-archive-field-condition-match'
7676
7677 2000-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
7678
7679         * elmo-nntp.el (elmo-nntp-list-folder): Set current group after
7680         `listgroup'.
7681
7682         * elmo2.el (elmo-folder-diff-async-callback): New variable.
7683         (elmo-folder-diff-async-callback-data): Ditto.
7684         (elmo-folder-diff-async): New function.
7685
7686         * elmo-net.el (elmo-network-session-name-prefix): New variable.
7687         (elmo-network-session-cache-key): Use it as a prefix of the session
7688         name.
7689         (elmo-network-open-session): Ditto.
7690
7691         * elmo-imap4.el (elmo-imap4-status-callback): New local variable.
7692         (elmo-imap4-status-callback-data): Ditto.
7693         (elmo-imap4-server-diff-async-callback): New variable.
7694         (elmo-imap4-server-diff-async-callback-data): Ditto.
7695         (elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
7696         `elmo-imap4-status-callback-data'.
7697         (elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
7698         `elmo-imap4-status-callback-data' as nil.
7699         (elmo-imap4-server-diff): Ditto.
7700         (elmo-imap4-server-diff-async-callback-1): New function.
7701         (elmo-imap4-server-diff-async): Ditto.
7702         (elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.
7703
7704 2000-09-24  OKAZAKI Tetsurou  <okazaki@be.to>
7705
7706         * elmo-util.el (elmo-list-delete): Doc fix.
7707         (elmo-delete-lists): Abolish.
7708         * elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
7709         instead of `elmo-delete-lists'.
7710
7711 2000-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
7712
7713         * elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
7714         before `sort'.
7715
7716 2000-09-18  OKAZAKI Tetsurou  <okazaki@be.to>
7717
7718         * elmo-imap4.el (elmo-imap4-literal-1): Renamed from
7719         `elmo-imap4-literal-subr'.
7720         (elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
7721         (elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.
7722
7723 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
7724
7725         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
7726         (elmo-archive-list-folder): Fix.
7727         (elmo-archive-max-of-folder): Fix.
7728
7729 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
7730
7731         * elmo-localdir.el (elmo-localdir-copy-msgs): Use
7732          `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
7733         (elmo-localdir-append-msg): Ditto.
7734         (elmo-localdir-list-folder): Fix for `nonsort'.
7735         (elmo-localdir-list-folder-subr): Fix for `killed'.
7736         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
7737         (elmo-maildir-list-folder-subr): Ditto.
7738         * elmo-archive.el (elmo-archive-list-folder): Ditto.
7739         (elmo-archive-list-folder-subr): Ditto.
7740         * elmo-internal.el (elmo-internal-list-folder): Ditto.
7741         (elmo-internal-list-folder-subr): Ditto.
7742
7743 2000-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
7744
7745         * elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.
7746
7747 2000-09-12  Katsumi Yamaoka    <yamaoka@jpl.org>
7748
7749         * elmo-util.el (elmo-delete-plugged): Fix parenthesis.
7750
7751 2000-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
7752
7753         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
7754         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
7755
7756         * elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
7757         before greeting.
7758         (elmo-imap4-read-part): Use "body.peek" to fetch part.
7759         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
7760
7761 2000-09-06  Yuuichi Teranishi  <teranisi@gohome.org>
7762
7763         * mmelmo-imap4-2.el (mime-entity-children): Defined.
7764
7765         * elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
7766         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
7767         before STORE command.
7768
7769 2000-09-04  Yuuichi Teranishi  <teranisi@gohome.org>
7770
7771         * elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.
7772
7773         * elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
7774         (elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
7775         of `response'.
7776         (elmo-imap4-list-folders): Removed unused local variable.
7777         (elmo-network-initialize-session): Ditto.
7778         (elmo-imap4-delete-msg-by-id): Ditto.
7779         (elmo-imap4-parse-fetch): Ditto.
7780         (elmo-imap4-copy-msgs): Ditto.
7781         Use `dst-spec' instead of `dst-folder'.
7782         (elmo-network-authenticate-session): Check authenticate type `plain'.
7783
7784 2000-09-01  Yuuichi Teranishi  <teranisi@gohome.org>
7785
7786         * elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
7787         garbage checking.
7788         (elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
7789         `elmo-imap4-response-value'.
7790         (elmo-imap4-parse-response): Return value of `EXPUNGE'.
7791
7792 2000-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
7793
7794         * elmo-imap4.el (elmo-imap4-send-command):
7795         Cause elmo-imap4-bye-error when current response is BYE.
7796         (elmo-imap4-arrival-filter): Changed greeting response value.
7797
7798         * elmo2.el (elmo-imap4-bye-error): Define.
7799
7800         * elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
7801         (elmo-imap4-server-diff): Ditto.
7802         (elmo-imap4-response-bye-p): New macro.
7803         (elmo-imap4-response-error-text): Get text from BYE response.
7804         (elmo-imap4-read-response): Return if BYE response.
7805         (elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
7806         (elmo-imap4-folder-exists-p): Ditto.
7807         (elmo-imap4-commit): Do nothing when different mailbox is selected.
7808         (elmo-imap4-parse-bye): New function.
7809         (elmo-imap4-parse-response): Remove needless let.
7810         Call `elmo-imap4-parse-bye'.
7811
7812 2000-08-30  Yuuichi Teranishi  <teranisi@gohome.org>
7813
7814         * elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
7815         the mailbox does not exist.
7816         (elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.
7817
7818 2000-08-30  OKAZAKI Tetsurou  <okazaki@be.to>
7819
7820         * elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.
7821
7822 2000-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
7823
7824         * elmo-vars.el (elmo-search-mime-charset): Abolished.
7825
7826         * elmo-pop3.el (elmo-pop3-local-variables): New variable.
7827         (elmo-network-initialize-session-buffer): Defined.
7828
7829         * mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
7830         Abolished.
7831         (mmelmo-imap4-get-mime-entity): Rewrite.
7832
7833         * elmo2.el (elmo-error): Capitalize error message.
7834
7835         * elmo-net.el (elmo-network-initialize-session-buffer): New method.
7836         (elmo-network-session-buffer): New macro.
7837         (elmo-network-open-session): Use it.
7838
7839         * elmo-imap4.el: Rewrite.
7840
7841 2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
7842
7843         * elmo-nntp.el (Toplevel): Require 'elmo-net.
7844
7845 2000-08-27   Daiki Ueno  <ueno@unixuser.org>
7846
7847         * elmo-imap4.el (elmo-imap4-make-address): Abolish.
7848         (elmo-imap4-msgdb-create): Don't request ENVELOPE.
7849         (elmo-imap4-create-msgdb-from-overview-string): Use
7850         `elmo-msgdb-create-overview-from-buffer'.
7851
7852 2000-08-26   Daiki Ueno  <ueno@unixuser.org>
7853
7854         * elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
7855         (elmo-imap4-default-hierarchy-delimiter): New variable.
7856         (elmo-imap4-list-folders): Use it.
7857
7858 2000-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
7859
7860         * elmo-net.el (elmo-network-open-session): Add user and
7861         stream-type for process-buffer name.
7862
7863         * elmo-pop3.el (elmo-network-initialize-session): Call
7864         buffer-disable-undo.
7865
7866         * elmo-imap4.el (elmo-network-initialize-session):
7867         Set current-buffer as an argument for `buffer-disable-undo'.
7868
7869         * elmo-pop3.el (elmo-network-close-session): Don't use
7870         `process-live-p'.
7871
7872         * elmo-vars.el (elmo-default-pop3-authenticate-type):
7873         Set default as 'user.
7874
7875         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.
7876
7877         * elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
7878         and `elmo-imap4-flush-connection'.
7879
7880         * elmo-util.el (toplevel): Removed workaround for timezone y2k.
7881         (elmo-pop3-get-spec): Assume auth as symbol.
7882         (elmo-open-network-stream): Moved to `elmo-net'.
7883
7884         * elmo-pop3.el (toplevel): Require 'elmo-net.
7885         Define `sasl-cram-md5' to silence byte compilier.
7886         (elmo-pop3-connection-cache) Abolished.
7887         (elmo-pop3-authenticator-alist) New variable.
7888         (elmo-pop3-session): Define.
7889         (elmo-pop3-connection-get-process): Abolished.
7890         (elmo-pop3-connection-get-buffer): Ditto.
7891         (elmo-pop3-close-connection): Ditto.
7892         (elmo-pop3-flush-connection): Ditto.
7893         (elmo-pop3-get-connection): Ditto.
7894         (elmo-pop3-get-session): New function.
7895         (Replacement for `elmo-pop3-get-connection').
7896         All other related modules are changed.
7897         (elmo-network-close-session): Define.
7898         (elmo-pop3-send-command): Abolished argument `buffer'.
7899         All other related modules are changed.
7900         (elmo-pop3-read-response): Likewise.
7901         (elmo-pop3-open-connection): Abolished.
7902         (elmo-pop3-auth-user): New function.
7903         (elmo-pop3-auth-apop): Ditto.
7904         (elmo-pop3-auth-cram-md5): Ditto.
7905         (elmo-pop3-auth-scram-md5): Ditto.
7906         (elmo-pop3-auth-digest-md5): Ditto.
7907         (elmo-network-initialize-session): Define.
7908         (elmo-network-authenticate-session): Ditto.
7909         (elmo-network-setup-session): Ditto.
7910
7911         * elmo-imap4.el (toplevel): Require 'elmo-net.
7912         (elmo-imap4-session): Define.
7913         (elmo-imap4-connection-cache): Abolished.
7914         (elmo-imap4-password-key): Ditto.
7915         (elmo-imap4-flush-connection): Ditto.
7916         (elmo-imap4-get-connection): Ditto.
7917         All other related modules are changed.
7918         (elmo-imap4-get-session): New function
7919         (Replacement for `elmo-imap4-get-connection').
7920         (elmo-imap4-read-response): Abolished argument `buffer'.
7921         All other related modules are changed.
7922         (elmo-imap4-send-command): Likewise.
7923         (elmo-imap4-select-folder): Abolished.
7924         All other related modules are changed.
7925         (elmo-imap4-select-mailbox): New function.
7926         (Replacement for `elmo-imap4-select-folder').
7927         (elmo-imap4-auth-login): Simplify.
7928         (Assume current buffer as process buffer)
7929         (elmo-imap4-auth-cram-md5): Ditto.
7930         (elmo-imap4-auth-digest-md5): Ditto.
7931         (elmo-imap4-login): Ditto.
7932         (elmo-imap4-open-connection): Abolished.
7933         (elmo-imap4-open-connection-1): Abolished.
7934         (elmo-network-initialize-sessoin): Define.
7935         (elmo-network-authenticate-session): Ditto.
7936         (elmo-network-setup-session): Ditto.
7937
7938         * elmo-net.el: New module.
7939
7940 2000-08-22   Daiki Ueno  <ueno@unixuser.org>
7941
7942         * elmo-util.el (elmo-define-error): New function.
7943
7944         * elmo2.el (elmo-error): Define.
7945         (elmo-open-error): Define.
7946         (elmo-authenticate-error): Define.
7947
7948         * elmo-imap4.el (elmo-imap4-error): Abolish.
7949         (elmo-imap4-error-type): Abolish.
7950         (elmo-imap4-error-process): Abolish.
7951         (elmo-imap4-error-message): Abolish
7952         (elmo-imap4-list-folders): Don't quote lambda.
7953         (elmo-imap4-create-msgdb-from-overview-string): Ditto.
7954         (elmo-imap4-parse-namespace): Ditto.
7955         (elmo-imap4-open-connection): Rewrite.
7956         (elmo-imap4-open-connection-1): Simplified (authenticate only).
7957         (elmo-imap4-get-connection): Abolish local variable `result'.
7958
7959 2000-08-21  Kaoru Takahashi  <kaoru@kaisei.org>
7960
7961         * elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
7962         wrong-type-argument error when auth is nil.
7963
7964 2000-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
7965
7966         * elmo-vars.el (elmo-default-imap4-stream-type): New variable.
7967         (elmo-default-nntp-stream-type): Ditto.
7968         (elmo-default-pop3-stream-type): Ditto.
7969         (elmo-network-stream-type-alist): Ditto.
7970         (elmo-default-imap4-ssl): Abolished.
7971         (elmo-default-nntp-ssl): Ditto.
7972         (elmo-default-pop3-ssl): Ditto.
7973
7974         * elmo-util.el: (toplevel): Removed needless requires.
7975         (elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
7976         (elmo-open-network-stream): Open network stream according to
7977         the value of `elmo-network-stream-type-alist'.
7978         (elmo-get-network-stream-type): New function.
7979         (elmo-network-stream-type-spec-string): New macro.
7980         (elmo-network-stream-type-symbol): Ditto.
7981         (elmo-network-stream-type-function): Ditto.
7982
7983         * elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
7984         network-stream-type. All other related portions are changed.
7985         (elmo-pop3-open-connection): Ditto.
7986
7987         * elmo-nntp.el (elmo-nntp-setting): Follow up changes for
7988         network-stream-type. All other related portions are changed.
7989
7990         * elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
7991         network-stream-type.All other related portions are changed.
7992         (elmo-imap4-error): New macro.
7993         (elmo-imap4-error-type): Ditto.
7994         (elmo-imap4-error-process): Ditto.
7995         (elmo-imap4-error-message): Ditto.
7996         (elmo-imap4-auth-login): Use `elmo-imap4-error'.
7997         (elmo-imap4-auth-cram-md5): Ditto.
7998         (elmo-imap4-auth-digest-md5): Ditto.
7999         (elmo-imap4-login): Ditto.
8000         (elmo-imap4-open-connection): Remove password entry if authentication
8001         was in vain.
8002         (elmo-imap4-user-at-host): Abolished.
8003         (elmo-imap4-password-key): New buffer local variable.
8004         (elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
8005         using protocol, port, auth and stream-type.
8006
8007         * elmo-dop.el (elmo-dop-list-folder): Use killed list.
8008
8009 2000-08-13   Daiki Ueno  <ueno@unixuser.org>
8010
8011         * elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.
8012
8013         * elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.
8014
8015         * elmo-imap4.el (elmo-imap4-user-at-host): New variable.
8016         (elmo-imap4-authenticator-alist): New variable.
8017         (elmo-imap4-open-connection-1): Rename from
8018         elmo-imap4-open-connection.
8019         (elmo-imap4-open-connection): Abolish 5th argument `passphrase';
8020         only wraps elmo-imap4-open-connection-1.
8021         (elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
8022         user-at-host.
8023         (elmo-imap4-auth-login): New function.
8024         (elmo-imap4-auth-cram-md5): New function.
8025         (elmo-imap4-auth-digest-md5): New function.
8026         (elmo-imap4-login): New function.
8027
8028 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
8029
8030         * elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
8031         function `error'.
8032
8033 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
8034
8035         * elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.
8036
8037 2000-08-08  Yuuichi Teranishi  <teranisi@gohome.org>
8038
8039         * elmo2.el (elmo-move-msgs): Set value of `unseen'.
8040
8041 2000-08-06  OKAZAKI Tetsurou  <okazaki@be.to>
8042
8043         * elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
8044         for server responses, quote `*' regardless of where it appears.
8045
8046 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
8047
8048         * elmo-maildir.el (elmo-maildir-commit): New alias.
8049
8050 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
8051
8052         * elmo-util.el (elmo-display-progress):
8053                 Use `progress-feedback-with-label'.
8054
8055 2000-08-02  OKAZAKI Tetsurou  <okazaki@be.to>
8056
8057         * elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
8058         (elmo-imap4-non-atom-char-regex): Ditto.
8059         (elmo-imap4-non-text-char-regex): Ditto.
8060         (elmo-imap4-literal-threshold): Ditto.
8061         (elmo-imap4-atom-p): New function.
8062         (elmo-imap4-quotable-p): Ditto.
8063         (elmo-imap4-nil): Ditto.
8064         (elmo-imap4-atom): Ditto.
8065         (elmo-imap4-quoted): Ditto.
8066         (elmo-imap4-literal-subr): Ditto.
8067         (elmo-imap4-literal): Ditto.
8068         (elmo-imap4-buffer-literal): Ditto.
8069         (elmo-imap4-string-subr): Ditto.
8070         (elmo-imap4-string): Ditto.
8071         (elmo-imap4-buffer-string): Ditto.
8072         (elmo-imap4-astring-subr): Ditto.
8073         (elmo-imap4-astring): Ditto.
8074         (elmo-imap4-buffer-astring): Ditto.
8075         (elmo-imap4-nstring): Ditto.
8076         (elmo-imap4-buffer-nstring): Ditto.
8077         (elmo-imap4-mailbox): New alias.
8078         (elmo-imap4-field-body): Ditto.
8079         (elmo-imap4-userid): Ditto.
8080         (elmo-imap4-password): Ditto.
8081         (elmo-imap4-format-quoted): New function.
8082         (elmo-imap4-send-command): Rewritten.  Accept a list of command
8083         arguments and handle "atom", "quoted" and "literal" string here.
8084         (elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
8085         `elmo-imap4-send-command'.
8086         (elmo-imap4-folder-exists-p): Likewise.
8087         (elmo-imap4-create-folder): Likewise.
8088         (elmo-imap4-delete-folder): Likewise.
8089         (elmo-imap4-rename-folder): Likewise.
8090         (elmo-imap4-max-of-folder): Likewise.
8091         (elmo-imap4-check-validity): Likewise.
8092         (elmo-imap4-sync-validity): Likewise.
8093         (elmo-imap4-server-diff): Likewise.
8094         (elmo-imap4-select-folder): Likewise.
8095         (elmo-imap4-copy-msgs): Likewise.
8096         (elmo-imap4-search-internal): Use `elmo-imap4-astring'.
8097         (elmo-imap4-mark-set-on-msgs): Likewise.
8098         (elmo-imap4-read-part): Likewise.
8099         (elmo-imap4-read-msg): Likewise.
8100         (elmo-imap4-open-connection): Use `elmo-imap4-userid' and
8101         `elmo-imap4-password' for `elmo-imap4-send-command'.
8102         (elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
8103         (elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
8104         `elmo-imap4-buffer-literal'.
8105         (elmo-imap4-append-msg): Likewise.
8106
8107         * elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
8108         `delete' for removing dead connection from the connection cache.
8109         Move deletion of the process buffer after that.
8110         (elmo-imap4-list): Change `defsubst' to `defun'.
8111         (elmo-imap4-commit): Make error message verbose.
8112         (elmo-imap4-search): Ditto.
8113         (elmo-imap4-list): Ditto.
8114         (elmo-imap4-select-folder): Ditto.
8115         (elmo-imap4-copy-msgs): Ditto.
8116         (elmo-imap4-delete-msg-by-id): Ditto.
8117         (elmo-imap4-append-msg-by-id): Ditto.
8118         (elmo-imap4-append-msg): Ditto.
8119
8120 2000-07-26  Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
8121
8122         * elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
8123         when dired is used on XEmacs.
8124
8125 2000-07-25  OKAZAKI Tetsurou  <okazaki@be.to>
8126
8127         * elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
8128         instead of `append'.
8129         (elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
8130         `elmo-plugged-p' directly.
8131         * elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
8132         of `elmo-plugged-p' directly.
8133
8134         * elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
8135         Eliminate unused variable.  Use `memq' for checking a process status.
8136         Use `cons' instead of `append' for updating the connection cache.
8137         * elmo-nntp.el (elmo-nntp-get-connection): Likewise.
8138         * elmo-imap4.el (elmo-imap4-get-connection): Likewise.
8139
8140 2000-07-22  OKAZAKI Tetsurou  <okazaki@be.to>
8141
8142         * elmo-imap4.el (elmo-imap4-read-bytes): Advance
8143         `elmo-imap4-read-point' exactly.
8144
8145         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
8146         the local variable `folder' to `mailbox'.
8147         Rename the argument `fld' to `folder'.
8148
8149 2000-07-20  Kenichi OKADA  <okada@opaopa.org>
8150
8151         * elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
8152         * elmo-imap4.el (elmo-imap4-commit): Ditto.
8153
8154 2000-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
8155
8156         * elmo-pop3.el (elmo-pop3-use-uidl): New variable.
8157         (elmo-pop3-number-uidl-hash): New buffer-local variable.
8158         (elmo-pop3-uidl-number-hash): Ditto.
8159         (elmo-pop3-size-hash): Ditto.
8160         (elmo-pop3-uidl-done): Ditto.
8161         (elmo-pop3-list-done): Ditto.
8162         (elmo-pop3-connection-get-process): New defmacro.
8163         (elmo-pop3-connection-get-buffer): Ditto.
8164         (elmo-pop3-close-connection): Delete buffer and process.
8165         (elmo-pop3-flush-connection): Don't delete buffer and process.
8166         (elmo-pop3-get-connection): Added optional argument `if-exists'.
8167         Setup UIDL and size hash.
8168         (elmo-pop3-send-command-no-erase): Deleted
8169         (elmo-pop3-send-command): Added optional argument `no-erase'.
8170         (elmo-pop3-parse-uidl-response): New function.
8171         (elmo-pop3-parse-list-response): Set size hash.
8172         (elmo-pop3-list-location): New function.
8173         (elmo-pop3-list-by-uidl-subr): Ditto.
8174         (elmo-pop3-list-by-list): Ditto.
8175         (elmo-pop3-list-folder): Call `elmo-pop3-commit'.
8176         Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
8177         (elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
8178         Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
8179         (elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
8180         Use uidl.
8181         (elmo-pop3-uidl-to-number): New function.
8182         (elmo-pop3-number-to-uidl): Ditto.
8183         (elmo-pop3-number-to-size): Ditto.
8184         (elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
8185         Set number by use of uidl.
8186         (elmo-pop3-msgdb-create-message): Likewise.
8187         Set size, loc-alist in msgdb.
8188         (elmo-pop3-read-msg): Set number by use of uidl.
8189         Added optional argument `msgdb'.
8190         (elmo-pop3-delete-msg): Ditto.
8191         (elmo-pop3-delete-msgs): Added optional argument `msgdb'.
8192         (elmo-pop3-commit): Close connection.
8193
8194         * elmo-pipe.el (elmo-pipe-max-of-folder):
8195         Bind `elmo-pop3-use-uidl' as nil.
8196         (elmo-pipe-drain): Ditto.
8197         Call `elmo-commit'.
8198
8199         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
8200         (elmo-msgdb-overview-entity-set-size): New defsubst.
8201
8202 2000-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
8203
8204         * elmo-vars.el (elmo-use-killed-list): New variable
8205         (Renamed from `elmo-nntp-use-killed-list').
8206         (elmo-nntp-use-killed-list): Eliminated.
8207
8208         * elmo-msgdb.el (elmo-msgdb-expand-path):
8209         Changed expanding msgdb path for elmo-multi.
8210
8211         * elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
8212         elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
8213         elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
8214         elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
8215         elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
8216         mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
8217         (toplevel): Deleted time-stamp line.
8218
8219         * elmo2.el (elmo-clear-killed ): Defined as function
8220         (Abolished defining as a backend function).
8221         All other related modules are changed.
8222
8223 2000-07-14  Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>
8224
8225         * elmo-cache.el (elmo-cache-clear-killed): Fixed.
8226
8227 2000-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
8228
8229         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.
8230
8231 2000-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
8232
8233         * elmo-pop3.el (elmo-pop3-clear-killed): New alias.
8234
8235 2000-07-11  Yuuichi Teranishi  <teranisi@gohome.org>
8236
8237         * elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
8238         asynchronous folder check.
8239
8240         * elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.
8241
8242         * elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
8243         `elmo-nntp-use-killed-list'.
8244         (elmo-nntp-list-folder): Use killed list.
8245         (elmo-nntp-max-of-folder): Ditto.
8246         (elmo-nntp-msgdb-create): Set killed list.
8247
8248         * elmo-vars.el (elmo-nntp-use-killed-list): New user option.
8249
8250         * elmo2.el (elmo-clear-killed): New backend function.
8251         All other related modules are changed.
8252
8253 2000-07-07  OKAZAKI Tetsurou  <okazaki@be.to>
8254
8255         * elmo-util.el (elmo-imap4-spec-folder): Use
8256         `elmo-imap4-spec-mailbox'; Mark as obsolete.
8257         All callers changed.
8258
8259 2000-06-22  Yuuichi Teranishi  <teranisi@gohome.org>
8260
8261         * mmelmo-2.el (initialize-instance):
8262         Use `mime-buffer-entity-buffer-internal' instead of
8263         `mime-entity-buffer'.
8264
8265         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
8266         (mime-entity-body): Implemented.
8267         (mime-goto-header-start-point): Deleted.
8268         (mime-goto-body-end-point): Ditto.
8269         (mime-entity-point-min): Ditto.
8270         (mime-entity-point-max): Ditto.
8271         (mime-entity-children): Ditto.
8272         (mime-insert-header): Use `mime-buffer-entity-buffer-internal'
8273         instead of `mime-entity-buffer'.
8274         (mime-entity-header-buffer): Ditto.
8275         (mime-entity-body-buffer): Ditto.
8276         (mime-write-entity-content): Ditto.
8277
8278         * pldap.el (ldap-static-if): New macro.
8279         (toplevel): Use it instead of `static-if'.
8280
8281 2000-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
8282
8283         * pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
8284         included in `attrs' argument.
8285
8286 2000-06-16  Yuuichi Teranishi  <teranisi@gohome.org>
8287
8288         * elmo-util.el (elmo-get-passwd): Use old backquote style.
8289
8290         * pldap.el (ldap-ldif-safe-char-regexp): New constant.
8291         (ldap-ldif-safe-init-char-regexp): Ditto.
8292         (ldap-ldif-safe-string-regexp): Ditto.
8293         (ldap/ldif-safe-string-p): New macro.
8294         (ldap/ldif-insert-field): Ditto.
8295         (ldap-modify): Use it.
8296         (ldap-add): Ditto.
8297         (ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
8298         (ldap-decode-attribute): Decode only when `attr' is consp.
8299         (ldap-delete): Bind `ret'.
8300         (toplevel): Require 'cl at compile time.
8301         Removed (require 'poe) and (require 'std11).
8302         (pldap-version): Eliminated.
8303         (ldap-search-basic): Removed auth and dn binding.
8304         (ldap-ldif-field-name-regexp): New constant.
8305         (ldap-ldif-field-head-regexp): Ditto.
8306         (ldap-ldif-next-field-head-regexp): Ditto.
8307         (ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
8308         (ldap/field-end): New function.
8309         (ldap/field-body): Use it.
8310         (ldap/collect-field): Ditto.
8311         (ldap-search-basic): Use `ldap/field-body'.
8312
8313 2000-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
8314
8315         * pldap.el (ldap-default-attribute-encoder): New user option.
8316         (ldap/field-body): Decode base64 string.
8317         (ldap/collect-field): Ditto.
8318         (ldap-encode-attribute): New function.
8319         (ldap-add-entries): Use it.
8320         (ldap-modify-entries): Ditto.
8321         (ldap-search-entries): Enclosed decoding function with
8322         `with-temp-buffer' and set as unibyte.
8323         (ldap-search-basic): Set process buffer as unibyte.
8324
8325         * elmo-util.el (elmo-folder-identical-system-p):
8326         Eliminated name space checking.
8327
8328         * pldap.el: New module.
8329         toplevel: Changed condition to detect built-in ldap feature.
8330         (ldap-delete): Enclosed call-process with `with-temp-buffer'.
8331         (ldap-add): Added error handling.
8332         (ldap-modify): Ditto.
8333         (ldap-delete): Ditto.
8334
8335 2000-06-03  OKAZAKI Tetsurou  <okazaki@be.to>
8336
8337         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
8338         Initialize local variables with `let'.  Inline a temporary
8339         variable for the progress percentage.  Sort `setq' to reduce
8340         function call in the while-loop.
8341
8342         * mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
8343         into the conditional branch.
8344
8345 2000-05-30  OKAZAKI Tetsurou  <okazaki@be.to>
8346
8347         * elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
8348         Move a conditional out of the while-loop.
8349
8350 2000-05-27  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8351
8352         * elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
8353         elmo-msgdb-overview-get-entity-by-number.
8354         (elmo-msgdb-overview-get-entity-by-number): Don't use catch and
8355         throw.
8356
8357 2000-05-26  OKAZAKI Tetsurou  <okazaki@be.to>
8358
8359         * elmo-localdir.el (elmo-localdir-pack-number): Renamed
8360         the local variable for a packed number self descriptively.
8361
8362 2000-05-21  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8363
8364         * elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
8365         * elmo-localdir.el (elmo-localdir-pack-number): Use
8366         `elmo-msgdb-overview-get-entity' instead of
8367         `elmo-msgdb-overview-get-entity-by-number'.
8368         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
8369         (elmo-msgdb-search-overview-entity): Removed.
8370         (elmo-msgdb-overview-get-entity): Change argument. Get overview entity
8371         by message-id or number.
8372         (elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
8373         instead of `elmo-msgdb-overview-get-entity-by-number'.
8374
8375 2000-05-20  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8376
8377         * elmo-vars.el (elmo-use-overview-hashtb): New variable. If
8378         non-nil, use hash table for overview.
8379         (elmo-hash-maximum-size): New variable.
8380         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
8381         (elmo-msgdb-make-overview-hashtb): New function.
8382         (elmo-msgdb-clear-overview-hashtb): New function.
8383         (elmo-clear-hash-val): New macro.
8384         All other related modules are changed.
8385
8386 2000-05-18  Yuuichi Teranishi  <teranisi@gohome.org>
8387
8388         * elmo2.el (elmo-move-msgs): If there's other message with
8389         same message-id, don't use cache.
8390
8391 2000-05-18  Nishimoto Masaki <nishimoto@gaju.org>
8392
8393         * elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
8394         number is already packed.
8395
8396 2000-05-15  OKAZAKI Tetsurou  <okazaki@be.to>
8397
8398         * elmo-vars.el: Doc fixes. Trim trailing whitespace.
8399
8400 2000-05-12  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8401
8402         * elmo-vars.el (elmo-display-progress-threshold): New variable.
8403         All other related modules are changed.
8404
8405 2000-05-11  Yuuichi Teranishi  <teranisi@gohome.org>
8406
8407         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
8408         of refiling failure on Maildir.
8409
8410 2000-05-10  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8411
8412         * elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
8413         decoded mime-charset with cache.
8414         (elmo-msgdb-overview-entity-get-from): Ditto.
8415         (elmo-msgdb-overview-entity-get-subject): Ditto.
8416         * elmo-vars.el (elmo-use-decoded-cache): New variable.
8417
8418 2000-05-10  Kenichi OKADA  <okada@opaopa.org>
8419
8420         * elmo-utils.el (elmo-get-passwd): Set timeout of password.
8421         (elmo-remove-passwd): Fill password with 0 before erase.
8422         * elmo-vars.el (elmo-passwd-life-time): New variable.
8423
8424 \f
8425 2000-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
8426
8427         * elmo-cache.el (elmo-buffer-cache-add):
8428         Set message cache buffer as unibyte.
8429
8430 2000-05-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8431
8432         * elmo-archive.el (elmo-archive-list-folders): Fix base-folder
8433         become nil.
8434
8435 2000-04-28  Yuuichi Teranishi  <teranisi@gohome.org>
8436
8437         * elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
8438         when display is finished.
8439         (elmo-nntp-msgdb-create): Ditto.
8440         (elmo-nntp-groups-read-response): Ditto.
8441         (elmo-nntp-retrieve-headers): Ditto.
8442         (elmo-nntp-msgdb-create-message): Ditto.
8443         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
8444         (elmo-pop3-msgdb-create-message): Ditto.
8445
8446 2000-04-24  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
8447
8448         * elmo-maildir.el (elmo-maildir-msgdb-create):
8449         Use `elmo-msgdb-sort-by-date'.
8450
8451 2000-04-20  Yuuichi Teranishi  <teranisi@gohome.org>
8452
8453         * elmo2.el (elmo-read-msg-no-cache):
8454         Eliminated arguments after `outbuf'.
8455         Don't use cache even if it exists.
8456         (elmo-read-msg): Don't pass arguments after `outbuf' to
8457         `elmo-read-msg-no-cache'.
8458
8459 2000-04-15  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
8460
8461         * elmo-archive.el (elmo-archive-list-folders):
8462         Use `file-name-directory' if base folder does not exist.
8463
8464 2000-04-14  Nishimoto Masaki <nishimoto@gaju.org>
8465
8466         * elmo-archive.el (elmo-archive-list-folders): Don't use
8467         `file-name-directory'.
8468
8469 2000-04-07  Yuuichi Teranishi  <teranisi@gohome.org>
8470
8471         * elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
8472         If `force' is non-nil, try flushing all operation queues.
8473
8474 2000-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
8475
8476         * elmo-pop3.el (elmo-pop3-open-connection): Enclose with
8477         as-binary-process.
8478
8479 2000-03-29  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
8480
8481         * elmo-util.el (elmo-display-progress): Fixed.
8482
8483 2000-03-27  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
8484
8485         * elmo-util.el (elmo-display-progress): New function.
8486         All other related modules are changed.