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