(elmo-global-flag-set-internal): Use
[elisp/wanderlust.git] / elmo / ChangeLog
1 2006-10-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2
3         * elmo-flag.el (elmo-global-flag-set-internal): Use
4         `elmo-copy-file' by priority when the message is a file.
5
6 2006-10-01  Yoichi NAKAYAMA  <yoichi@geiin.org>
7
8         * elmo.el: Fix typo: disptch -> dispatch.
9
10 2006-10-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
11
12         * elmo.el (elmo-file-tag): New class.
13         (elmo-append-messages-disptch-table): New constant.
14         (elmo-folder-type-p): New function.
15         (elmo-folder-append-messages): Redefine as function.
16
17         * elmo-null.el (elmo-folder-append-messages): Renamed from
18         `elmo-folder-append-messages'.
19
20         * elmo-maildir.el (elmo-maildir-folder): Inherit `elmo-file-tag'.
21         (elmo-folder-append-messages-*-maildir): Renamed from
22         `elmo-folder-append-messages'.
23
24         * elmo-localdir.el (elmo-localdir-folder): Inherit
25         `elmo-file-tag'.
26         (elmo-folder-append-messages-*-localdir): Renamed from
27         `elmo-folder-append-messages'.
28
29         * elmo-imap4.el (elmo-folder-append-messages-imap4-imap4): Renamed
30         from `elmo-folder-append-messages'.
31
32         * elmo-flag.el (elmo-folder-append-messages-*-flag): Renamed from
33         `elmo-folder-append-messages'.
34
35         * elmo-filter.el (elmo-folder-append-messages-filter-*): New
36         function.
37         (elmo-folder-append-messages-*-filter): Ditto.
38
39         * elmo-multi.el (elmo-folder-append-messages-multi-*): Ditto.
40
41         * elmo-pipe.el (elmo-folder-append-messages-pipe-*): Ditto.
42         (elmo-folder-append-messages-*-pipe): Renamed from
43         `elmo-folder-append-messages'.
44
45         * elmo-cache.el (elmo-cache-folder): Inherit `elmo-file-tag'.
46
47         * elmo-file.el (elmo-file-folder): Ditto.
48
49         * elmo-sendlog.el (elmo-sendlog-folder): Ditto.
50
51         * elmo-archive.el (elmo-folder-append-messages-*-archive): Renamed
52         from `elmo-folder-append-messages'
53
54 2006-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
55
56         * elmo-map.el (elmo-location-map-setup): Change an argument
57         `locations' to optional.
58         (elmo-location-map-clear): Abolish.
59         (elmo-folder-clear): Follow the API change.
60
61         * elmo-pop3.el (elmo-folder-clear): Ditto.
62
63         * elmo-pop3.el (toplevel): Require elmo-map.
64         (elmo-pop3-folder): Inherit elmo-location-map and abolish
65         location-alist slot (All other related portions are changed).
66         (elmo-pop3-folder-use-uidl): New function.
67         (elmo-folder-msgdb-create): Don't sort message entities.
68         (elmo-pop3-sort-msgdb-by-original-number): Abolish.
69         (elmo-pop3-number-to-size): Convert return value to number.
70         (elmo-pop3-msgdb-create-by-header): Use unwind-protect to delete a
71         working buffer.
72
73         * elmo-map.el: Use `location-map' as a variable name for instance
74         instead of `mapper'.
75         (elmo-location-map-setup): Return location alist.
76         (elmo-location-map-update): Ditto.
77
78 2006-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
79
80         * elmo-map.el (elmo-location-map): New class; split location and
81         number mapping from elmo-map-folder (All other related portions
82         are changed).
83
84         * elmo-shimbun.el (elmo-folder-open-internal): Follow the API
85         change.
86
87         * elmo-version.el (elmo-version): Up to 2.15.4.
88
89 2006-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
90
91         * elmo-vars.el (elmo-use-hardlink): New user option.
92
93         * elmo-util.el (elmo-add-name-to-file): Switch implementations by
94         `elmo-use-hardlink'.
95
96         * elmo-pipe.el (elmo-pipe-folder-list-target-messages): Keep the
97         killed-list.
98         (elmo-pipe-drain): Use `elmo-folder-open' and `elmo-folder-close'
99         instead of `*-internal'. Use `elmo-with-progress-display'.
100
101 2006-09-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
102
103         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages): Use
104         `elmo-spam-process-messages-as-mbox'.
105
106         * elsp-sa.el (elmo-spam-spamassassin-register-messages): Ditto.
107
108 2006-08-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
109
110         * elsp-bsfilter.el (elsp-bsfilter-list-spam-files): Fix the
111         argument BUFFER of `call-process'.
112
113 2006-08-27  Yoichi NAKAYAMA  <yoichi@geiin.org>
114
115         * elsp-bsfilter.el (elsp-bsfilter-call-bsfilter): Remove nil from
116         args.
117         (elsp-bsfilter-list-spam-files): Ditto.
118
119 2006-08-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
120
121         * elsp-bsfilter.el (elmo-spam-bsfilter-max-files-per-process)
122         (elmo-spam-bsfilter-max-messages-per-process): New use option.
123         (elmo-spam-bsfilter-debug): Fix a group.
124         (elsp-bsfilter-call-bsfilter): Don't use `delq' and add option
125         `--homedir'.
126         (elmo-spam-buffer-spam-p): Don't specify `--homedir' option.
127         (elsp-bsfilter-list-spam-files): New function.
128         (elmo-spam-list-spam-messages): Define.
129         (elsp-bsfilter-register-buffer): Add an optional argument `mbox'.
130         (elmo-spam-bsfilter-register-messages): New function.
131         (elmo-spam-register-spam-messages): Define.
132         (elmo-spam-register-good-messages): Ditto.
133
134         * elmo-spam.el (elmo-spam-process-messages-as-mbox): New function.
135
136         * elmo-util.el (elmo-flatten): Use `append' and `listp' instead of
137         `nconc' and `consp'.
138
139 2006-08-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
140
141         * elmo-map.el (elmo-map-folder-update-locations): Rewrite with
142         hash table to test whether a location is exists.
143
144 2006-08-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
145
146         * elmo-archive.el (elmo-folder-append-messages): Delete temp-dir
147         even if some error occurred.
148
149         * elmo-archive.el (elmo-archive-folder-append-buffer): Remove
150         meaningless unwind-protect.
151
152         * elmo-maildir.el (elmo-folder-message-make-temp-files): Respect
153         start-number correctly.
154         * elmo-search.el (elmo-folder-message-make-temp-files): Ditto.
155         * elmo-file.el (elmo-folder-message-make-temp-files): Ditto.
156
157 2006-08-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
158
159         * elmo-flag.el (elmo-flag-folder-set-minfo): New function.
160         (elmo-folder-initialize): Use it.
161         (elmo-global-flag-replace-referrer): New function.
162
163         * elmo.el (toplevel): Added autoload setting for
164         `elmo-global-flag-replace-referrer'.
165         (elmo-folder-rename): Rewrite the last change use
166         `elmo-global-flag-replace-referrer'.
167
168         * elmo-pipe.el (elmo-folder-rename): Call
169         `elmo-global-flag-replace-referrer'.
170
171 2006-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
172
173         * elmo.el (elmo-folder-rename): Set meta data for global flags
174         follow the rename.
175
176 2006-07-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
177
178         * elmo-filter.el (elmo-folder-initialize): Set slot `number-list'
179         as 'not-loaded.
180         (elmo-folder-close): Ditto.
181         (elmo-filter-folder-number-list-loaded-p): New function.
182         (elmo-filter-folder-number-list): Check whether loaded or not.
183         (elmo-folder-commit): Use `elmo-filter-folder-number-list' instead
184         of `elmo-filter-folder-number-list-internal'.
185         (elmo-folder-delete-messages): Ditto.
186         (elmo-folder-length): Check whether number-list is loaded or not.
187
188 2006-06-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
189
190         * modb-entity.el (modb-entity-field-extractor-alist): Add 3rd
191         field `real field' into each element of list.
192         (elmo-msgdb-create-message-entity-from-buffer): Follow the above change.
193         (elmo-msgdb-message-entity-field): Ditto.
194         (modb-entity-ml-info-real-fields): New function.
195
196         * elmo-msgdb.el (elmo-msgdb-extra-fields): New function.
197
198         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Use function
199         `elmo-msgdb-extra-fields'.
200
201 2006-05-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
202
203         * elmo-util.el (elmo-passwd-alist-load): Move point to min
204         position before read.
205
206 2006-05-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
207
208         * elmo-flag.el (elmo-folder-expand-msgdb-path): Translate path.
209         (elmo-global-flags-initialize): Ditto.
210
211 2006-05-14  Yoichi NAKAYAMA  <yoichi@geiin.org>
212
213         * elmo-archive.el (toplevel): Don't require emu, std11
214         and elmo-localdir.
215
216         * elmo-localdir.el (elmo-message-file-name): Remove duplicate
217         definition.
218
219 2006-05-07  Yoichi NAKAYAMA  <yoichi@geiin.org>
220
221         * elmo.el (elmo-folder-confirm-appends): Display folder name.
222
223 2006-04-29  Yoichi NAKAYAMA  <yoichi@geiin.org>
224
225         * elmo-imap4.el (elmo-imap4-send-command): Use non-synchronizing
226         literals.
227
228 2006-04-21  Yoichi NAKAYAMA  <yoichi@geiin.org>
229
230         * elmo-maildir.el (elmo-maildir-list-location): Reduce
231         `elmo-get-last-modification-time' call.
232
233 2006-04-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
234
235         * elmo-maildir.el (elmo-maildir-list-location): Fixed a regular
236         expression.
237         (elmo-maildir-set-mark): Ditto.
238         (elmo-maildir-delete-mark): Ditto.
239
240 2006-03-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
241
242         * elmo-util.el (elmo-collect-separators-internal): Add 2nd
243         optional argument `separators'.
244
245 2006-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
246
247         * elmo.el (cache-changed): Abolish.
248         (status-changed): New signal.
249         (elmo-message-killed-p): New generic function and define for
250         elmo-folder.
251         (elmo-folder-recover-messages): Ditto.
252         (elmo-message-set-cached): Emit signal `status-changed' instead of
253         `cache-changed'.
254         (elmo-message-status): New macro.
255         (elmo-message-status-folder): Ditto.
256         (elmo-message-status-number): Ditto.
257         (elmo-message-status-set-flags): Ditto.
258         (elmo-message-status-set-killed): Ditto.
259         (elmo-message-status-flags): New function.
260         (elmo-message-status-cached-p): Ditto.
261         (elmo-message-status-killed-p): Ditto.
262
263         * elmo-pipe.el (elmo-pipe-connect-signals): Connect to signal
264         `status-changed' instead of `cache-changed'.
265         (elmo-folder-recover-messages): Define.
266         (elmo-message-killed-p): Ditto.
267
268         * elmo-filter.el (elmo-filter-connect-signals): Connect to signal
269         `status-changed' instead of `cache-changed'.
270
271         * elmo-multi.el (elmo-multi-connect-signals): Ditto.
272         (elmo-message-killed-p): Define.
273         (elmo-folder-recover-messages): Ditto.
274
275         * elmo-version.el (elmo-version): Up to 2.15.3.
276
277 2006-02-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
278
279         * elmo-signal.el (elmo-signal-bindings): Use cons to append
280         element into list.
281         (elmo-define-signal-handler): Add docstring.
282         (elmo-define-signal-filter): Ditto.
283
284         * elmo-multi.el (elmo-multi-connect-signals): Fix the signal name.
285
286 2006-02-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
287
288         * elmo-util.el (elmo-flatten): Don't use recursive call.
289
290         * elmo-search.el (elmo-folder-msgdb-create): Remove an unnecessary
291         assignment.
292         (elmo-folder-message-make-temp-files): Use `number-to-string'
293         instead of `int-to-string'.
294
295 2006-01-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
296
297         * elmo-search.el (elmo-folder-delete-messages): Define.
298
299 2006-01-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
300
301         * elmo-vars.el (elmo-mailing-list-name-spec-list): Fixed
302         customization type.
303         (elmo-mailing-list-count-spec-list): Ditto.
304
305         * elmo-vars.el (elmo-mailing-list-name-spec-list): Merge entries
306         for `list-id'.
307
308 2006-01-22  Yoichi NAKAYAMA  <yoichi@geiin.org>
309
310         * elmo-vars.el (elmo-mailing-list-name-spec-list): Fix list-id
311         handling.
312
313 2006-01-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
314
315         * elmo-vars.el (elmo-mailing-list-name-spec-list): New user option.
316         (elmo-mailing-list-count-spec-list): Ditto.
317
318         * elmo-util.el (elmo-map-until-success): New function.
319         (elmo-string-match-substring): Ditto.
320         (elmo-find-list-match-value): Ditto.
321
322         * modb-entity.el (modb-entity-extract-ml-info-from-x-sequence):
323         Removed.
324         (modb-entity-extract-ml-info-from-subject): Ditto.
325         (modb-entity-extract-ml-info-from-return-path): Ditto.
326         (modb-entity-extract-ml-info-from-delivered-to): Ditto.
327         (modb-entity-extract-ml-info-from-mailing-list): Ditto.
328         (modb-entity-extract-ml-info-from-mailman): Ditto.
329         (modb-entity-extract-mailing-list-info-functions): Ditto.
330         (modb-entity-extract-mailing-list-info): Rewrite with
331         `elmo-find-list-match-value'.
332
333 2006-01-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
334
335         * elmo-net.el (elmo-network-session-retry-count): New user option.
336         (elmo-network-session-buffer-name): New internal function.
337         (elmo-network-session-buffer-create): Ditto.
338         (elmo-network-open-session): Retry open network session
339         `elmo-network-session-retry-count' times.
340
341 2005-12-16  Tetsurou Okazaki  <okazaki@be.to>
342
343         * elmo-util.el (elmo-list-filter): Rewritten.
344
345 2005-12-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
346
347         * elmo-util.el (elmo-string-member): Allow symbol element in list.
348
349 2005-11-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
350
351         * elmo-search.el (elmo-make-search-engine): Use prefix
352         `elmo-search-' for require symbol instead of `else-'.
353         (elmo-search-engine-extprog): New class.
354         (elmo-search-engine-do-search): Remove nil from argument
355         list. Added argument pattern to evaluate element as function.
356         (elmo-search-engine-local-file): Derived from
357         `elmo-search-engine-extprog'.
358         (elmo-search-engine-create-message-entity): Check existance of file.
359         (elmo-search-engine-fetch-message): Ditto.
360         (elmo-search-namazu-index): Follow the API change.
361         (elmo-search-grep-target): Ditto.
362
363 2005-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
364
365         * elmo-spam.el (elmo-spam-message-fetch): Disable multibyte
366         characters of working buffer.
367
368         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
369         Does not bind `default-mime-charset'.
370         (elmo-msgdb-create-message-entity-from-buffer): Removed
371         unnecessary local bind.
372
373         * modb-entity.el (modb-entity-extract-ml-info-from-mailman): New
374         function.
375         (modb-entity-extract-mailing-list-info-functions): Added it.
376
377 2005-11-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
378
379         * modb-legacy.el (elmo-msgdb-append-entity): Execute the process
380         when number and message-id are non-nil.
381
382         * modb-standard.el (elmo-msgdb-append-entity): Ditto.
383
384         * elmo-pop3.el (elmo-pop3-auth-user): Refactoring nested
385         conditional steatment.
386         (elmo-pop3-auth-apop): Likewise.
387         (elmo-network-authenticate-session): Likewise.
388
389 2005-11-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
390
391         * elmo-mime.el (elmo-mime-header-max-column): Set default value as
392         symbol `fill-column'.
393         (elmo-mime-insert-header-from-buffer): Rewrite; ignore errors in
394         decode field value.
395
396         * elmo-util.el (elmo-mime-string): Ignore errors in eword decode.
397         (elmo-decoded-field-body): Ditto.
398
399 2005-11-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
400
401         * elmo-net.el (elmo-net-folder-set-parameters): Rename argument
402         `tokens' to `params'.
403
404 2005-10-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
405
406         * elmo-split.el (elmo-split-subr): Disable multibyte characters of
407         working buffer.
408
409 2005-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
410
411         * elmo-search.el (elmo-search-namazu-index): Fixed the order to
412         decide index.
413
414 2005-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
415
416         * elmo-search.el (elmo-search-engine-alist): Define with defvar;
417         Set default value as nil.
418         (toplevel): Register search engines by
419         `elmo-search-register-engine' if there are not defined.
420
421         * elmo.el (autoload): Added autoload setting for
422         `elmo-search-register-engine'.
423
424 2005-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
425
426         * elmo.el (toplevel): `[' is redefined as the prefix of the search
427         folder instead of nmz folder.
428         (elmo-nmz-default-index-path): Added obsolete variable setting.
429         (elmo-nmz-index-alias-alist): Ditto.
430         (elmo-nmz-use-drive-letter): Ditto.
431
432         * elmo-search.el (elmo-search-register-engine): New function.
433
434         * elmo-nmz.el: Removed.
435
436         * elmo-version.el (elmo-version): Up to 2.15.2.
437
438 2005-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
439
440         * elmo-search.el: New file.
441
442 2005-09-02  Yoichi NAKAYAMA  <yoichi@geiin.org>
443
444         * modb-entity.el (elmo-msgdb-message-match-condition): Add new
445         condition `larger' and `smaller'.
446
447 2005-07-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
448
449         * elmo-util.el (elmo-safe-filename): Rewrite to replace
450         `"' (double quote) into "_Q_".
451
452 2005-07-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
453
454         * elmo-net.el (elmo-net-quote-chars): Abolish.
455         (elmo-net-format-quoted): Ditto.
456
457 2005-06-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
458
459         * elmo.el (elmo-get-folder-function): New variable.
460         (elmo-get-folder): New function.
461         (elmo-folder-rename): Call `elmo-make-folder' with specified
462         mime-charset.
463
464         * elmo-split.el (elmo-split): Use `elmo-get-folder' instead of
465         `elmo-make-folder'.
466         (elmo-split-subr): Ditto.
467
468         * elmo-multi.el (elmo-folder-initialize): Ditto.
469
470         * elmo-internal.el (elmo-folder-list-subfolders): Ditto.
471
472         * elmo-flag.el (elmo-flag-folder-delete-message): Ditto.
473         (elmo-flag-get-folder): Ditto.
474
475         * elmo-filter.el (elmo-folder-initialize): Ditto.
476
477         * elmo-access.el (elmo-folder-initialize): Ditto.
478         (elmo-access-folder-update-children): Ditto.
479
480         * elmo-dop.el (elmo-dop-queue-flush): Ditto.
481         (elmo-dop-queue-flush): Ditto.
482         (elmo-folder-append-buffer-dop-delayed): Ditto.
483         (elmo-dop-spool-folder): Call `elmo-make-folder' with specified
484         mime-charset.
485
486         * elmo-pipe.el (elmo-folder-initialize): Use `elmo-get-folder'
487         instead of `elmo-make-folder'.
488         (elmo-folder-rename): Ditto.  Use `elmo-folder-rename' to
489         destination folder instead of send `elmo-folder-rename-internal'.
490
491         * elmo-shimbun.el (elmo-folder-list-subfolders): Use `shimbun'
492         slot of subfolder instead of create it.
493
494 2005-06-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
495
496         * elmo-util.el (elmo-collect-separators): New function.
497         (elmo-collect-separators-internal): Ditto.
498         (elmo-collect-trail-separators): Ditto.
499         (elmo-parse-separated-tokens): Ditto.
500         (elmo-parse-separated-tokens-internal): Ditto.
501         (elmo-quote-syntactical-element): Ditto.
502
503         * elmo-pop3.el (elmo-pop3-folder-name-syntax): New constant.
504         (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
505
506         * elmo-nntp.el (elmo-nntp-folder-name-syntax): New constant.
507         (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
508         (elmo-nntp-folder-list-subfolders): Quote a user name.
509
510         * elmo-net.el (elmo-net-folder-name-syntax): New constant.
511         (elmo-net-parse-network): Abolish.
512         (elmo-net-folder-set-parameters): New function.
513         (elmo-folder-initialize): Follow the above change.
514
515         * elmo-imap4.el (elmo-imap4-folder-name-syntax): New constant.
516         (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
517         (elmo-folder-list-subfolders): Use
518         `elmo-quote-syntactical-element' instead of
519         `elmo-net-format-quoted' to quote mailbox and user name.
520
521 2005-06-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
522
523         * elmo-util.el (elmo-token-valid-p): New function.
524         (elmo-parse-token): Add optional argument `requirement'.
525         (elmo-parse-prefixed-element): Likewise.
526
527         * elmo-net.el (elmo-net-quote-chars): Renamed from
528         `elmo-net-quote-chars-regexp'.
529         (elmo-net-format-quoted): Add optional argument `extra-chars'.
530
531         * elmo-pop3.el (elmo-folder-initialize): Fix the token separators
532         by info document. Check token `uidl' is started an alphabet.
533
534         * elmo-nntp.el (elmo-folder-initialize): Fix the token separators
535         by info document. Check token `user' is started an alphabet.
536
537         * elmo-imap4.el (elmo-folder-initialize): Ditto.
538         (elmo-folder-list-subfolders): Quote user.
539
540 2005-06-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
541
542         * elmo-util.el (elmo-quoted-specials-list): New constant.
543         (elmo-quoted-token): New function.
544
545         * elmo-net.el (elmo-net-quote-chars-regexp): New constant.
546         (elmo-net-format-quoted): New function.
547         (elmo-net-parse-network): Ditto.
548         (elmo-folder-initialize): Use it.
549
550         * elmo-nntp.el (elmo-folder-initialize): Use
551         `elmo-net-parse-network' to parse network specification instead of
552         `elmo-folder-initialize#elmo-net'.
553
554         * elmo-pop3.el (elmo-folder-initialize): Ditto.
555
556         * elmo-imap4.el (elmo-folder-initialize): Ditto.
557         (elmo-folder-list-subfolders): Quote folder name by
558         `elmo-net-format-quoted'.
559
560 2005-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
561
562         * elmo-nntp.el (elmo-nntp-use-server-search-p): New function.
563         (elmo-folder-search): Use it.
564
565 2005-04-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
566
567         * modb-standard.el (modb-standard-loaded-message-id): Use
568         `elmo-msgdb-message-entity-field'.
569
570 2005-04-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
571
572         * elmo-util.el (elmo-object-load): Call `elmo-set-auto-coding'
573         without filename.
574
575 2005-04-11  Katsumi Yamaoka  <yamaoka@jpl.org>
576
577         * elmo-util.el (elmo-set-auto-coding): New function.
578         (elmo-object-load): Use it.
579
580 2005-04-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
581
582         * elmo-date.el (elmo-time-less-p): Renamed from `elmo-time<'.
583         (elmo-time<): Define as alias of `elmo-time-less-p'.
584         (elmo-time-to-datevec): New function.
585
586         * elmo-date.el (elmo-time-to-days): New function.
587
588 2005-04-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
589
590         * elmo-util.el (elmo-map-recursive): Call `function' if `object'
591         is not cons cell.
592
593 2005-04-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
594
595         * modb-entity.el (modb-entity-encode-string-recursive): Fixed
596         parenthesis.
597
598         * elmo-util.el (elmo-map-recursive): New function.
599
600         * modb-entity.el (modb-entity-decode-string-recursive): Use it.
601         (modb-entity-encode-string-recursive): Ditto.
602
603 2005-04-05  Yuuichi Teranishi  <teranisi@gohome.org>
604
605         * elmo-maildir.el (elmo-maildir-sequence-number): New function.
606         (elmo-maildir-make-unique-string): Throw Emacs 18 away.
607         (elmo-maildir-list-location): Use `elmo-maildir-sequence-number' to
608         compare sequence number when last modified time is nil.
609
610 2005-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
611
612         * elmo-maildir.el (elmo-folder-msgdb-create): Don't sort by date.
613
614         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
615
616 2005-04-01  Yuuichi Teranishi  <teranisi@gohome.org>
617
618         * elmo-maildir.el (elmo-maildir-list-location): Sort by last
619         modification time of the file.
620
621 2005-03-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
622
623         * elmo-util.el (elmo-condition-optimize): Discriminated against
624         preserved fields, extra fields and the other weight.
625
626 2005-03-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
627
628         * modb-entity.el (initialize-instance): Define.
629         (modb-entity-handler-mime-charset): New internal function.
630         (modb-standard-entity-set-field): Use it.
631         (elmo-msgdb-message-entity-field): Ditto.
632         (elmo-msgdb-message-entity-field): Ditto.
633
634         * modb.el (elmo-msgdb-match-condition): Rewrite with
635         `elmo-condition-match'.
636         (elmo-msgdb-match-condition-primitive): New function.
637
638         * modb-entity.el (elmo-msgdb-message-match-condition): Removed
639         arguments `flags' and `numbers'.
640         (elmo-msgdb-match-condition-primitive): Abolished (merged to
641         `elmo-msgdb-message-match-condition').
642         (modb-buffer-entity-handler): New class.
643
644         * elmo.el (elmo-folder-search): Optimize condition to use
645         `elmo-condition-optimize'.
646         (elmo-message-buffer-match-condition): New function.
647         (elmo-message-match-condition): Use
648         `elmo-message-buffer-match-condition' instead of
649         `elmo-buffer-field-condition-match'.
650
651         * elmo-util.el (elmo-condition-match): New function.
652         (elmo-condition-optimize): Ditto.
653         (elmo-buffer-field-primitive-condition-match): Abolish.
654         (elmo-buffer-field-condition-match): Ditto.
655
656         * elmo-archive.el (elmo-archive-field-condition-match): Use
657         `elmo-message-buffer-match-condition' instead of
658         `elmo-buffer-field-condition-match'.
659
660 2005-03-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
661
662         * elmo-flag.el (elmo-global-flags-initialize): Check the
663         existence of the flag directory.
664
665 2005-03-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
666
667         * elmo-access.el (elmo-folder-initialize): Call
668         `elmo-multi-connect-signals'.
669
670         * elmo-pipe.el (elmo-folder-close): Define.
671
672         * elmo-multi.el (elmo-folder-close): Call `elmo-folder-close' with
673         children folders.
674
675         * elmo-filter.el (elmo-folder-close): Call `elmo-folder-close'
676         with target folder.
677
678         * modb-entity.el (elmo-msgdb-message-entity-set-number): Return
679         `number'.
680
681         * elmo-multi.el (elmo-message-entity): Don't use return value of
682         `elmo-message-entity-set-number'.
683
684 2005-03-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
685
686         * modb.el (modb-generic): Added slot `mime-charset'.
687
688         * modb-standard.el (modb-standard): Added slot `overview-handler'.
689         (modb-standard-save-entity-1): Use `modb-entity-handler-equal-p'
690         and `modb-entity-handler-dump-parameters'.
691         (modb-standard-default-entity-handler): Abolish.
692         (elmo-msgdb-message-entity-handler): Save created handler by
693         instance slot.
694
695         * modb-entity.el (modb-entity-handler): Added slot `mime-charset'.
696         (modb-entity-handler-list-parameters): New method.
697         (modb-entity-handler-equal-p): New function.
698         (modb-entity-handler-dump-parameters): Ditto.
699         (modb-entity-parse-address-string): Encode return value.
700         (modb-entity-make-address-string): Decode argument value.
701         (modb-entity-decode-string-recursive): New function.
702         (modb-entity-encode-string-recursive): Ditto.
703         (modb-standard-entity-normalizer): Set to encode field value.
704         (modb-standard-entity-specializer): Follow the above change.
705         (modb-standard-entity-set-field): Bind `elmo-mime-charset' by
706         mime-charset of handler.
707         (elmo-msgdb-message-entity-field): Ditto.
708         (elmo-msgdb-copy-message-entity): Fixed reference to internal
709         structure.
710         (modb-entity-make-mailing-list-info-string): Decode `ml-name'.
711
712         * elmo.el (elmo-folder): Added slot `mime-charset'.
713         (elmo-make-folder): Added argument `mime-charset'.
714         (elmo-folder-msgdb-load): Call `elmo-load-msgdb' with
715         `mime-charest'.
716
717         * elmo-msgdb.el (elmo-load-msgdb): Added argument `mime-charset'.
718         (elmo-make-msgdb): Likewise.
719
720         * elmo-internal.el (elmo-internal-folder-initialize): Call
721         `luna-make-entity' with :mime-charset parameter.
722
723 2005-03-21  Yuuichi Teranishi  <teranisi@gohome.org>
724
725         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Decode
726         encoded words in `from' and `subject' field.
727
728 2005-03-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
729
730         * modb.el (elmo-msgdb-message-field): Add argument `type'.
731         (elmo-msgdb-match-condition): Get handler from entity instead of
732         msgdb.
733
734         * modb-standard.el (modb-standard-economize-entity-size): Abolish.
735         (modb-standard-load-entity): Treat new file format.
736         (modb-standard-save-entity-1): Save as new file format.
737         (modb-standard-save-entity): Split messages into section here.
738         (elmo-msgdb-message-field): Follow the API change.
739         (modb-standard-default-entity-handler): New internal variable.
740         (elmo-msgdb-message-entity-handler): Define.
741
742         * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
743         to `elmo-vars.el'.
744         (modb-entity-field-extractor-alist): New user option.
745         (elmo-msgdb-message-entity-field): Removed argument `decode' and
746         added argument `type'.
747         (elmo-msgdb-copy-message-entity): Add optional argument
748         `make-handler'.
749         (modb-set-field-converter): New function.
750         (modb-convert-field-value): Ditto.
751         (modb-entity-string-decoder): Ditto.
752         (modb-entity-string-encoder): Ditto.
753         (modb-entity-parse-date-string): Ditto.
754         (modb-entity-make-date-string): Ditto.
755         (modb-entity-mime-decoder): Ditto.
756         (modb-entity-mime-encoder): Ditto.
757         (modb-entity-address-list-decoder): Ditto.
758         (modb-entity-address-list-encoder): Ditto.
759         (modb-entity-parse-address-string): Ditto.
760         (modb-entity-make-address-string): Ditto.
761         (modb-entity-create-field-indices): Ditto.
762         (modb-legacy-entity-field-slots): New constant.
763         (modb-legacy-entity-field-indices): Ditto.
764         (modb-legacy-entity-normalizer): New variable.
765         (modb-legacy-entity-specializer): Ditto.
766         (modb-legacy-entity-field-index): New macro.
767         (modb-legacy-entity-set-field): New function.
768         (modb-legacy-make-message-entity): Rewrite.
769         (elmo-msgdb-create-message-entity-from-buffer): Use
770         `elmo-msgdb-get-references-from-buffer'. Use
771         `elmo-decoded-field-body' instead of `elmo-unfold-field-body'.
772         Use `modb-legacy-entity-set-field' instead of
773         `elmo-msgdb-message-entity-set-field'.
774         (elmo-msgdb-message-entity-field): Rewrite.
775         (elmo-msgdb-message-entity-set-field): Ditto.
776         (elmo-msgdb-copy-message-entity): Make new entity by
777         `make-handler' if it specified.
778         (elmo-msgdb-message-match-condition): Define a method of
779         `modb-entity-handler' and follow the API change.
780         (modb-standard-entity-handler): New class.
781         (modb-entity-extract-ml-info-from-x-sequence): New function.
782         (modb-entity-extract-ml-info-from-subject): Ditto.
783         (modb-entity-extract-ml-info-from-return-path): Ditto.
784         (modb-entity-extract-ml-info-from-delivered-to): Ditto.
785         (modb-entity-extract-ml-info-from-mailing-list): Ditto.
786         (modb-entity-extract-mailing-list-info): Ditto.
787         (modb-entity-extract-mailing-list-info-functions): New variable.
788
789         * elmo.el (elmo-message-field): Add optional argument `type'.
790
791         * elmo-vars.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
792         from `modb-entity.el'.
793
794         * elmo-util.el (elmo-object-load): Decode by coding-system from
795         `set-auto-coding-function'.
796         (elmo-object-save): Use `detect-mime-charset-region' and add
797         coding cookie if encode.
798         (elmo-msgdb-get-references-from-buffer): New function.
799         (elmo-parse-addresses): Ditto (renamed from `wl-parse-addresses').
800
801         * elmo-spam.el (elmo-spam-message-spam-p): Follow the API change.
802
803         * elmo-shimbun.el (elmo-shimbun-parse-time-string): Removed.
804         (elmo-shimbun-entity-to-header): Use `shimbun-create-header'
805         instead of `shimbun-make-header' and follow the API change.
806         (elmo-shimbun-update-overview): Follow the API change.
807         (elmo-map-folder-list-message-locations): Ditto.
808
809         * elmo-pipe.el (elmo-message-field): Ditto.
810
811         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
812         Ditto.
813
814         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
815
816         * elmo-multi.el (elmo-message-field): Ditto.
817
818         * elmo-msgdb.el (elmo-message-entity-field): Ditto.
819         (elmo-msgdb-sort-by-date): Ditto.
820         (elmo-msgdb-flag-table): Use `elmo-msgdb-message-field' instead of
821         `elmo-message-entity-field'.
822         (elmo-msgdb-overview-entity-get-from-no-decode): Follow the API
823         change.
824         (elmo-msgdb-overview-entity-get-from): Ditto.
825         (elmo-msgdb-overview-entity-get-subject): Ditto.
826         (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
827         (elmo-msgdb-overview-entity-get-date): Ditto.
828         (elmo-msgdb-overview-entity-get-to): Ditto.
829         (elmo-msgdb-overview-entity-get-cc): Ditto.
830
831         * elmo-mime.el (elmo-message-mime-entity): Ditto.
832         (elmo-mime-collect-message/partial-pieces): Ditto.
833
834         * elmo-filter.el (elmo-message-field): Ditto.
835
836         * elmo-date.el (elmo-datevec-to-time): New function.
837         (elmo-time-parse-date-string): Ditto.
838         (elmo-time-make-date-string): Ditto.
839         (elmo-time<): Ditto.
840
841         * elmo-version.el (elmo-version): Up to 2.15.1.
842
843 2005-03-14  Yoichi NAKAYAMA  <yoichi@geiin.org>
844
845         * elmo-flag.el (elmo-global-flags-initialize): Don't include
846         member of elmo-local-flags.
847
848 2005-03-13  Yuuichi Teranishi  <teranisi@gohome.org>
849
850         * elmo-version.el (elmo-version): Up to 2.15.0.
851
852 2005-03-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
853
854         * elmo.el (elmo-folder-synchronize): Ignore `mask' when
855         `ignore-msgdb' is non-nil.
856
857 2005-03-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
858
859         * elmo-util.el (elmo-condition-in-msgdb-p-internal): Removed.
860         (elmo-condition-in-msgdb-p): Ditto.
861         (elmo-file-field-primitive-condition-match): Ditto.
862         (elmo-file-field-condition-match): Ditto.
863
864         * elmo-localdir.el (elmo-localdir-field-condition-match): Ditto.
865
866 2005-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
867
868         * elmo-flag.el (elmo-folder-list-subfolders): Don't list from
869         subdirectories here.
870         (elmo-global-flags-initialize): New function.
871
872         * elmo.el (toplevel): Added autoload setting for
873         `elmo-global-flags-initialize'.
874
875 2005-03-07  Yoichi NAKAYAMA  <yoichi@geiin.org>
876
877         * elmo.el (message-number-changed): Define new signal.
878         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Emit
879         message-number-changed signal.
880         * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
881         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
882         Respect `elmo-pack-number-check-strict'.
883
884 2005-03-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
885
886         * elmo-signal.el (elmo-connect-signal): Document.
887         (elmo-emit-signal): Ditto.
888         (elmo-emit-signal): It should pass source argument to filter and
889         handler, not slot-source.
890
891 2005-03-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
892
893         * modb.el (elmo-msgdb-update-entity): New API and define generic
894         implement.
895
896         * modb-standard.el (elmo-msgdb-update-entity): Define.
897
898         * modb-entity.el (elmo-msgdb-message-entity-update-fields): New
899         API and define generic implement.
900
901         * elmo.el (update-overview): New singnal.
902
903         * elmo-shimbun.el (elmo-shimbun-update-overview): Rewrite use
904         `elmo-msgdb-update-entity' and emit signal `update-overview'.
905         (elmo-message-entity-parent): Define.
906
907         * elmo-pipe.el (elmo-pipe-connect-signals): Connect to signal
908         `update-overview'.
909
910         * elmo-multi.el (elmo-multi-connect-signals): Ditto.
911
912         * elmo-filter.el (elmo-filter-connect-signals): Ditto.
913
914 2005-02-27  Yuuichi Teranishi  <teranisi@gohome.org>
915
916         * elmo.el (elmo-folder-synchronize): Sort the return value of
917         `elmo-list-diff'.
918
919         * elmo-util.el (elmo-list-diff): Don't care the order of the returned
920         list.
921
922 2005-02-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
923
924         * elmo-util.el (elmo-with-enable-multibyte): Don't bind
925         `default-enable-multibyte-characters'.
926         (elmo-object-load): Use `with-temp-buffer' instead of
927         `elmo-set-work-buf'.
928         (elmo-object-save): Ditto.
929         (elmo-mime-string): Use `elmo-with-enable-multibyte' instead of
930         `elmo-set-work-buf'.
931         (elmo-decoded-field-body): Ditto.
932
933         * elmo-shimbun.el (elmo-shimbun-entity-to-header): Ditto.
934
935         * elmo-sendlog.el (elmo-sendlog-folder-list-message-locations):
936         Use `with-temp-buffer' instead of `elmo-set-work-buf'.
937
938         * elmo-version.el (elmo-version): Up to 2.13.3.
939
940 2005-02-27  Tetsurou Okazaki  <okazaki@be.to>
941
942         * elmo-util.el (elmo-list-diff): Fix the last change.
943         Reverse order of result lists.
944
945 2005-02-26  Yuuichi Teranishi  <teranisi@gohome.org>
946
947         * modb-standard.el (elmo-msgdb-set-flag): Use
948         `elmo-list-diff-nonsortable' instead of `elmo-list-diff'.
949         (elmo-msgdb-unset-flag): Ditto.
950
951         * elmo.el (elmo-strict-folder-diff): Don't use third argument of
952         `elmo-list-diff'.
953
954         * elmo-util.el (elmo-list-diff): Rewrite.
955         (elmo-list-diff-nonsortable): New function.
956
957 2005-02-26  Tetsurou Okazaki  <okazaki@be.to>
958
959         * elmo-util.el (elmo-multibyte-buffer-name): Renamed from
960         `elmo-multibypte-buffer-name'.  All referers are updated.
961
962 2005-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
963
964         * elmo-mime.el (elmo-mime-entity-reassembled-p): New method.
965         (elmo-mime-entity-fragment-p): New function.
966         (mime-elmo-buffer-entity): Added slot `reassembled'.
967         (elmo-message-mime-entity): Added 4th argument `reassemble'.
968         (elmo-message-mime-entity-internal): New function (renamed from
969         `elmo-message-mime-entity').
970         (elmo-mime-inherit-field-list-from-enclosed): New constant.
971         (elmo-mime-make-reassembled-mime-entity): New function.
972         (elmo-message-reassembled-mime-entity): Ditto.
973         (elmo-mime-collect-message/partial-pieces): Ditto.
974
975 2005-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
976
977         * elmo.el (elmo-message-fetch-string): Disable multibyte.
978
979         * elmo-util.el (elmo-multibypte-buffer-name): New constant.
980         (elmo-with-enable-multibyte): New macro.
981
982         * modb-entity.el (elmo-msgdb-get-decoded-cache): Use it.
983
984 2005-02-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
985
986         * elmo-filter.el (elmo-filter-add-flag-count): Removed unused
987         argument `number'.
988         (elmo-filter-connect-signals): Follow the above change.
989
990 2005-02-19  Yuuichi Teranishi  <teranisi@gohome.org>
991
992         * modb-standard.el (elmo-msgdb-unset-flag): Bind inhibit-quit.
993
994         * elmo-maildir.el (elmo-folder-append-messages): Fix the problem
995         that only the first flag is used.
996
997 2005-02-17  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
998
999         * elmo-shimbun.el (elmo-folder-exists-p): Use `shimbun-group-p' 
1000         if available.
1001
1002 2005-02-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1003
1004         * elmo-signal.el: New file.
1005
1006         * elmo.el (toplevel): Require elmo-signal.
1007         (flag-changing, flag-changed, cache-changed): New signal.
1008         (elmo-folder): Remove slog `handlers'.
1009         (elmo-message-set-cached): Use `elmo-emit-signal' instead of
1010         `elmo-folder-notify-event'.
1011         (elmo-folder-set-flag): Likewise. Emit signal `flag-changing'.
1012         (elmo-folder-unset-flag): Ditto.
1013         (elmo-event-handler): Abolish.
1014         (elmo-event-handler-flag-changed): Ditto.
1015         (elmo-event-handler-cache-changed): Ditto.
1016         (elmo-folder-add-handler): Ditto.
1017         (elmo-folder-remove-handler): Ditto.
1018         (elmo-folder-notify-event): Ditto.
1019
1020         * elmo-pipe.el (toplevel): Require elmo-signal.
1021         (elmo-folder-initialize): Call `elmo-pipe-connect-signals'.
1022         (elmo-pipe-connect-signals): New function.
1023         (elmo-message-fetch): Does not call `elmo-folder-notify-event'.
1024         (elmo-folder-set-flag): Ditto.
1025         (elmo-folder-unset-flag): Ditto.
1026         (elmo-message-set-cached): Ditto.
1027
1028         * elmo-multi.el (toplevel): Require elmo-signal.
1029         (elmo-folder-initialize): Call `elmo-multi-connect-signals'.
1030         (elmo-multi-connect-signals): New function.
1031         (elmo-multi-map-numbers): Ditto.
1032         (elmo-message-set-cached): Does not call `elmo-folder-notify-event'.
1033         (elmo-message-fetch): Ditto.
1034         (elmo-folder-set-flag): Ditto.
1035         (elmo-folder-unset-flag): Ditto.
1036
1037         * elmo-filter.el (toplevel): Require elmo-signal.
1038         (elmo-folder-initialize): Call `elmo-filter-connect-signals'.
1039         (elmo-filter-connect-signals): New function.
1040         (elmo-filter-add-flag-count): Ditto.
1041         (elmo-message-fetch): Does not call
1042         `elmo-filter-folder-countup-message-flags' and
1043         `elmo-folder-notify-event'.
1044         (elmo-message-set-cached): Ditto.
1045         (elmo-folder-set-flag): Ditto.
1046         (elmo-folder-unset-flag): Ditto.
1047
1048         * elmo-version.el (elmo-version): Up to 2.13.2.
1049
1050 2005-02-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1051
1052         * elmo-imap4.el (elmo-imap4-flags-to-imap): Preserve argument
1053         `flags'.
1054
1055 2005-02-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1056
1057         * elmo-filter.el (elmo-message-set-cached): Call
1058         `elmo-folder-notify-event' with event `cache-changed'.
1059
1060         * elmo-multi.el (elmo-message-set-cached): Ditto.
1061
1062         * elmo-pipe.el (elmo-message-set-cached): Ditto.
1063
1064 2005-02-16  Yoichi NAKAYAMA  <yoichi@geiin.org>
1065
1066         * elmo.el (elmo-folder-encache): Abolish.
1067
1068 2005-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
1069
1070         * elmo-dop.el (elmo-folder-delete-messages-dop): Delete 'Append' queue.
1071         (elmo-folder-next-message-number-dop): Return appropriate negative
1072         integer.
1073
1074 2005-02-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
1075
1076         * elmo-dop.el (elmo-dop-queue-flush): Remove files in dop spool on
1077         clearing pending operations.
1078         (elmo-folder-next-message-number-dop): Return appropriate negative
1079         integer.
1080
1081 2005-02-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1082
1083         * elmo.el (toplevel): Added autoload setting for `md5'.
1084         (elmo-msgdb-path-encode-threshold): New user option.
1085         (elmo-folder-msgdb-path): Encode msgdb path if its length is
1086         longer than `elmo-msgdb-path-encode-threshold'.
1087
1088         * elmo-flag.el (elmo-global-mark-migrate): Use
1089         `elmo-folder-expand-msgdb-path' instead of
1090         `elmo-folder-msgdb-path'.
1091
1092 2005-02-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1093
1094         * elmo-multi.el (elmo-multi-folder-diff): Fixed problem when the
1095         element of the difference is nil.
1096
1097 2005-02-11  Yuuichi Teranishi  <teranisi@gohome.org>
1098
1099         * elmo-maildir.el (elmo-maildir-separator): Added some OS types
1100         to the check logic of file systems which are weak in colon character.
1101
1102 2005-02-11  Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
1103
1104         * elmo-maildir.el (elmo-maildir-move-file): Simplify.
1105
1106 2005-02-10  Yuuichi Teranishi  <teranisi@gohome.org>
1107
1108         * elmo-maildir.el (elmo-maildir-move-file): New function.
1109         (elmo-folder-append-buffer): Use it.
1110         (elmo-folder-append-messages): Ditto.
1111         (These changes are based on Ron Isaacson's patch [wl-en: 01205])
1112
1113         * elmo-imap4.el (elmo-imap4-decode-folder-string): Call `utf7-decode'.
1114         (elmo-imap4-encode-folder-string): Call `utf7-encode'.
1115
1116         * elmo-maildir.el (elmo-maildir-separator): New user option.
1117         (elmo-maildir-adjust-separator): New macro.
1118         (elmo-maildir-list-location): Use it.
1119         (elmo-maildir-update-current): Ditto.
1120         (elmo-maildir-set-mark): Ditto.
1121         (elmo-maildir-delete-mark): Ditto.
1122         (These changes are based on Hiroya Murata's patch [wl: 13437])
1123
1124 2005-02-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1125
1126         * elmo-nntp.el (elmo-nntp-server-command-index): Add entry `xhdr'.
1127
1128 2005-02-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1129
1130         * elmo-flag.el (elmo-flag-valid-p): Simplify.
1131         (elmo-folder-list-subfolders): Copy `elmo-global-flags'.
1132         (elmo-folder-delete): Update `elmo-global-flag-folder-alist'.
1133
1134 2005-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1135
1136         * elmo-util.el (elmo-passwd-alist-load, elmo-passwd-alist-save):
1137         Use `with-temp-buffer'.
1138
1139 2005-01-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1140
1141         * elmo-flag.el (elmo-folder-initialize): Fixed the last change.
1142
1143         * elmo-util.el (elmo-read-search-condition): Eliminate (renamed to
1144         `wl-read-search-condition').
1145         (elmo-read-search-condition-internal): Likewise.
1146
1147         * elmo-flag.el (elmo-flag-char-regexp): New constant.
1148         (elmo-flag-valid-p): New function.
1149         (elmo-folder-initialize): Check flag name is valid.
1150
1151 2005-01-26  Yuuichi Teranishi  <teranisi@gohome.org>
1152
1153         * elmo-imap4.el (elmo-folder-list-subfolders): Use root mailbox without
1154         delimiter to obtain root mailbox itself.
1155
1156 2005-01-25  Tetsurou Okazaki  <okazaki@be.to>
1157
1158         * elmo-net.el (elmo-network-session-idle-timeout): Fix customization
1159         type mismatch.
1160
1161 2005-01-24  Yuuichi Teranishi  <teranisi@gohome.org>
1162
1163         * elmo-mime.el (elmo-mime-entity-display): Bind elmo-message-displaying
1164         as t.
1165
1166 2005-01-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1167
1168         * elmo-shimbun.el (toplevel): Require cl at compile.
1169
1170         * elmo-nntp.el (toplevel): Ditto.
1171
1172         * elmo-nmz.el (toplevel): Ditto.
1173
1174         * elmo-multi.el (toplevel): Ditto.
1175
1176         * elmo-file.el (toplevel): Ditto.
1177
1178         * elmo-dop.el (toplevel): Ditto.
1179
1180         * elmo-archive.el (toplevel): Likewise elmo and cl (at compile).
1181
1182 2005-01-20  Yuuichi Teranishi  <teranisi@gohome.org>
1183
1184         * mmimap.el (mmimap-make-mime-entity): Set children's top node number
1185         as nil.
1186
1187         * elmo.el (elmo-message-fetch): Return t even when the output buffer
1188         size of elmo-message-fetch-internal is 0 byte.
1189
1190 2005-01-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1191
1192         * elmo-maildir.el (elmo-map-message-fetch): Fixed last change.
1193
1194 2005-01-13  Yoichi NAKAYAMA  <yoichi@geiin.org>
1195
1196         * elmo-shimbun.el (elmo-folder-plugged-p): Treat "@" as
1197         always plugged.
1198
1199 2005-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1200
1201         * elmo-maildir.el (elmo-map-message-fetch): Call
1202         `elmo-map-folder-set-flag'.
1203
1204         * elmo.el (elmo-message-fetch-with-cache-process): Abolish.
1205         (elmo-message-fetch): Merge from
1206         `elmo-message-fetch-with-cache-process'.
1207
1208         * elmo-sendlog.el (elmo-message-fetch-with-cache-process): Abolish.
1209         (elmo-message-fetch): Define.
1210
1211         * elmo-nntp.el (elmo-message-fetch): Renamed from
1212         `elmo-message-fetch-with-cache-process'.
1213
1214         * elmo-cache.el (elmo-message-fetch-with-cache-process): Abolish.
1215         (elmo-message-fetch): Define.
1216
1217         * elmo-util.el (elmo-condition-parse-primitive): Downcase
1218         search-key.
1219
1220         * elmo-shimbun.el (shimbun-mua-search-id): Use
1221         `elmo-message-entity' instead of `elmo-msgdb-message-entity'.
1222         (elmo-shimbun-folder-shimbun-header): Ditto.
1223         (elmo-shimbun-get-headers): Ditto.
1224         (elmo-shimbun-update-overview): Ditto.
1225
1226         * elmo-pipe.el (elmo-folder-detach-messages): Define.
1227
1228         * elmo-net.el (elmo-folder-list-messages-unplugged): Use
1229         `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
1230
1231 2005-01-13  Yuuichi Teranishi  <teranisi@gohome.org>
1232
1233         * elmo.el (elmo-message-fetch): Unset unread flag on server when
1234         message is cached.
1235         (elmo-message-fetch-string): Fixed argument.
1236
1237 2005-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1238
1239         * elmo.el (elmo-message-fetch): Removed argument `outbuf' and
1240         exchange order of arguments `section' and `unread'.
1241         (elmo-message-encache): Follow the API change.
1242         (elmo-message-match-condition): Ditto.
1243         (elmo-generic-folder-append-messages): Ditto.
1244         (elmo-message-fetch-string): New function.
1245
1246         * elmo-split.el (elmo-split-subr): Ditto.
1247
1248         * elmo-spam.el (elmo-spam-message-fetch): Ditto.
1249
1250         * elmo-pipe.el (elmo-message-fetch): Ditto.
1251
1252         * elmo-multi.el (elmo-message-fetch): Ditto.
1253
1254         * elmo-mime.el (elmo-message-mime-entity): Ditto.
1255
1256         * elmo-flag.el (elmo-global-flag-set-internal): Ditto.
1257
1258         * elmo-filter.el (elmo-message-fetch): Ditto.
1259
1260         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.
1261
1262         * elmo-imap4.el (mime-imap-location-section-body): Use
1263         `elmo-message-fetch-string' instead of `elmo-message-fetch' and
1264         follow the API change.
1265
1266 2005-01-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1267
1268         * elmo-access.el: New file.
1269
1270         * elmo-null.el: Ditto.
1271
1272         * elmo-internal.el (elmo-internal-folder-list): Added `null'.
1273
1274 2005-01-08  Yuuichi Teranishi  <teranisi@gohome.org>
1275
1276         * elmo-net.el (elmo-network-session-idle-timeout): New option.
1277         (elmo-network-session): New attribute `last-accessed'.
1278         (elmo-network-get-session): Discard network cache if elapsed time
1279         since last-accessed is larger than elmo-network-session-idle-timeout.
1280
1281 2005-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1282
1283         * elmo.el (elmo-find-fetch-strategy): Removed argument `entity'
1284         and added `number', `require-entireness'.
1285         (elmo-find-fetch-strategy): Rewrite.
1286         (elmo-message-fetch): Unset `unread' flag when argument unread is
1287         non-nil.
1288
1289         * elmo-spam.el (elmo-spam-message-fetch): Follow the API change.
1290
1291         * elmo-multi.el (elmo-find-fetch-strategy): Ditto.
1292         (elmo-message-fetch): Notify event `flag-changed'.
1293
1294         * elmo-pipe.el: Likewise.
1295
1296         * elmo-mime.el (elmo-mime-entity): New class.
1297         (elmo-mime-entity-display-p): New generic function.
1298         (elmo-mime-entity-display): Ditto.
1299         (elmo-mime-entity-display-as-is): Ditto.
1300         (mime-elmo-buffer-entity, mime-elmo-imap-entity): Inherit
1301         elmo-mime-entity.
1302         (elmo-make-mime-message-location): Removed.
1303         (elmo-mime-message-display): Ditto.
1304         (elmo-mime-display-as-is): Ditto.
1305         (elmo-message-mime-entity): New function.
1306
1307         * elmo-imap4.el (elmo-find-fetch-strategy): Rewrite.
1308
1309         * elmo-filter.el (elmo-find-fetch-strategy): Follow the API
1310         change.
1311         (elmo-message-fetch): Re-count flagged message number and notify
1312         event `flag-changed'.
1313
1314         * elmo-version.el (elmo-version): Up to 2.13.1.
1315
1316 2005-01-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1317
1318         * elmo-filter.el (elmo-message-field): Define.
1319         (elmo-message-set-field): Ditto.
1320
1321 2004-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1322
1323         * elmo.el (elmo-message-set-cached): Call
1324         `elmo-folder-notify-event' with cache-changed.
1325         (elmo-event-handler-cache-changed): New generic function.
1326
1327 2004-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
1328
1329         * elmo-maildir.el (elmo-folder-append-buffer): Use elmo-copy-file
1330         instead of elmo-add-name-to-file.
1331         (elmo-folder-append-messages): Ditto.
1332
1333 2004-12-21  Yoichi NAKAYAMA  <yoichi@geiin.org>
1334
1335         * elmo.el (elmo-folder-update-threshold): Add nil to range.
1336
1337 2004-12-12  Yuuichi Teranishi  <teranisi@gohome.org>
1338
1339         * elmo-version.el (elmo-version): Up to 2.13.0.
1340
1341         * elmo-vars.el (elmo-msgdb-convert-type): Changed default value to
1342         `auto'.
1343
1344         * modb-standard.el (modb-standard-economize-entity-size): Changed
1345         default value to `t'.
1346
1347         * elmo-vars.el (elmo-msgdb-default-type): Changed default value to
1348         `standard'.
1349
1350         * elmo-imap4.el (elmo-network-initialize-session): Erase buffer
1351         after parsing greeting string.
1352
1353 2004-11-23  Daishi Kato <daishi@axlight.com>
1354
1355         * elsp-spamoracle.el (elmo-spam-spamoracle-spam-header-regexp):
1356         New user option.
1357         (elmo-spam-spamoracle-call): Use it.
1358
1359 2004-11-23  Yoichi NAKAYAMA  <yoichi@geiin.org>
1360
1361         * elmo.el (elmo-message-accessible-p): Message in dop spool
1362         is accessible.
1363
1364 2004-11-23  Daishi Kato <daishi@axlight.com>
1365
1366         * elsp-spamoracle.el: New file.
1367
1368 2004-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1369
1370         * elmo.el (elmo-message-flags-for-append): New function.
1371         (elmo-generic-folder-append-messages): Use it.
1372
1373         * elmo-split.el (elmo-split-subr): Ditto.
1374
1375         * elmo-dop.el (elmo-dop-spool-folder-append-buffer): Add argument
1376         `flags' and use elmo-folder-append-buffer instead of
1377         write-region-as-binary.
1378         (elmo-dop-filter-pending-messages): New function.
1379         (elmo-folder-append-buffer-dop): Call
1380         elmo-dop-spool-folder-append-buffer with `flag'.
1381         (elmo-folder-set-flag-dop): Filter messages by
1382         elmo-dop-filter-pending-messages.
1383         (elmo-folder-unset-flag-dop): Ditto.
1384         (elmo-folder-append-buffer-dop-delayed): Use
1385         elmo-message-flags-for-append to get flags of the message and
1386         simplify.
1387
1388 2004-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
1389
1390         * elmo-mime.el (elmo-mime-display-as-is): Treat ignore-cache argument.
1391
1392 2004-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1393
1394         * elmo.el (elmo-folder): Added handlers slot.
1395         (elmo-event-handler): New class.
1396         (elmo-event-handler-flag-changed): New API.
1397         (elmo-folder-add-handler): New function.
1398         (elmo-folder-remove-handler): Ditto.
1399         (elmo-folder-notify-event): Ditto.
1400         (elmo-folder-set-flag): Call `elmo-folder-notify-event' with event
1401         `flag-changed'.
1402         (elmo-folder-unset-flag): Ditto.
1403
1404         * elmo-pipe.el (elmo-folder-set-flag): Ditto.
1405         (elmo-folder-unset-flag): Ditto.
1406
1407         * elmo-multi.el (elmo-folder-set-flag): Ditto.
1408         (elmo-folder-unset-flag): Ditto.
1409
1410         * elmo-filter.el (elmo-folder-set-flag): Ditto.
1411         (elmo-folder-unset-flag): Ditto.
1412
1413         * elmo-version.el (elmo-version): Up to 2.11.33.
1414
1415 2004-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1416
1417         * modb-legacy.el (elmo-msgdb-unset-flag): Accept flag `all'.
1418
1419 2004-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1420
1421         * elmo-multi.el (elmo-folder-unset-flag): Ignore errors.
1422
1423         * elmo-flag.el (elmo-folder-unset-flag): Define.
1424         (elmo-global-flag-detach): Do process when the flag is not target
1425         flag.
1426
1427 2004-10-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1428
1429         * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): New
1430         variable.
1431         (elmo-msgdb-create-message-entity-from-buffer): Use it.
1432
1433 2004-10-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1434
1435         * elmo-filter.el (elmo-filter-folder-copy-flag-count): New
1436         function.
1437         (elmo-folder-delete-messages): Detach messages before delete
1438         messages from target folder.
1439         (elmo-folder-detach-messages): Set updated number-list to slot.
1440
1441 2004-10-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1442
1443         * elmo-filter.el (elmo-folder-detach-messages): Always return t.
1444
1445 2004-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1446
1447         * elmo.el (elmo-generic-folder-commit): Fixed parenthesis.
1448
1449 2004-10-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1450
1451         * elmo.el (elmo-folder-delete-messages-internal): New API (for
1452         internal use only).
1453         (elmo-generic-folder-commit): Save `killed-list' even if msgdb is
1454         not modified.
1455         (elmo-folder-delete-messages): Define.
1456         (elmo-folder-move-messages): Don't call
1457         `elmo-folder-detach-messages'.
1458         (elmo-folder-synchronize): Rewrite.
1459         (elmo-folder-detach-messages): Delete numbers from `killed-list'.
1460
1461         * elmo-util.el (elmo-last): New function.
1462         (elmo-set-list): Ditto.
1463         (elmo-number-set-delete-list): Ditto.
1464         (elmo-number-set-delete): Ditto.
1465
1466         * elmo-shimbun.el (elmo-folder-delete-messages): Define.
1467
1468         * elmo-map.el (elmo-folder-delete-messages-internal): Renamed from
1469         `elmo-folder-delete-messages' and don't delete location map.
1470         (elmo-folder-detach-messages): Define.
1471
1472         * elmo-imap4.el (elmo-folder-delete): Use
1473         `elmo-folder-delete-messages-internal' instead of
1474         `elmo-folder-delete-messages'.
1475
1476         * elmo-filter.el (elmo-folder-delete-messages): Call
1477         `elmo-folder-detach-messages'.
1478         (elmo-folder-detach-messages): Don't call
1479         `elmo-folder-detach-messages' for target folder.
1480
1481         * elmo-cache.el (elmo-map-folder-delete-messages): Return t when
1482         message deletion is succeeded.
1483
1484         * elmo-maildir.el (elmo-map-folder-delete-messages): Ditto.
1485
1486         * elmo-archive.el (elmo-folder-delete-messages-internal): Renamed
1487         from `elmo-folder-delete-messages'.
1488
1489         * elmo-flag.el (elmo-folder-delete-messages-internal): Ditto.
1490
1491         * elmo-localdir.el (elmo-folder-delete-messages-internal): Ditto.
1492
1493         * elmo-net.el (elmo-folder-delete-messages-internal): Ditto.
1494
1495         * elmo-version.el (elmo-version): Up to 2.11.32.
1496
1497 2004-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
1498
1499         * elmo.el (autoload): Added autoload setting for `elmo-local-flag-p'.
1500         (elmo-global-flag-list): Added obsolete variable setting.
1501
1502         * elmo-vars.el (elmo-preserved-flags): Fixed docstring.
1503
1504         * elmo-mime.el (elmo-mime-display-header-analysis): New variable.
1505         (elmo-mime-insert-header-from-buffer): Don't decode header content when
1506         `elmo-mime-display-header-analysis' is nil.
1507
1508         * elmo-flag.el (elmo-global-flags): Renamed from
1509         `elmo-global-flag-list' (All other related portions are changed).
1510         (elmo-local-flags): New variable.
1511         (elmo-local-flag-p): New function.
1512         (elmo-global-flag-set-internal): Cause an error when flag is not
1513         global.
1514
1515 2004-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
1516
1517         * elmo-util.el (elmo-concat-path): Treat empty path.
1518
1519 2004-10-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1520
1521         * elmo-split.el (elmo-split-address-equal): Fixed typo (field =>
1522         field-or-fields).
1523         (elmo-split-address-match): Ditto.
1524         (elmo-split-equal): Ditto.
1525         (elmo-split-match): Ditto.
1526
1527 2004-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
1528
1529         * elmo.el (elmo-message-flags): Abolish optional argument `msgid'.
1530         (elmo-generic-folder-append-messages): If src message exists but
1531         has no flag, pass (read) for the FLAG argument of
1532         `elmo-folder-append-buffer'. Otherwise, pass nil.
1533
1534         * elmo-split.el (elmo-split-subr): Likewise.
1535
1536         * elmo-pipe.el (elmo-message-flags): Abolish optional argument `msgid'.
1537
1538         * elmo-multi.el (elmo-message-flags): Ditto.
1539
1540         * elmo-filter.el (elmo-message-flags): Ditto.
1541
1542         * elmo.el (elmo-folder-append-buffer): Fix docstring.
1543         (elmo-generic-folder-append-messages): If elmo-message-flags return nil,
1544         pass (read) for the FLAG argument of elmo-folder-append-buffer.
1545         
1546 2004-10-02  Yoichi NAKAYAMA  <yoichi@geiin.org>
1547
1548         * elmo-split.el (elmo-split-rule): Update comment.
1549         (elmo-split-address-equal): Allow 2nd argument to be a list.
1550         (elmo-split-address-match): Ditto.
1551         (elmo-split-equal): Ditto.
1552         (elmo-split-match): Ditto.
1553
1554 2004-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
1555
1556         * elmo.el (elmo-folder-append-buffer): Fix docstring.
1557         (elmo-folder-append-msgdb): Don't treat `read'.
1558         (elmo-message-flags): Don't return `read'.
1559
1560         * elmo-dop.el (elmo-folder-set-read-delayed): Don't treat `read'.
1561         (elmo-folder-unset-read-delayed): Ditto.
1562
1563         * elmo-imap4.el (elmo-imap4-flags-to-imap): Ditto.
1564
1565 2004-09-26  Yoichi NAKAYAMA  <yoichi@geiin.org>
1566
1567         * elmo-imap4.el (elmo-folder-delete): Clear current-mailbox after
1568         deletion.
1569
1570 2004-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
1571
1572         * elmo-mime.el (elmo-mime-display-as-is-internal): Insert decoded
1573         header.
1574
1575 2004-09-23  Yuuichi Teranishi  <teranisi@gohome.org>
1576
1577         * modb-standard.el (modb-standard-load-entity): Don't bind inhibit-quit
1578         here.
1579         (elmo-msgdb-save): Bind inhibit-quit.
1580         (modb-standard-message-entity): Ditto.
1581
1582 2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
1583
1584         * elmo-database.el: No need to require elmo-msgdb.
1585
1586 2004-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1587
1588         * elmo-nmz.el (elmo-folder-list-subfolders): Use `directory-files'
1589         instead of `elmo-list-subdirectories'.
1590
1591 2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
1592
1593         * elmo-nmz.el (elmo-folder-initialize): Enable "[" for access
1594         group entry.
1595         (elmo-folder-exists-p): "[" is empty.
1596         (elmo-folder-list-subfolders): Define.
1597         (elmo-folder-have-subfolder-p): Ditto.
1598
1599 2004-09-19  Yoichi NAKAYAMA  <yoichi@geiin.org>
1600
1601         * elmo-flag.el (elmo-folder-delete): Update elmo-global-flag-list.
1602
1603 2004-09-14  Tetsurou Okazaki  <okazaki@be.to>
1604
1605         * elmo-filter.el (elmo-folder-local-p): Define.
1606
1607 2004-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1608
1609         * modb-standard.el (modb-standard-loaded-message-id): Return nil
1610         when entity is garbaged.
1611         (modb-standard-save-entity-1): Don't modify the original entity.
1612
1613 2004-09-13  Tetsurou Okazaki  <okazaki@be.to>
1614
1615         * elmo-util.el (elmo-delete-if): Reduce loop strength in a while loop.
1616
1617 2004-09-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1618
1619         * elmo.el (elmo-strict-folder-diff): Use
1620         `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
1621
1622 2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
1623
1624         * modb.el (elmo-msgdb-flag-available-p): New generic function.
1625         (elmo-msgdb-message-number): Ditto.
1626         (elmo-msgdb-message-field): Ditto.
1627
1628         * modb-standard.el (modb-standard-economize-entity-size): New user
1629         option.
1630         (modb-standard-loaded-message-id): New inline function.
1631         (modb-standard-load-entity): Use it.
1632         (modb-standard-save-entity-1): If `modb-standard-economize-entity-size',
1633         throw message-id string away.
1634         (elmo-msgdb-flag-available-p): Define.
1635         (elmo-msgdb-message-number): Ditto.
1636         (elmo-msgdb-message-field): Ditto.
1637
1638         * modb-legacy.el (modb-legacy-flag-list): Fix typo
1639         (suppoted -> supported).
1640         (modb-legacy-supported-flag-p): Ditto.
1641         (elmo-msgdb-set-flag): Ditto.
1642         (elmo-msgdb-unset-flag): Ditto.
1643         (elmo-msgdb-flag-available-p): Define.
1644
1645         * modb-entity.el (elmo-message-entity-handler): If CAR element of entity
1646         is `t', treat it as legacy entity.
1647         
1648         * elmo.el (elmo-message-flag-available-p): New generic function.
1649         (elmo-message-number): Ditto.
1650         (elmo-message-field): Use `elmo-msgdb-message-field'.
1651
1652         * elmo-vars.el (elmo-preserved-flags): Added `forwarded'.
1653
1654         * elmo-pipe.el (elmo-message-flag-available-p): Define.
1655         (elmo-message-number): Ditto.
1656
1657         * elmo-multi.el (elmo-message-number): Define.
1658         (elmo-message-flag-available-p): Ditto.
1659
1660         * elmo-filter.el (elmo-message-flag-available-p): Define.
1661         (elmo-message-number): Ditto.
1662
1663         * elmo-flag.el (elmo-flag-folder): Added slot `max-number'.
1664         (elmo-folder-initialize): Load `max-number'.
1665         (elmo-folder-commit): Save it.
1666         (elmo-folder-list-global-flag-messages): Use `elmo-message-number'.
1667         (elmo-global-flag-set-internal): Set up max-number slot.
1668
1669 2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
1670
1671         * elmo-version.el (elmo-version): Up to 2.11.31.
1672
1673 2004-09-09  Yuuichi Teranishi  <teranisi@gohome.org>
1674
1675         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Use
1676         unibyte string of the current buffer for the argument of `md5'
1677         (Reported by Yoichi NAKAYAMA <yoichi@geiin.org>).
1678
1679 2004-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1680
1681         * modb-legacy.el (modb-legacy-flag-list): New constant.
1682         (modb-legacy-suppoted-flag-p): New internal function.
1683         (elmo-msgdb-set-flag): Cause error when `flag' is not supported.
1684         (elmo-msgdb-unset-flag): Ditto.
1685
1686 2004-09-05  Yuuichi Teranishi  <teranisi@gohome.org>
1687
1688         * elmo.el (elmo-make-folder): Remove text properties for prefix.
1689
1690         * elmo-flag.el (elmo-folder-list-subfolders): Fetch flag names
1691         from msgdb.
1692
1693 2004-08-31  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1694
1695         * elmo-multi.el (elmo-folder-count-flags): Changed return value
1696         (follow the API change).
1697
1698         * elmo-filter.el (elmo-folder-count-flags): Ditto.
1699
1700 2004-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
1701
1702         * modb-standard.el (modb-standard-digest-flags): Abolish.
1703         (elmo-msgdb-list-flagged): Use elmo-digest-flags instead.
1704
1705         * elmo-vars.el (elmo-digest-flags): New variable.
1706         (elmo-preserved-flags): Moved from elmo-flag.el.
1707
1708         * elmo-imap4.el (elmo-imap4-flag-to-imap-search-key): New function.
1709         (elmo-imap4-flag-to-imap-criteria): Ditto.
1710         (elmo-imap4-folder-list-flagged): Use it.
1711
1712         * elmo-flag.el (elmo-preserved-flags): Moved to elmo-vars.el.
1713
1714         * elmo.el (elmo-folder-count-flags): Changed return value.
1715
1716         * elmo-flag.el (elmo-preserved-flags): New variable.
1717         (elmo-get-global-flags): Use it.
1718
1719         * modb-standard.el (modb-standard-digest-flags): New variable.
1720         (elmo-msgdb-list-flagged): Use it for `digest'; Add `uncached';
1721         Changed behavior of `any'.
1722
1723         * elmo-imap4.el (elmo-imap4-flag-specs): Added keyword flags
1724         which are defined the Internet draft
1725         (draft-melnikov-imap-keywords-03.txt).
1726         (elmo-imap4-flags-to-imap): New function.
1727         (elmo-folder-append-buffer): Use it.
1728
1729         * modb-legacy.el (modb-legacy-answered-uncached-mark): Fixed typo
1730         in the docstring.
1731
1732         * utf7.el (utf7-fragment-encode): Don't use narrow-to-region to
1733         avoid the bug of Emacs 21.3.
1734
1735 2004-08-31  Yoichi NAKAYAMA  <yoichi@geiin.org>
1736
1737         * utf7.el (utf7-utf-16-coding-system): Avoid error when the
1738         function find-coding-system does not exist.
1739
1740 2004-08-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1741
1742         * elmo-util.el (elmo-condition-parse-search-value): Fixed atom
1743         parsing.
1744
1745 2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
1746
1747         * elmo-pop3.el (elmo-pop3-read-response): Refined the regexp for
1748         response codes.
1749
1750 2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
1751
1752         * elmo-pop3.el (elmo-pop3-read-response): Treat response codes.
1753         (elmo-network-close-session): Follow the changes in
1754         `elmo-pop3-read-response'.
1755         (elmo-pop3-auth-user): Ditto.
1756         (elmo-pop3-auth-apop): Ditto.
1757         (elmo-network-initialize-session): Ditto.
1758         (elmo-network-authenticate-session): Ditto.
1759         (elmo-network-setup-session): Ditto.
1760         (elmo-folder-status): Ditto.
1761         (elmo-message-fetch-plugged): Ditto.
1762         (elmo-pop3-delete-msg): Ditto.
1763
1764 2004-07-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
1765
1766         * elmo-archive.el (elmo-archive-folder-append-buffer): Return nil
1767         on failure.
1768
1769 2004-07-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1770
1771         * elmo-util.el (elmo-set-work-buf): Define edebug spec and indent
1772         style.
1773         (elmo-bind-directory): Ditto.
1774
1775 2004-07-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
1776
1777         * elmo.el (elmo-folder-append-messages): Note on return value.
1778         * elmo-archive.el (elmo-folder-append-messages): Don't return
1779         message numbers which could not be appended.
1780
1781 2004-07-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
1782
1783         * elmo.el (elmo-message-fetch-threshold): Add nil to its range.
1784
1785 2004-06-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1786
1787         * elmo-version.el (elmo-version): Up to 2.11.30.
1788
1789 2004-06-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1790
1791         * elmo.el (elmo-folder-synchronize): Add 5th optional argument
1792         `mask'.
1793
1794         * elmo-pipe.el (elmo-folder-synchronize): Follow the API chagne.
1795
1796         * elmo-multi.el (elmo-folder-synchronize): Likewise.
1797         (elmo-multi-split-numbers): Add elmo-folder object into each
1798         element of return value at first.
1799         (elmo-folder-delete-messages): Follow the above change.
1800         (elmo-folder-detach-messages): Ditto.
1801
1802         * elmo-filter.el (elmo-folder-synchronize): Minimize message
1803         number which is synchronized in target folder.
1804
1805 2004-05-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1806
1807         * elmo-shimbun.el (elmo-shimbun-update-overview-folder-list):
1808         Change default value to symbol `all'.
1809         (elmo-map-message-fetch): Change condition to update overview
1810         follow the above.
1811
1812 2004-05-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
1813
1814         * elmo-shimbun.el (elmo-map-message-fetch): Change default
1815         behavior to update overview.
1816         (elmo-shimbun-update-overview-folder-list): Note it.
1817
1818 2004-05-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1819
1820         * modb-standard.el (modb-standard-message-entity): Avoid infinite
1821         recursive call.
1822
1823 2004-05-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1824
1825         * elmo-spam.el (elmo-spam-register-good-messages): Don't call
1826         buffer-disable-undo, it is unnecessary.
1827         (elmo-spam-register-good-messages): Ditto.
1828
1829         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
1830         Ditto.
1831
1832         * elsp-sa.el (elmo-spam-spamassassin-register-messages): Ditto.
1833
1834 2004-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1835
1836         * elmo-util.el (elmo-set-buffer-multibyte): Abolish.
1837         (elmo-set-work-buf): Use set-buffer-multibyte instead of
1838         elmo-set-buffer-multibyte.
1839         (elmo-object-load): Ditto.
1840         (elmo-save-buffer): Ditto.
1841         (elmo-delete-char): Ditto.
1842         (elmo-file-field-primitive-condition-match): Ditto.
1843         (elmo-mime-string): Ditto.
1844
1845         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Ditto.
1846         (elmo-archive-field-condition-match): Ditto.
1847
1848         * elmo-imap4.el (elmo-imap4-setup-send-buffer): Ditto.
1849
1850         * elmo-net.el (elmo-network-initialize-session-buffer): Ditto.
1851
1852         * elmo-nntp.el (elmo-nntp-parse-overview-string): Ditto.
1853         (elmo-nntp-msgdb-create-message): Ditto.
1854
1855         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
1856
1857         * elmo.el (elmo-message-match-condition): Ditto.
1858         (elmo-message-match-condition): Ditto.
1859
1860         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
1861         Ditto.
1862
1863         * elmo-version.el (elmo-version): Up to 2.11.29.
1864
1865         * elmo-spam.el (elmo-spam-scheme): Add `header' as a candidate.
1866         (elsp-header): New backend.
1867
1868         * elmo-util.el (elmo-decoded-field-body): New function.
1869
1870 2004-05-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1871
1872         * elmo-version.el (elmo-version): Up to 2.11.28.
1873
1874 2004-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1875
1876         * elmo-filter.el: Rewrite.
1877
1878         * elmo-version.el (elmo-version): Up to 2.11.27.
1879
1880 2004-05-05  Yuuichi Teranishi  <teranisi@gohome.org>
1881
1882         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Changed
1883         msgdb path for the localdir folder with absolute path.
1884
1885         * utf7.el: Synch up with latest gnus/utf7.el;
1886         Modified for latest Emacs.
1887
1888 2004-05-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1889
1890         * elmo-shimbun.el (elmo-folder-initialize): Set a dummy when the
1891         shimbun backend couldn't open.
1892
1893 2004-04-25  Tetsurou Okazaki  <okazaki@be.to>
1894
1895         * elmo-pipe.el (elmo-message-folder): Call `elmo-message-folder' recursively.
1896         (elmo-folder-diff): Avoid error `wrong-type-argument number-or-marker-p nil'
1897         when a destination folder is a filter folder.
1898
1899 2004-04-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1900
1901         * elmo.el (elmo-message-flags): Add optional argument `msgid'.
1902         (elmo-generic-folder-append-messages): Call elmo-message-flags
1903         with argument `msgid'.
1904
1905         * elmo-split.el (elmo-split-subr): Ditto.
1906
1907         * elmo-pipe.el (elmo-message-flags): Follow the API change.
1908
1909         * elmo-multi.el (elmo-message-flags): Ditto.
1910
1911 2004-04-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1912
1913         * elmo.el (elmo-folder): Add new slot `flag-table'.
1914         (elmo-folder-flag-table): New API.
1915         (elmo-folder-close-flag-table): Ditto.
1916         (elmo-folder-preserve-flags): New function.
1917         (elmo-generic-folder-append-messages): Use
1918         `elmo-folder-flag-table' and `elmo-folder-close-flag-table'.
1919         Flag of a non-registered message, it sets to nil.
1920         Does not set flag to flag-table.
1921
1922         * elmo-maildir.el (elmo-folder-append-buffer): Use
1923         `elmo-folder-preserve-flags'.
1924         (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
1925         `elmo-folder-close-flag-table'.
1926
1927         * elmo-archive.el (elmo-folder-append-buffer): Fix interface.
1928         (elmo-archive-folder-append-buffer): Use
1929         `elmo-folder-preserve-flags'.
1930
1931         * elmo-cache.el (elmo-folder-append-buffer): Ditto.
1932
1933         * elmo-imap4.el (elmo-folder-append-buffer): Ditto.
1934
1935         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
1936         (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
1937         `elmo-folder-close-flag-table'.
1938
1939         * elmo-version.el (elmo-version): Up to 2.11.26.
1940
1941 2004-04-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
1942
1943         * elmo-vars.el (elmo-network-stream-type-alist): Add direct.
1944
1945         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Don't use
1946         md5's 4th and 5th argument (non-existent in flim one).
1947
1948 2004-04-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1949
1950         * elmo-split.el (elmo-split-subr): Flag of a non-registered
1951         message, It sets to nil.
1952
1953 2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1954
1955         * elmo.el (elmo-folder-list-messages): Merge lists only if both
1956         list is non-nil.
1957
1958 2004-04-16  YAMASHITA Junji <ysjj@unixuser.org>
1959
1960         * elmo.el (elmo-folder-list-messages): Use elmo-uniq-sorted-list.
1961
1962         * elmo-nntp.el (elmo-nntp-make-msglist): Use elmo-make-number-list.
1963
1964         * elmo-util.el (elmo-uniq-sorted-list): New function.
1965         (elmo-make-number-list): Ditto.
1966         (elmo-number-set-to-number-list): Use elmo-make-number-list
1967         and don't use nreverse.
1968
1969 2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1970
1971         * elmo-version.el (elmo-version): Up to 2.11.25.
1972
1973 2004-04-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
1974
1975         * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): If date
1976         field not exists in message, Use md5 message digest of header.
1977
1978 2004-04-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
1979
1980         * elmo.el (elmo-folder-append-buffer): Add note on return value.
1981         * elmo-cache.el (elmo-folder-append-buffer): Return nil on failure.
1982         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
1983         * elmo-split.el (elmo-split-subr): Check return value of
1984         elmo-folder-append-buffer.
1985
1986         * elmo-localdir.el (elmo-folder-append-buffer): Create flag-table.
1987         * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
1988
1989         * elmo-cache.el (elmo-folder-append-buffer): Check existence of
1990         message-id.
1991
1992 2004-04-10  Yoichi NAKAYAMA  <yoichi@geiin.org>
1993
1994         * elmo-split.el (elmo-split-subr): Append message with flag.
1995
1996         * elmo-localdir.el (elmo-folder-append-buffer): Fix interface.
1997         * elmo-flag.el (elmo-folder-append-buffer): Ditto.
1998         * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
1999
2000 2004-04-03  Tetsurou Okazaki  <okazaki@be.to>
2001
2002         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use `elmo-delete-cr-buffer'.
2003         * elmo-nntp.el (elmo-nntp-retrieve-headers): Ditto.
2004         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
2005
2006 2004-03-29  Tetsurou Okazaki  <okazaki@be.to>
2007
2008         * elmo-pop3.el (elmo-pop3-read-contents): Replace an argument `buffer'
2009         with a function call of `process-buffer'.  All callers are updated.
2010         (elmo-pop3-retrieve-headers): Likewise.  Move `process' to the 1st argument.
2011         Remove redundant `set-buffer' in a while loop.
2012
2013 2004-03-28  Tetsurou Okazaki  <okazaki@be.to>
2014
2015         * elmo-pop3.el (elmo-pop3-send-command): Combine `process-send-string'
2016         calls.
2017
2018 2004-03-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2019
2020         * elsp-spamfilter.el (elmo-spam-buffer-spam-p): Call
2021         elsp-spamfilter-register-buffer-internal with current buffer.
2022         (elmo-spam-register-spam-buffer): Ditto.
2023         (elmo-spam-register-good-buffer): Ditto.
2024
2025 2004-03-15  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
2026
2027         * elmo-imap4.el (elmo-folder-list-subfolders): Add root mailbox
2028         if it is not contained in the response(A workaround for courier-imap).
2029
2030 2004-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2031
2032         * elmo-imap4.el (elmo-folder-set-flag-plugged): Fix mismatched
2033         parenthesis.
2034
2035 2004-03-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
2036
2037         * elmo-vars.el (elmo-msgdb-default-type): Remove generic from the
2038         range.
2039
2040 2004-03-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2041
2042         * modb-standard.el (elmo-msgdb-list-flagged): Use append instead
2043         of nconc.
2044
2045         * modb-entity.el (elmo-msgdb-match-condition-primitive): Added
2046         argument handler.
2047         (elmo-msgdb-message-match-condition): Follow the change above.
2048
2049 2004-02-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2050
2051         * elmo-flag.el (elmo-folder-initialize): Complete abbreviated
2052         folder name.
2053
2054 2004-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2055
2056         * elmo.el (elmo-folder-kill-messages): Don't use msgdb directly.
2057
2058 2004-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2059
2060         * elmo.el (elmo-folder-kill-messages): Fix to update killed list.
2061
2062 2004-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2063
2064         * elmo-file.el (elmo-file-find): Fixed the problem when file is
2065         not found.
2066
2067 2004-02-22  Yuuichi Teranishi  <teranisi@gohome.org>
2068
2069         * elmo-file.el (elmo-file-find): Use expand-file-name for return
2070         value.
2071         (elmo-file-command-argument): Undo last change for cygwin.
2072         (elmo-file-detect-content-type): Renamed from elmo-file-detect-format;
2073         Don't return nil.
2074         (elmo-map-message-fetch): Use elmo-file-detect-content-type.
2075
2076 2004-02-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2077
2078         * elmo-file.el (elmo-file-command-argument): Fixed problem when a
2079         value returned from elmo-file-find is nil.
2080
2081 2004-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
2082
2083         * elmo-mime.el (elmo-mime-display-as-is-coding-system): Moved
2084         to elmo-vars.el.
2085
2086         * elmo.el (elmo-message-match-condition): Use elmo-message-fetch
2087         instead of insert-file-contents-as-binary.
2088         (elmo-message-set-field): New generic function.
2089
2090         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Follow the
2091         behavior change on `split-string'.
2092
2093         * elmo-file.el (elmo-file-find): New function.
2094         (elmo-file-command): New user option.
2095         (elmo-file-command-argument): Ditto.
2096         (elmo-file-fetch-max-size): Ditto.
2097         (elmo-file-detect-format): New function.
2098         (elmo-map-message-fetch): Use elmo-file-fetch-max-size;
2099         Use elmo-file-detect-format.
2100         (elmo-map-folder-list-message-locations): Don't treat directories.
2101
2102 2004-02-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2103
2104         * elmo-util.el (elmo-string-partial-p): Removed unused function.
2105         (elmo-passwd-alist-clear): Shred password before clear.
2106         (elmo-remove-passwd): Remove all mached pair.
2107
2108 2004-02-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
2109
2110         * elmo.el (elmo-folder-synchronize): Fix description of the return
2111         value.
2112
2113 2004-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
2114
2115         * elmo.el (elmo-message-fetch-bodystructure): New method.
2116         (elmo-message-fetch-bodystructure): Define default.
2117
2118         * elmo-imap4.el (mime-imap-location-bodystructure): Call
2119         elmo-message-fetch-bodystructure.
2120         (elmo-message-fetch-bodystructure): Define.
2121
2122         * elmo-filter.el (elmo-message-fetch-bodystructure): Define.
2123
2124 2004-02-15  Tetsurou Okazaki  <okazaki@be.to>
2125
2126         * elmo-filter.el (elmo-message-folder): Define.
2127
2128 2004-02-13  Yuuichi Teranishi  <teranisi@gohome.org>
2129
2130         * elmo.el (elmo-message-fetch-with-cache-process): Don't call
2131         elmo-delete-cr-buffer.
2132
2133         * elmo-imap4.el (elmo-imap4-message-fetch): Call elmo-delete-cr-buffer.
2134
2135         * elmo-pop3.el (elmo-message-fetch-plugged): Ditto.
2136
2137         * elmo-nntp.el (elmo-nntp-read-body): Ditto.
2138
2139         * elmo-file.el (elmo-map-message-fetch): Decode body only when content
2140         type seems to be a text.
2141
2142 2004-02-12  Yuuichi Teranishi  <teranisi@gohome.org>
2143
2144         * elsp-sa.el (elmo-spam-register-spam-buffer): Don't specify '--forget'.
2145         (elmo-spam-register-good-buffer): Ditto.
2146         (elmo-spam-spamassassin-register-messages): Ditto.
2147
2148         * elmo-util.el (elmo-string-member-ignore-case): Define with
2149         static-cond.
2150
2151 2004-02-09  Yuuichi Teranishi  <teranisi@gohome.org>
2152
2153         * elmo.el (elmo-folder-type): Undo last change.
2154
2155         * slp.el (slp-exec-wait): Avoid byte-compile warnings.
2156
2157         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Avoid byte-compile
2158         warnings.
2159
2160         * elmo-file.el: New file.
2161         
2162         * modb-standard.el (elmo-msgdb-list-flagged): Treat keyword flags.
2163
2164         * elsp-sa.el (elmo-spam-spamassassin-max-messages-per-process): New
2165         variable.
2166         (elmo-spam-spamassassin-register-messages): New inline function.
2167         (elmo-spam-register-spam-messages): Define.
2168         (elmo-spam-register-good-messages): Ditto.
2169
2170         * elsp-bogofilter.el (elmo-spam-bogofilter-max-messages-per-process):
2171         Fixed typo.
2172
2173         * elmo.el (toplevel): Added autoload setting for
2174         `elmo-get-global-flags'.
2175         (elmo-message-has-global-flag-p): New function.
2176         (elmo-message-set-global-flags): Ditto.
2177         (elmo-folder-type): Improvement for name: format.
2178
2179         * elmo-imap4.el (elmo-imap4-session-flag-available-p): Check
2180         availability of keyword flags.
2181         (elmo-imap4-folder-list-flagged): Treat keyword flags.
2182         (elmo-folder-list-flagged-plugged): Renamed from
2183         elmo-folder-list-flagged-unplugged.
2184         (elmo-imap4-set-flag): If "\*" is treated as permanent flag,
2185         accept any flag as keyword flag.
2186         (elmo-folder-set-flag-plugged): Accept keyword flags.
2187         (toplevel): Added autoload setting for `elmo-get-global-flags'.
2188
2189         * elmo-flag.el (elmo-get-global-flags): New function.
2190
2191         * elmo-filter.el (elmo-folder-diff): Fix total number for filter
2192         folders.
2193
2194         * elmo-version.el (elmo-version): Up to 2.11.24.
2195
2196 2004-02-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
2197
2198         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
2199         elmo-multiple-field-body instead of std11-field-body to check all
2200         headers.
2201
2202 2004-02-07  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2203
2204         * elmo-util.el (elmo-cache-expire): Completion require match "age"
2205         or "size".
2206
2207 2004-01-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2208
2209         * elmo-util.el (elmo-get-hash-val): Check symbol is bound if
2210         unintern is unbound.
2211
2212 2004-01-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
2213
2214         * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
2215         Protect from infinite loop.
2216
2217 2004-01-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2218
2219         * elsp-bogofilter.el
2220         (elmo-spam-bogofilter-max-messages-per-process): New user option.
2221         (elmo-spam-bogofilter-register-messages): New internal function.
2222         (elmo-spam-register-spam-messages): Define.
2223         (elmo-spam-register-good-messages): Ditto.
2224
2225 2004-01-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2226
2227         * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
2228         Added "-vv" if elmo-spam-bogofilter-debug is non-nil.
2229         (elmo-spam-bogofilter-call): Fixed the last change.
2230         (elmo-spam-bogofilter-arguments): Ditto.
2231
2232         * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
2233         Follow the options change of latest bogofilter.
2234
2235         * elsp-bogofilter.el (elmo-spam-bogofilter-spam-switch): Abolish.
2236         (elmo-spam-bogofilter-good-switch): Ditto.
2237         (elmo-spam-bogofilter-arguments-alist): New user option.
2238         (elmo-spam-bogofilter-debug): Ditto.
2239         (elmo-spam-bogofilter-call): Renamed from
2240         `elsp-bogofilter-call-bogofilter'. If elmo-spam-bogofilter-debug
2241         is non-nil, insert output in buffer for debug.
2242         (elmo-spam-bogofilter-arguments): New macro.
2243         (elmo-spam-buffer-spam-p): Use it.
2244         (elsp-bogofilter-register-buffer): Ditto.
2245
2246 2004-01-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2247
2248         * elmo-cache.el (elmo-folder-list-subfolders): Fix directory-files
2249         regexp.
2250
2251 2004-01-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2252
2253         * elsp-bsfilter.el (elmo-spam-bsfilter-shell-program): Set default
2254         value as "ruby".
2255         (elmo-spam-bsfilter-shell-switch): Set default value as nil.
2256         (elmo-spam-bsfilter-program): Set default value as full path for
2257         `bsfilter'.
2258         (elmo-spam-bsfilter-debug): New user option.
2259         (elsp-bsfilter-call-bsfilter): If elmo-spam-bsfilter-debug is
2260         non-nil, insert output in buffer for debug. Fix treating of
2261         argument.
2262
2263 2004-01-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2264
2265         * elmo-maildir.el (elmo-map-folder-set-flag): Use cdr of
2266         `elmo-maildir-flag-specs' element instead of one.
2267         (elmo-map-folder-unset-flag): Ditto.
2268         (Reported by Ken Makimura <macky@astem.or.jp>)
2269
2270         * elmo-imap4.el (elmo-folder-set-flag-plugged): Fixed.
2271         (elmo-folder-unset-flag-plugged): Ditto.
2272
2273 2004-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2274
2275         * elmo-nntp.el (elmo-folder-list-flagged): Return a list according
2276         to `reads' slot only if `in-msgdb' is nil.
2277
2278 2004-01-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2279
2280         * elmo-nntp.el (elmo-folder-list-flagged): Undo the last change
2281         and complement argument list.
2282
2283 2004-01-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
2284
2285         * elmo-nntp.el (elmo-folder-list-flagged-internal): Define this
2286         instead of elmo-folder-list-flagged.
2287
2288 2004-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2289
2290         * elmo-spam.el (elmo-spam-scheme): Add 'bsfilter' as a candidate.
2291
2292         * elsp-bsfilter.el: New file.
2293
2294         * elmo-pipe.el (elmo-folder-list-unreads,
2295         elmo-folder-list-answereds,
2296         elmo-folder-list-importants,
2297         elmo-folder-flag-as-important,
2298         elmo-folder-unflag-important,
2299         elmo-folder-flag-as-read,
2300         elmo-folder-unflag-read,
2301         elmo-folder-flag-as-answered,
2302         elmo-folder-unflag-answered): Remove.
2303         (elmo-folder-set-flag): Define.
2304         (elmo-folder-unset-flag): Ditto.
2305
2306         * elmo-nntp.el (elmo-folder-flag-as-read): Remove.
2307         (elmo-folder-set-flag): Define.
2308         (elmo-folder-unset-flag): Ditto.
2309         (elmo-folder-list-unreads): Remove.
2310         (elmo-folder-list-flagged): Define.
2311
2312         * elmo-net.el (elmo-folder-list-flagged-internal): Define.
2313         (elmo-folder-list-unreads,
2314         elmo-folder-list-importants,
2315         elmo-folder-list-answereds,
2316         elmo-folder-list-unreads-plugged,
2317         elmo-folder-list-importants-plugged,
2318         elmo-folder-list-answereds-plugged): Remove.
2319         (elmo-folder-list-flagged-plugged): New method.
2320         (elmo-folder-unflag-important,
2321         elmo-folder-flag-as-important,
2322         elmo-folder-unflag-read,
2323         elmo-folder-flag-as-read,
2324         elmo-folder-unflag-answered,
2325         elmo-folder-flag-as-answered,
2326         elmo-folder-flag-as-read-unplugged,
2327         elmo-folder-unflag-read-unplugged,
2328         elmo-folder-flag-as-important-unplugged,
2329         elmo-folder-unflag-important-unplugged,
2330         elmo-folder-flag-as-answered-unplugged,
2331         elmo-folder-unflag-answered-unplugged): Remove.
2332         (elmo-folder-set-flag): Define.
2333         (elmo-folder-unset-flag): Ditto.
2334         (elmo-folder-set-flag-unplugged): Ditto.
2335         (elmo-folder-unset-flag-unplugged): Ditto.
2336
2337         * elmo-multi.el (elmo-folder-list-unreads,
2338         elmo-folder-list-answereds,
2339         elmo-folder-list-importants,
2340         elmo-folder-flag-as-important,
2341         elmo-folder-unflag-important,
2342         elmo-folder-flag-as-read,
2343         elmo-folder-unflag-read,
2344         elmo-folder-flag-as-answered,
2345         elmo-folder-unflag-answered): Remove.
2346         (elmo-folder-set-flag): Define.
2347         (elmo-folder-unset-flag): Ditto.
2348
2349         * elmo-map.el (elmo-map-folder-unflag-important,
2350         elmo-map-folder-flag-as-important,
2351         elmo-map-folder-unflag-read,
2352         elmo-map-folder-flag-as-read,
2353         elmo-map-folder-unflag-answered,
2354         elmo-map-folder-flag-as-answered): Remove.
2355         (elmo-map-folder-set-flag): New method.
2356         (elmo-map-folder-unset-flag): Ditto.
2357         (elmo-map-folder-list-unreads,
2358         elmo-map-folder-list-importants,
2359         elmo-map-folder-list-answereds): Remove.
2360         (elmo-folder-list-flagged-internal): Define.
2361         (elmo-map-folder-list-flagged): New method.
2362
2363         * elmo-maildir.el (elmo-maildir-flag-specs): New internal variable.
2364         (elmo-map-folder-list-unreads,
2365         elmo-map-folder-list-importants,
2366         elmo-map-folder-list-flagged): Remove.
2367         (elmo-map-folder-list-flagged): Define.
2368         (elmo-map-folder-flag-as-important,
2369         elmo-map-folder-unflag-important,
2370         elmo-map-folder-flag-as-read,
2371         elmo-map-folder-unflag-read,
2372         elmo-map-folder-flag-as-answered,
2373         elmo-map-folder-unflag-answered): Remove.
2374         (elmo-maildir-set-mark-messages): New internal function.
2375         (elmo-map-folder-set-flag): Define.
2376         (elmo-map-folder-unset-flag): Ditto.
2377
2378         * elmo.el (toplevel): Added autoload setting for
2379         `elmo-folder-list-global-flag-messages'.
2380         (elmo-folder-list-unreads,
2381         elmo-folder-list-importants,
2382         elmo-folder-list-answereds): Remove.
2383         (elmo-folder-list-flagged): Use `elmo-folder-list-flagged-internal'.
2384         Return a list whitch merged with messages have global flag.
2385         (elmo-folder-list-flagged-internal): New method.
2386         (elmo-folder-unflag-important,
2387         elmo-folder-flag-as-important,
2388         elmo-folder-unflag-read,
2389         elmo-folder-flag-as-read,
2390         elmo-folder-unflag-answered,
2391         elmo-folder-flag-as-answered): Remove.
2392         (elmo-folder-set-flag): New method.
2393         (elmo-folder-unset-flag): Ditto.
2394         (elmo-message-set-flag):Use `elmo-folder-set-flag'.
2395         (elmo-message-unset-flag):Use `elmo-folder-unset-flag'.
2396
2397         * elmo-imap4.el (elmo-imap4-flag-specs): New internal variable.
2398         (elmo-folder-list-unreads-plugged,
2399         elmo-folder-list-importants-plugged,
2400         elmo-folder-list-answereds-plugged,
2401         elmo-folder-list-flagged-unplugged,
2402         elmo-folder-unflag-important-plugged,
2403         elmo-folder-flag-as-important-plugged,
2404         elmo-folder-unflag-read-plugged,
2405         elmo-folder-flag-as-read-plugged,
2406         elmo-folder-unflag-answered-plugged,
2407         elmo-folder-flag-as-answered-plugged): Remove.
2408         (elmo-folder-set-flag-plugged,
2409         elmo-folder-unset-flag-plugged): Define.
2410
2411         * elmo-flag.el (elmo-folder-initialize): Register to
2412         `elmo-global-flag-list' if flag is not global.
2413         (elmo-folder-append-messages): Set flag to source messages.
2414
2415         * elmo-filter.el (elmo-filter-folder-list-unreads,
2416         elmo-folder-list-unreads,
2417         elmo-filter-folder-list-importants,
2418         elmo-folder-list-importants,
2419         elmo-folder-flag-as-read,
2420         elmo-folder-unflag-read,
2421         elmo-folder-flag-as-important,
2422         elmo-folder-unflag-important,
2423         elmo-folder-flag-as-answered,
2424         elmo-folder-unflag-answered): Remove.
2425         (elmo-folder-set-flag): Define.
2426         (elmo-folder-unset-flag): Ditto.
2427
2428         * elmo-dop.el (elmo-folder-flag-as-read-dop,
2429         elmo-folder-unflag-read-dop,
2430         elmo-folder-flag-as-important-dop,
2431         elmo-folder-unflag-important-dop,
2432         elmo-folder-flag-as-answered-dop,
2433         elmo-folder-unflag-answered-dop): Remove.
2434         (elmo-folder-set-flag-dop,
2435         elmo-folder-unset-flag-dop,
2436         elmo-folder-set-important-delayed,
2437         elmo-folder-unset-important-delayed,
2438         elmo-folder-set-read-delayed,
2439         elmo-folder-unset-read-delayed,
2440         elmo-folder-set-answered-delayed,
2441         elmo-folder-unset-answered-delayed): New function.
2442         (elmo-dop-queue-merge-method-list): Follow the above chagned.
2443         (elmo-dop-queue-method-name-alist): Ditto.
2444
2445         * elmo-version.el (elmo-version): Up to 2.11.23.
2446
2447 2004-01-11  Yuuichi Teranishi  <teranisi@gohome.org>
2448
2449         * elmo-spam.el (elmo-spam-scheme): Add 'sa' as a candidate.
2450
2451         * elsp-sa.el: New file.
2452
2453 2003-12-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2454
2455         * modb-standard.el (modb-standard-message-entity): New function.
2456         (elmo-msgdb-message-entity): Use it.
2457
2458 2003-12-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2459
2460         * elmo-internal.el (elmo-folder-list-subfolders): Rewrite; Fixed
2461         behavior when one-level is nil.
2462
2463         * elmo-flag.el (elmo-folder-list-subfolders): Defined.
2464
2465         * elmo-sendlog.el (elmo-folder-have-subfolder-p): Ditto.
2466
2467 2003-12-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2468
2469         * elmo.el (elmo-folder-set-info-max-by-numdb): Don't use `sort' to
2470         get max number.
2471         (elmo-generic-folder-diff): Ditto.
2472
2473         * elmo-nntp.el (elmo-nntp-catchup-msgdb): Ditto.
2474         (elmo-folder-update-number): Ditto.
2475
2476         * elmo-dop.el (elmo-folder-status-dop): Ditto.
2477         (elmo-folder-next-message-number-dop): Ditto.
2478
2479 2003-12-04  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2480
2481         * elmo-filter.el (elmo-folder-msgdb-create): Use
2482         `elmo-message-entity' and `elmo-message-flags' instead of
2483         `elmo-msgdb-message-entity' and `elmo-msgdb-flags'.
2484
2485 2003-11-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2486
2487         * elmo-spam.el (elmo-spam-processor): Added 3rd argument
2488         `if-exists'.
2489
2490 2003-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2491
2492         * elmo-multi.el (elmo-folder-newsgroups): Simplify.
2493
2494         * elmo-pipe.el (elmo-folder-get-primitive-list): Likewise.
2495
2496         * elmo-filter.el (elmo-folder-get-primitive-list): Fixed.
2497
2498 2003-11-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2499
2500         * elmo-version.el (elmo-version): Up to 2.11.22.
2501
2502 2003-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2503
2504         * modb-standard.el (elmo-msgdb-delete-messages): Always return t.
2505
2506 2003-11-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2507
2508         * modb-standard.el (elmo-msgdb-delete-messages): Dose not process
2509         if the message dose not exist.
2510
2511 2003-11-18  Tetsurou Okazaki  <okazaki@be.to>
2512
2513         * elmo-version.el (elmo-version): Up to 2.11.21.
2514
2515 2003-11-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2516
2517         * modb-standard.el (toplevel): Don't require mime.
2518
2519 2003-11-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2520
2521         * elsp-bogofilter.el (toplevel): Don't require path-util.
2522         (elmo-spam-bogofilter-program): Don't use `exec-installed-p'.
2523         (elmo-spam-bogofilter-header): Abolish.
2524         (elmo-spam-bogofilter-bogosity-positive-spam-header): Ditto.
2525         (elmo-spam-bogofilter-args): New user option.
2526         (elsp-bogofilter-call-bogofilter): New internal function.
2527         (elmo-spam-buffer-spam-p): Use it.
2528         (elsp-bogofilter-register-buffer): Renamed from
2529         `elmo-spam-bogofilter-register-buffer';
2530         Use `elsp-bogofilter-call-bogofilter'.
2531         (elmo-spam-register-spam-buffer): Follow the change above.
2532         (elmo-spam-register-good-buffer): Ditto.
2533
2534 2003-11-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2535
2536         * modb-standard.el (elmo-msgdb-append-entity): If entity or
2537         message-id is nil do nothing.
2538
2539 2003-11-10  Yuuichi Teranishi  <teranisi@gohome.org>
2540
2541         * elmo-imap4.el (elmo-imap4-disuse-server-flag-mailbox-regexp):
2542         Revival.
2543         (elmo-imap4-session): Removed use-flag slot.
2544         (elmo-imap4-session-select-mailbox): Undo last change.
2545         (elmo-folder-use-flag-p): Use
2546         elmo-imap4-disuse-server-flag-mailbox-regexp.
2547
2548 2003-11-09  Yuuichi Teranishi  <teranisi@gohome.org>
2549
2550         * elmo-imap4.el (elmo-imap4-session): Added use-flag slot.
2551         (elmo-imap4-session-select-mailbox): Set it up.
2552         (elmo-folder-use-flag-p): Return value of use-flag slot.
2553
2554 2003-11-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2555
2556         * elmo-msgdb.el (elmo-msgdb-flag-table): Fixed problem when
2557         message-id is nil.
2558         (Reported by MAKINO Takashi <makino@digitalway.co.jp>)
2559
2560         * modb-entity.el (elmo-message-entity-handler): Likewise.
2561
2562 2003-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
2563
2564         * elmo.el (toplevel): Remove setting of autoloding for
2565         elmo-global-flag-initialize.
2566         (elmo-init): Don't call elmo-global-flag-initialize.
2567         (toplevel): Added autoload setting for elmo-global-mark-migrate.
2568
2569         * elmo-flag.el (elmo-global-flag-initialize): Abolish.
2570         (elmo-global-mark-migrate): Don't call it.
2571         (elmo-global-mark-upgrade): Ditto.
2572
2573 2003-11-06  Yuuichi Teranishi  <teranisi@gohome.org>
2574
2575         * elmo-internal.el (elmo-internal-obsolete-folder-list): New variable.
2576         (elmo-folder-initialize): Raise a warning when obsolete folder is used.
2577
2578         * elmo-vars.el (elmo-init-hook): New user option.
2579
2580         * elmo.el (elmo-init): Run the elmo-init-hook.
2581
2582         * elmo-flag.el (elmo-global-mark-migrate): New function.
2583
2584 2003-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2585
2586         * modb-standard.el (elmo-msgdb-set-flag): Simplify;
2587         Undo last change (move to elmo-msgdb-unset-flag).
2588         (elmo-msgdb-unset-flag): Simplify; Unset 'new flag when unread
2589         flag is unset.
2590
2591 2003-11-05  Yuuichi Teranishi  <teranisi@gohome.org>
2592
2593         * modb-standard.el (elmo-msgdb-set-flag): Unset 'new flag when
2594         read flag is set.
2595         (elmo-msgdb-set-flag): Don't remove 'new flag unconditionally.
2596         (elmo-msgdb-unset-flag): Ditto.
2597
2598 2003-11-05  Andreas Fuchs <asf@boinkor.net>
2599
2600         * elmo-split.el (elmo-split): Return split message count.
2601
2602 2003-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2603
2604         * elmo-msgdb.el (elmo-flag-table-get): Check cached if saved flags
2605         is nil.
2606
2607 2003-11-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2608
2609         * elmo.el (elmo-folder-unflag-important): Call
2610         `elmo-global-flag-detach' with 4th argument delete-if-none that is
2611         a symbol `always'.
2612
2613         * elmo-flag.el (elmo-flag-folder-delete-message): Clear hash value
2614         before unset flag.
2615         (elmo-global-flag-detach): Delete the message from flag folder, if
2616         `delete-if-none' is a symbol `always'.
2617
2618 2003-11-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2619
2620         * elsp-spamfilter.el (elsp-spamfilter-decode-buffer): Renamed from
2621         `elmo-spam-spamfilter-decode-buffer'.
2622         (elsp-spamfilter-register-buffer-internal): New internal function.
2623         (elmo-spam-buffer-spam-p): Use it; Follow the API change.
2624         (elmo-spam-register-spam-buffer): Ditto.
2625         (elmo-spam-register-good-buffer): Ditto.
2626
2627         * elsp-bogofilter.el (elmo-spam-buffer-spam-p): Follow the API
2628         change.
2629         (elmo-spam-bogofilter-register-buffer): Added argument `restore'.
2630         (elmo-spam-register-spam-buffer): Follow the API change.
2631         (elmo-spam-register-good-buffer): Ditto.
2632
2633         * elmo-split.el (toplevel): Require elmo-spam when copmile.
2634         (elmo-split-spam-p): Added argument plist; Call
2635         `elmo-spam-buffer-spam-p' with new argument register.
2636
2637         * elmo-spam.el (elmo-spam-buffer-spam-p): Added optional argument
2638         `register'.
2639         (elmo-spam-message-spam-p): Ditto.
2640         (elmo-spam-register-spam-buffer): Added optional argument
2641         `restore'.
2642         (elmo-spam-register-good-buffer): Ditto.
2643         (elmo-spam-register-spam-messages): Ditto.
2644         (elmo-spam-register-good-messages): Ditto.
2645
2646 2003-10-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2647
2648         * elsp-spamfilter.el (elmo-spam-register-spam-buffer): Fixed to
2649         register into good corpus.
2650         (elmo-spam-register-good-buffer): Fixed to register into bad
2651         corpus.
2652
2653 2003-10-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2654
2655         * elmo-version.el (elmo-version): Up to 2.11.20.
2656
2657         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed last
2658         change.
2659
2660         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Determine new
2661         flag without depending on \Recent flag.
2662
2663 2003-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2664
2665         * elsp-spamfilter.el (elsp-spamfilter): Added new slot `modified'.
2666         (elmo-spam-modified-p): Defined.
2667         (elmo-spam-save-status): Set `modified' slot to nil.
2668         (elmo-spam-register-spam-buffer): Set `modified' slot to non nil.
2669         (elmo-spam-register-good-buffer): Ditto.
2670
2671         * elmo-spam.el (elmo-spam-modified-p): New API.
2672
2673 2003-10-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2674
2675         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Abolish
2676         duplicate definition.
2677
2678         * elmo-util.el (elmo-unfold-field-body): New function.
2679         (elmo-msgdb-get-message-id-from-buffer): Use it.
2680
2681         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
2682         Fixed the last change; Use elmo-unfold-field-body.
2683
2684 2003-10-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2685
2686         * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
2687         Unfold date value.
2688
2689 2003-10-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2690
2691         * elmo-spam.el (elmo-spam-save-status): New API.
2692
2693         * elsp-spamfilter.el: New file.
2694
2695 2003-10-21  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2696
2697         * elmo-split.el (toplevel): Add `elmo-spam-processor' args.
2698
2699 2003-10-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2700
2701         * elmo-split.el (elmo-split-spam-p): New function.
2702
2703         * elmo-spam.el: New file.
2704
2705         * elsp-bogofilter.el: Ditto.
2706
2707 2003-10-15  Yuuichi Teranishi  <teranisi@gohome.org>
2708
2709         * elmo.el (elmo-folder-next-message-number): New API.
2710         (elmo-folder-next-message-number): Define.
2711         (elmo-message-field): Don't check folder length.
2712
2713         * elmo-net.el (elmo-folder-next-message-number): Define.
2714         (elmo-folder-next-message-number-unplugged): Define.
2715
2716         * elmo-map.el (elmo-folder-next-message-number): Define.
2717         (elmo-folder-delete-messages): Clear hash value.
2718
2719         * elmo-imap4.el (elmo-folder-next-message-number-plugged): Define.
2720
2721         * elmo-dop.el (elmo-folder-next-message-number-dop): New function.
2722         (elmo-folder-delete-messages-dop-delayed): Always return t.
2723
2724         * elmo-version.el (elmo-version): Up to 2.11.19.
2725
2726 2003-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2727
2728         * modb-legacy.el (elmo-msgdb-append-entity): Fixed the last
2729         change.
2730
2731         * modb-legacy.el (elmo-msgdb-append-entity): Registered an
2732         identical cons cell into the mark-alist and the hash table.
2733
2734 2003-10-08  Yuuichi Teranishi  <teranisi@gohome.org>
2735
2736         * elmo-pipe.el (elmo-pipe-folder-list-target-messages): Call
2737         elmo-folder-list-messages with argument `visible-only' as t.
2738
2739         * elmo-filter.el (elmo-folder-search-requires-msgdb-p): Define.
2740         (elmo-folder-msgdb-create): Check the target folder.
2741
2742 2003-10-07  Yuuichi Teranishi  <teranisi@gohome.org>
2743
2744         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Use
2745         `permanentflag' instead of `flags'.
2746         (elmo-folder-open): Ditto.
2747         (elmo-imap4-set-flag): Treat \Deleted flag as an exception.
2748         (elmo-imap4-disuse-server-flag-mailbox-regexp): Abolish.
2749         (elmo-folder-use-flag-p): Always return t.
2750         (elmo-imap4-session-select-mailbox): Use value of `flags' if
2751         `permanentflags' does not exist.
2752         (elmo-folder-open): Ditto.
2753
2754 2003-10-06  Yuuichi Teranishi  <teranisi@gohome.org>
2755
2756         * modb-legacy.el (elmo-msgdb-message-entity): Return nil when key
2757         is nil.
2758         * modb-standard.el (elmo-msgdb-message-entity): Ditto.
2759
2760         * elmo-imap4.el (elmo-imap4-session): Added new slot `flags'.
2761         (elmo-imap4-session-select-mailbox): Set it according to the SELECT
2762         response.
2763         (elmo-folder-open): Ditto.
2764         (elmo-imap4-set-flag): Send store flag command only when the `flags'
2765         slot of the session includes the flag.
2766         (elmo-imap4-session-flag-available-p): New function.
2767         (elmo-imap4-folder-list-flagged): Ditto.
2768         (elmo-folder-list-unreads-plugged): Use it.
2769         (elmo-folder-list-importants-plugged): Ditto.
2770         (elmo-folder-list-answereds-plugged): Ditto.
2771         (elmo-imap4-search-internal-primitive): Ditto.
2772         (elmo-imap4-folder-list-any-plugged,
2773         elmo-imap4-folder-list-digest-plugged): Abolish.
2774
2775         * elmo-filter.el (elmo-folder-search): Don't call elmo-list-filter
2776         if numbers is nil.
2777
2778 2003-10-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
2779
2780         * elmo-util.el (toplevel): Require emu for char-list-to-string.
2781
2782 2003-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
2783
2784         * elmo-util.el (elmo-get-hash-val): Simplify.
2785         (elmo-set-hash-val): Rewrite.
2786
2787 2003-09-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2788
2789         * elmo.el (elmo-folder-list-messages): Append killed messages into
2790         result if `visible-only' is nil and `in-msgdb' is non-nil.
2791
2792         * elmo-util.el (elmo-uniq-list): Added optional argument
2793         `delete-function'.
2794
2795         * modb.el (elmo-msgdb-flag-count): New API.
2796
2797         * modb-standard.el (modb-standard): Added slot flag-count.
2798         (modb-standard-countup-flags): New function.
2799         (modb-standard-load-flag): Call it.
2800         (elmo-msgdb-append): Ditto.
2801         (elmo-msgdb-clear): Clear slot flag-count.
2802         (elmo-msgdb-set-flag): Call modb-standard-countup-flags.
2803         (elmo-msgdb-unset-flag): Treat `all' flag and call
2804         modb-standard-countup-flags.
2805         (elmo-msgdb-flag-count): Define.
2806         (elmo-msgdb-append-entity): Call modb-standard-countup-flags.
2807         (elmo-msgdb-delete-messages): Ditto.
2808
2809         * modb-legacy.el (elmo-msgdb-unset-flag): Treat `all' flag.
2810         (elmo-msgdb-flag-count): Define.
2811
2812         * elmo.el (elmo-folder-list-messages): Undo last change.
2813         (elmo-folder-count-flags): Use elmo-msgdb-flag-count.
2814         (elmo-folder-kill-messages): Unset all flags to numbers.
2815
2816         * elmo-sendlog.el (elmo-folder-delete-messages): Rewrite; use
2817         elmo-folder-kill-messages.
2818
2819         * elmo-nntp.el (elmo-folder-delete-messages): Ditto.
2820         (elmo-nntp-folder-delete-messages): Abolish.
2821
2822         * elmo-version.el (elmo-version): Up to 2.11.18.
2823
2824 2003-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2825
2826         * elmo.el (elmo-folder-kill-messages-before): Abolish.
2827         (elmo-folder-kill-messages-range): New function.
2828         (elmo-folder-synchronize): Use elmo-folder-kill-messages-range
2829         instead of elmo-folder-kill-messages-before.
2830
2831 2003-09-26  Yuuichi Teranishi  <teranisi@gohome.org>
2832
2833         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use
2834         elmo-imap4-current-msgdb to decide entity handler.
2835
2836 2003-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
2837
2838         * elmo-dop.el (elmo-dop-msgdb): Rewrite.
2839
2840         * modb-legacy.el (elmo-msgdb-overview-entity-get-id-internal): New
2841         inline function.
2842         (elmo-msgdb-overview-entity-get-number-internal): Ditto.
2843         (elmo-msgdb-overview-entity-set-number,
2844         elmo-msgdb-overview-entity-get-references,
2845         elmo-msgdb-overview-entity-set-references,
2846         elmo-msgdb-overview-entity-get-from-no-decode,
2847         elmo-msgdb-overview-entity-get-from,
2848         elmo-msgdb-overview-entity-set-from,
2849         elmo-msgdb-overview-entity-get-subject,
2850         elmo-msgdb-overview-entity-get-subject-no-decode,
2851         elmo-msgdb-overview-entity-set-subject,
2852         elmo-msgdb-overview-entity-get-date,
2853         elmo-msgdb-overview-entity-set-date,
2854         elmo-msgdb-overview-entity-get-to,
2855         elmo-msgdb-overview-entity-get-cc,
2856         elmo-msgdb-overview-entity-get-size,
2857         elmo-msgdb-overview-entity-set-size,
2858         elmo-msgdb-overview-entity-get-extra,
2859         elmo-msgdb-overview-entity-set-extra,
2860         elmo-msgdb-overview-entity-get-extra-field,
2861         elmo-msgdb-overview-entity-set-extra-field): Moved to elmo-msgdb.el.
2862         (elmo-msgdb-make-index): Use
2863         `elmo-msgdb-overview-entity-get-number-internal'.
2864         (elmo-msgdb-clear-index): Ditto.
2865         (elmo-msgdb-append-entity): Ditto;
2866         Use `elmo-msgdb-overview-entity-get-id-internal'.
2867
2868         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-number,
2869         elmo-msgdb-overview-entity-set-number,
2870         elmo-msgdb-overview-entity-get-references,
2871         elmo-msgdb-overview-entity-set-references,
2872         elmo-msgdb-overview-entity-get-from-no-decode,
2873         elmo-msgdb-overview-entity-get-from,
2874         elmo-msgdb-overview-entity-set-from,
2875         elmo-msgdb-overview-entity-get-subject,
2876         elmo-msgdb-overview-entity-get-subject-no-decode,
2877         elmo-msgdb-overview-entity-set-subject,
2878         elmo-msgdb-overview-entity-get-date,
2879         elmo-msgdb-overview-entity-set-date,
2880         elmo-msgdb-overview-entity-get-to,
2881         elmo-msgdb-overview-entity-get-cc,
2882         elmo-msgdb-overview-entity-get-size,
2883         elmo-msgdb-overview-entity-set-size,
2884         elmo-msgdb-overview-entity-get-extra,
2885         elmo-msgdb-overview-entity-set-extra,
2886         elmo-msgdb-overview-entity-get-extra-field,
2887         elmo-msgdb-overview-entity-set-extra-field): Moved from modb-legacy.el
2888         and rewrote for backward compatibility.
2889
2890 2003-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2891
2892         * elmo.el (elmo-message-entity-number,
2893         elmo-message-entity-set-number,
2894         elmo-message-entity-field,
2895         elmo-message-entity-set-field): Moved to elmo-msgdb.el.
2896
2897         * elmo-msgdb.el (elmo-message-entity-number,
2898         elmo-message-entity-set-number,
2899         elmo-message-entity-field,
2900         elmo-message-entity-set-field): Moved from elmo.el.
2901
2902 2003-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
2903
2904         * elmo.el (toplevel): Changed definition orders.
2905
2906 2003-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
2907
2908         * modb.el (elmo-msgdb-search): New API .
2909         (elmo-msgdb-match-condition): Ditto.
2910
2911         * modb-standard.el (elmo-msgdb-search): Define.
2912
2913         * modb-legacy.el (elmo-msgdb-search): Ditto.
2914
2915         * modb-entity.el (elmo-msgdb-message-match-condition): Renamed
2916         from elmo-msgdb-match-condition-internal.
2917
2918         * elmo.el (elmo-folder-search-fast): Abolish.
2919         (elmo-folder-search): Use elmo-msgdb-search and
2920         elmo-with-progress-display.
2921
2922         * elmo-msgdb.el (elmo-msgdb-match-condition): Removed; redefined
2923         as msgdb API.
2924
2925         * elmo.el (elmo-folder): Remove slot message-modified and
2926         flag-modified.
2927         (elmo-folder-set-message-modified): Abolish.
2928         (elmo-generic-folder-commit): Follow the change above.
2929         (elmo-folder-synchronize): Ditto.
2930
2931         * elmo-pipe.el (elmo-folder-set-message-modified): Abolish.
2932
2933         * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
2934
2935         * elmo-filter.el (elmo-folder-set-message-modified): Ditto.
2936
2937 2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
2938
2939         * modb-standard.el (modb-standard-make-message-entity,
2940         elmo-msgdb-make-message-entity,
2941         elmo-msgdb-create-message-entity-from-buffer,
2942         elmo-msgdb-message-entity-number,
2943         elmo-msgdb-message-entity-set-number,
2944         elmo-msgdb-message-entity-field,
2945         elmo-msgdb-message-entity-set-field,
2946         elmo-msgdb-copy-message-entity,
2947         elmo-msgdb-match-condition-internal): Remove.
2948
2949         * modb-entity.el: New file (again).
2950
2951         * modb.el (toplevel): Require modb-entity.
2952         (elmo-msgdb-message-entity-handler): New method.
2953
2954         * modb-standard.el (modb-standard-entity-id): Use
2955         elmo-message-entity-handler.
2956         (modb-standard-load-entity): Ditto.
2957         (elmo-msgdb-append-entity): Ditto.
2958         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
2959
2960         * modb-legacy.el (elmo-msgdb-get-decoded-cache,
2961         elmo-msgdb-decoded-cache-hashtb,
2962         (modb-legacy-make-message-entity,
2963         elmo-msgdb-make-message-entity,
2964         elmo-msgdb-create-message-entity-from-buffer,
2965         elmo-msgdb-message-entity-number,
2966         elmo-msgdb-message-entity-set-number,
2967         elmo-msgdb-message-entity-field,
2968         elmo-msgdb-message-entity-set-field,
2969         elmo-msgdb-copy-message-entity,
2970         elmo-msgdb-match-condition-internal,
2971         elmo-msgdb-match-condition-primitive): Moved to modb-entity.el.
2972
2973         * elmo.el (elmo-message-copy-entity): Use elmo-message-entity-handler.
2974         (elmo-message-entity-set-number): Ditto.
2975         (elmo-message-entity-field): Ditto.
2976         (elmo-message-entity-set-field): Ditto.
2977
2978         * elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Ditto.
2979
2980         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
2981
2982         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
2983
2984         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
2985         (elmo-nntp-msgdb-create-message): Ditto.
2986
2987         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
2988         (elmo-folder-msgdb-create): Add unread flag.
2989
2990         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
2991
2992         * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Ditto.
2993
2994         * elmo-imap4.el (elmo-imap4-fetch-callback-1): Ditto.
2995
2996         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
2997
2998         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Call
2999         elmo-msgdb-messge-entity-handler.
3000         * elmo-version.el (elmo-version): Up to 2.11.17.
3001
3002 2003-09-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3003
3004         * elmo-shimbun.el (elmo-shimbun-update-overview): Fixed the last
3005         change.
3006
3007 2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
3008
3009         * elmo.el (elmo-message-field): Use elmo-message-entity-field.
3010
3011         * elmo-msgdb.el (elmo-msgdb-get-number): Abolish.
3012         (elmo-msgdb-get-parent-entity): Use elmo-message-entity-field.
3013         (elmo-msgdb-flag-table): Ditto.
3014         (elmo-msgdb-sort-by-date): Ditto.
3015
3016         * modb.el (elmo-msgdb-create-message-entity-from-file): Define.
3017
3018         * modb-standard.el (toplevel): Require mime.
3019         (modb-standard-entity-id): Use elmo-msgdb-message-entity-field.
3020         (modb-standard-load-entity): Use elmo-msgdb-message-entity-field and
3021         elmo-msgdb-message-entity-number.
3022         (elmo-msgdb-append-entity): Ditto.
3023         (elmo-msgdb-create-message-entity-from-file): Remove.
3024         (elmo-msgdb-create-message-entity-from-buffer): Use msgdb which 
3025         corresponds to the entity.
3026         (elmo-msgdb-message-entity-number): Do nothing currently.
3027         (elmo-msgdb-message-entity-field): Ditto.
3028         (elmo-msgdb-message-entity-set-field): Ditto.
3029         (elmo-msgdb-copy-message-entity): Ditto.
3030         (elmo-msgdb-match-condition-internal): Ditto.
3031
3032         * modb-legacy.el (elmo-msgdb-insert-file-header): Moved to
3033         elmo-util.el.
3034         (elmo-msgdb-create-message-entity-from-file): Remove.
3035
3036         * elmo-util.el (elmo-msgdb-insert-file-header): Moved from
3037         modb-legacy.el.
3038         (elmo-multiple-field-body): Moved from elmo-msgdb.el.
3039
3040         * elmo-msgdb.el (elmo-multiple-field-body): Moved to elmo-util.el.
3041
3042 2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
3043
3044         * modb.el (elmo-msgdb-make-message-entity): Define simple one.
3045         (elmo-msgdb-message-entity-field): Ditto.
3046         (elmo-msgdb-message-entity-number): Ditto.
3047
3048 2003-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3049
3050         * modb-standard.el (elmo-msgdb-create-message-entity-from-buffer): 
3051         Fixed how to set extra field into entity.
3052         (elmo-msgdb-message-entity-set-field): Fixed mistake string for
3053         symbol.
3054
3055         * modb-legacy.el (elmo-msgdb-create-message-entity-from-buffer):
3056         Fixed how to set extra field into entity.
3057         (elmo-msgdb-message-entity-set-field): Fixed mistake string for
3058         symbol.
3059
3060 2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
3061
3062         * modb.el (elmo-message-entity-db): New function.
3063         (elmo-msgdb-make-message-entity): New API.
3064         (elmo-msgdb-message-entity-number): Ditto.
3065         (elmo-msgdb-message-entity-set-number): Ditto.
3066         (elmo-msgdb-message-entity-field): Ditto.
3067         (elmo-msgdb-message-entity-set-field): Ditto.
3068         (elmo-msgdb-copy-message-entity): Ditto.
3069         (elmo-msgdb-create-message-entity-from-file): Ditto.
3070         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
3071         (elmo-msgdb-match-condition-internal): Ditto.
3072
3073         * modb-standard.el (modb-legacy): Require modb-legacy.
3074         (modb-standard-make-message-entity): New inline function.
3075         (elmo-msgdb-make-message-entity): Define.
3076         (elmo-msgdb-create-message-entity-from-file): Ditto.
3077         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
3078         (elmo-msgdb-message-entity-field): Ditto.
3079         (elmo-msgdb-message-entity-set-field): Ditto.
3080         (elmo-msgdb-copy-message-entity): Ditto.
3081         (elmo-msgdb-match-condition-internal): Ditto.
3082
3083         * modb-legacy.el: Don't require modb-entity.
3084         (elmo-msgdb-decoded-cache-hashtb): Moved from elmo-msgdb.el
3085         (elmo-msgdb-match-condition-primitive): Ditto.
3086         (elmo-msgdb-get-decoded-cache): Ditto.
3087         (elmo-msgdb-overview-entity-get-id): Ditto.
3088         (elmo-msgdb-overview-entity-get-number): Ditto.
3089         (elmo-msgdb-overview-entity-set-number): Ditto.
3090         (elmo-msgdb-overview-entity-get-references): Ditto.
3091         (elmo-msgdb-overview-entity-set-references): Ditto.
3092         (elmo-msgdb-overview-entity-get-from-no-decode): Ditto.
3093         (elmo-msgdb-overview-entity-get-from): Ditto.
3094         (elmo-msgdb-overview-entity-set-from): Ditto.
3095         (elmo-msgdb-overview-entity-get-subject): Ditto.
3096         (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
3097         (elmo-msgdb-overview-entity-set-subject): Ditto.
3098         (elmo-msgdb-overview-entity-get-date): Ditto.
3099         (elmo-msgdb-overview-entity-set-date): Ditto.
3100         (elmo-msgdb-overview-entity-get-to): Ditto.
3101         (elmo-msgdb-overview-entity-get-cc): Ditto.
3102         (elmo-msgdb-overview-entity-get-size): Ditto.
3103         (elmo-msgdb-overview-entity-set-size): Ditto.
3104         (elmo-msgdb-overview-entity-get-extra): Ditto.
3105         (elmo-msgdb-overview-entity-set-extra): Ditto.
3106         (elmo-msgdb-overview-entity-get-extra-field): Ditto.
3107         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
3108         (elmo-msgdb-number-load): Ditto.
3109         (elmo-msgdb-overview-load): Ditto.
3110         (elmo-msgdb-mark-load): Ditto.
3111         (elmo-msgdb-number-save): Ditto.
3112         (elmo-msgdb-mark-save): Ditto.
3113         (elmo-msgdb-overview-save): Ditto.
3114         (modb-legacy-make-message-entity): New inline function.
3115         (elmo-msgdb-insert-file-header): Ditto.
3116         (elmo-msgdb-make-message-entity): Define.
3117         (elmo-msgdb-create-message-entity-from-file): Ditto.
3118         (elmo-msgdb-create-message-entity-from-buffer): Ditto.
3119         (elmo-msgdb-message-entity-number): Ditto.
3120         (elmo-msgdb-message-entity-set-number): Ditto.
3121         (elmo-msgdb-message-entity-field): Ditto.
3122         (elmo-msgdb-message-entity-set-field): Ditto.
3123         (elmo-msgdb-copy-message-entity): Ditto.
3124         (elmo-msgdb-match-condition-internal): Ditto.
3125
3126         * elmo.el (elmo-find-fetch-strategy): Use elmo-message-entity-field.
3127         (elmo-message-copy-entity): Rewrite.
3128         (elmo-message-entity-number): Ditto.
3129         (elmo-message-entity-set-number): Ditto.
3130         (elmo-message-entity-field): Use elmo-message-entity-db.
3131         (elmo-message-entity-set-field): Ditto.
3132         (elmo-message-field): Rewrite.
3133
3134         * elmo-util.el (elmo-msgdb-get-last-message-id): Moved from
3135         elmo-msgdb.el
3136         (elmo-msgdb-get-message-id-from-buffer): Ditto.
3137
3138         * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
3139         elmo-message-entity-field.
3140         (elmo-shimbun-folder-shimbun-header): Ditto.
3141         (elmo-shimbun-entity-to-header): Ditto.
3142         (elmo-folder-msgdb-create): Ditto.
3143         (elmo-shimbun-msgdb-create-entity): Ditto;
3144         Use elmo-msgdb-create-message-entity-from-buffer.
3145         (elmo-shimbun-update-overview): Use elmo-message-entity-set-field.
3146         (elmo-map-folder-list-message-locations): elmo-message-entity-field.
3147
3148         * elmo-sendlog.el (elmo-folder-msgdb-create): Use
3149         elmo-msgdb-create-message-entity-from-file and 
3150         elmo-message-entity-field.
3151
3152         * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
3153         elmo-message-entity-number.
3154         (elmo-pop3-msgdb-create-message): Use
3155         elmo-msgdb-create-message-entity-from-buffer,
3156         elmo-message-entity-set-field, elmo-message-entity-number and
3157         elmo-message-entity-set-number.
3158
3159         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Follow
3160         the API change in elmo-msgdb-make-message-entity.
3161         (elmo-nntp-msgdb-create-message): Use
3162         elmo-msgdb-create-message-entity-from-buffer.
3163
3164         * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Use
3165         elmo-message-entity-field and
3166         elmo-msgdb-create-message-entity-from-file.
3167
3168         * elmo-msgdb.el (toplevel): Don't require modb-entity.
3169         (elmo-msgdb-get-field): Abolish.
3170         (elmo-msgdb-get-number): Rewrite.
3171         (elmo-msgdb-sort-by-date): Use elmo-message-entity-field.
3172         (elmo-msgdb-flag-table): Ditto.
3173         (elmo-msgdb-get-last-message-id,
3174         elmo-msgdb-number-load, elmo-msgdb-overview-load,
3175         elmo-msgdb-mark-load, elmo-msgdb-number-save,
3176         elmo-msgdb-mark-save, elmo-msgdb-overview-save): Moved to modb-legacy.
3177         (elmo-msgdb-create-overview-from-buffer,
3178         elmo-msgdb-overview-get-parent-entity): Abolish.
3179
3180         * elmo-mime.el (elmo-mime-display-as-is): Use
3181         elmo-message-entity-field.
3182
3183         * elmo-map.el (elmo-folder-pack-numbers): Use
3184         elmo-message-entity-set-number.
3185
3186         * elmo-maildir.el (elmo-folder-msgdb-create): 
3187         elmo-msgdb-create-message-entity-from-file instead of
3188         elmo-msgdb-create-overview-entity-from-file.
3189
3190         * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Added argument
3191         msgdb.
3192         (elmo-folder-msgdb-create): Use elmo-message-entity-field.
3193         (elmo-folder-pack-numbers): Use elmo-message-entity-set-number.
3194
3195         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Use
3196         elmo-messge-entity-field and elmo-message-entity-number.
3197         (elmo-imap4-fetch-callback-1): Call
3198         elmo-msgdb-create-message-entity-from-buffer instead of
3199         elmo-msgdb-create-overview-from-buffer. 
3200         (elmo-folder-msgdb-create-plugged): Use elmo-messge-entity-field.
3201         (elmo-find-fetch-strategy): Likewise.
3202
3203         * elmo-flag.el (elmo-folder-msgdb-create): Call 
3204         elmo-localdir-msgdb-create-entity with argument msgdb.
3205
3206         * elmo-dop.el (elmo-dop-msgdb): Use elmo-message-entity-number
3207         and elmo-message-entity-set-number.
3208
3209         * elmo-cache.el (elmo-folder-msgdb-create): Use
3210         elmo-message-entity-field.
3211         (elmo-folder-msgdb-create): Call
3212         elmo-msgdb-create-message-entity-from-file instead of
3213         elmo-msgdb-create-overview-entity-from-file.
3214
3215         * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Added
3216         argument msgdb; Call elmo-msgdb-create-message-from-buffer
3217         instead of elmo-msgdb-create-overview-from-buffer.
3218         (elmo-archive-msgdb-create-entity): Ditto.
3219         (elmo-archive-msgdb-create-as-numlist-subr1): Use
3220         elmo-message-entity-field.
3221         (elmo-archive-parse-mmdf): Ditto.
3222
3223         * modb-entity.el: Removed.
3224
3225         * elmo-version.el (elmo-version): Up to 2.11.16.
3226
3227 2003-09-20  Yuuichi Teranishi  <teranisi@gohome.org>
3228
3229         * elmo-map.el (elmo-folder-unflag-answered): Added optional argument
3230         `is-local'.
3231         (elmo-folder-flag-as-answered): Ditto.
3232
3233 2003-09-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3234
3235         * modb-standard.el: New file.
3236
3237         * elmo.el (elmo-folder-clear): Reconstruct msgdb if
3238         elmo-msgdb-convert-type is `sync'.
3239
3240         * elmo-vars.el (elmo-msgdb-default-type): Added `standard'.
3241         (elmo-msgdb-convert-type): New user option.
3242
3243         * elmo-msgdb.el (elmo-msgdb-load-priorities): New internal variable.
3244         (elmo-load-msgdb): Auto detect saved type.
3245
3246         * elmo-version.el (elmo-version): Up to 2.11.15.
3247
3248 2003-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
3249
3250         * elmo-flag.el (elmo-folder-list-global-flag-messages): New function.
3251
3252         * elmo.el (elmo-folder-delete-messages): Added notice in docstring.
3253         (elmo-folder-move-messages): Call elmo-global-flag-detach-messages
3254         with argument `delete-if-none' when dst-folder is 'null.
3255
3256         * elmo-flag.el (elmo-folder-append-messages): Defined.
3257         (elmo-global-flag-detach-messages): Added argumnet `delete-if-none'.
3258
3259 2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
3260
3261         * elmo-flag.el (elmo-folder-initialize): Fixed ("/.minfo"->".minfo").
3262
3263 2003-09-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3264
3265         * elmo-flag.el (elmo-folder-expand-msgdb-path): Define.
3266         (elmo-folder-initialize): Use `elmo-folder-msgdb-path'.
3267         (elmo-folder-commit): Ditto.
3268
3269 2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
3270
3271         * elmo-flag.el: New file.
3272
3273         * elmo-mark.el: Removed.
3274
3275         * modb-legacy.el (modb-legacy-new-mark,
3276         modb-legacy-unread-uncached-mark,
3277         modb-legacy-unread-cached-mark,
3278         modb-legacy-read-uncached-mark,
3279         modb-legacy-answered-cached-mark,
3280         modb-legacy-answered-uncached-mark,
3281         modb-legacy-important-mark): New constants (Moved from elmo-msgdb.el);
3282         All other related portions are changed.
3283
3284         * elmo.el (luna-define-class): Changed mark-modified to flag-modified.
3285         (elmo-folder-list-messages-with-global-mark): Abolish.
3286         (elmo-folder-unflag-important): Renamed from `mark' to `flag'.
3287         (elmo-folder-flag-as-important): Ditto.
3288         (elmo-folder-unflag-read): Ditto.
3289         (elmo-folder-flag-as-read): Ditto.
3290         (elmo-folder-unflag-answered): Ditto.
3291         (elmo-folder-flag-as-answered): Ditto.
3292         (elmo-message-encache): Return the cache path.
3293         (elmo-folder-move-messages): Call elmo-global-flag-detach-messages.
3294         (elmo-message-set-flag): Transitional implementation.
3295         (elmo-message-unset-flag): Ditto.
3296         (elmo-folder-unflag-important): Call elmo-global-flag-detach.
3297         (elmo-folder-flag-as-important): Call elmo-global-flag-set.
3298         (elmo-init): Call elmo-global-flag-initialize.
3299         (toplevel): Added autoload settings for elmo-flag.
3300
3301         * elmo-vars.el (elmo-msgdb-global-mark-filename): Abolished.
3302
3303         * elmo-util.el: Removed all elmo-msgdb-global-mark stuff.
3304         (elmo-file-cache-delete): Don't treat global-mark.
3305
3306         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
3307
3308         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
3309
3310         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Call
3311         `elmo-global-flags-set'.
3312
3313         * elmo-pipe.el (elmo-folder-flag-as-read): Renamed from `mark' to
3314         `flag'.
3315         (elmo-folder-unflag-read): Ditto.
3316         (elmo-folder-unflag-important): Ditto.
3317         (elmo-folder-flag-as-important): Ditto.
3318         (elmo-folder-unflag-answered): Ditto.
3319         (elmo-folder-flag-as-answered): Ditto.
3320
3321         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Call
3322         `elmo-global-flags-set'.
3323         (elmo-folder-flag-as-read): Renamed from `mark' to `flag'.
3324
3325         * elmo-nmz.el (elmo-folder-msgdb-create): Always put `new' flag.
3326
3327         * elmo-net.el (elmo-folder-unflag-important): Renamed from `mark' to
3328         `flag'.
3329         (elmo-folder-flag-as-important): Ditto.
3330         (elmo-folder-unflag-important): Ditto.
3331         (elmo-folder-flag-as-important): Ditto.
3332         (elmo-folder-unflag-read): Ditto.
3333         (elmo-folder-flag-as-read): Ditto.
3334         (elmo-folder-unflag-answered): Ditto.
3335         (elmo-folder-flag-as-answered): Ditto.
3336
3337         * elmo-multi.el (elmo-folder-list-importants): Don't call
3338         elmo-folder-list-messages-with-global-mark.
3339         (elmo-folder-flag-as-important): Renamed from `mark' to `flag'.
3340         (elmo-folder-unflag-important): Ditto.
3341         (elmo-folder-flag-as-read): Ditto.
3342         (elmo-folder-unflag-read): Ditto.
3343         (elmo-folder-flag-as-answered): Ditto.
3344         (elmo-folder-unflag-answered): Ditto.
3345
3346         * elmo-msgdb.el (elmo-msgdb-new-mark,
3347         elmo-msgdb-unread-uncached-mark, elmo-msgdb-unread-cached-mark,
3348         elmo-msgdb-read-uncached-mark, elmo-msgdb-answered-cached-mark,
3349         elmo-msgdb-answered-uncached-mark, elmo-msgdb-important-mark): Removed
3350         (Moved to modb-legacy.el).
3351         (elmo-flag-table-get): Treat important flag too.
3352
3353         * elmo-map.el (elmo-map-folder-unflag-important): Renamed from
3354         `mark' to `flag'.
3355         (elmo-map-folder-flag-as-important): Ditto.
3356         (elmo-map-folder-unflag-read): Ditto.
3357         (elmo-map-folder-flag-as-read): Ditto.
3358         (elmo-map-folder-unflag-answered): Ditto.
3359         (elmo-map-folder-flag-as-answered): Ditto.
3360         (elmo-folder-unflag-important): Ditto.
3361         (elmo-folder-flag-as-important): Ditto.
3362         (elmo-folder-unflag-read): Ditto.
3363         (elmo-folder-flag-as-read): Ditto.
3364         (elmo-folder-unflag-answered): Ditto.
3365         (elmo-folder-flag-as-answered): Ditto.
3366
3367         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
3368         (elmo-map-folder-flag-as-important): Renamed from `mark' to
3369         `flag'.
3370         (elmo-map-folder-unflag-important): Ditto.
3371         (elmo-map-folder-flag-as-read): Ditto.
3372         (elmo-map-folder-unflag-read): Ditto.
3373         (elmo-map-folder-flag-as-answered): Ditto.
3374         (elmo-map-folder-unflag-answered): Ditto.
3375
3376         * elmo-localdir.el (elmo-folder-msgdb-create): Call
3377         `elmo-global-flags-set'.
3378         (elmo-global-flags-set): Added autoload setting.
3379
3380         * elmo-internal.el (elmo-internal-folder-list): Changed `mark' to
3381         `flag'.
3382
3383         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Don't call
3384         `elmo-msgdb-global-mark-set'.
3385         (elmo-folder-msgdb-create-plugged): Changed callback-data structure;
3386         Call `elmo-global-flags-set'.
3387         (elmo-folder-unflag-important-plugged): Renamed from `mark' to
3388         `flag'.
3389         (elmo-folder-flag-as-important-plugged): Ditto.
3390         (elmo-folder-unflag-read-plugged): Ditto.
3391         (elmo-folder-flag-as-read-plugged): Ditto.
3392         (elmo-folder-unflag-answered-plugged): Ditto.
3393         (elmo-folder-flag-as-answered-plugged): Ditto.
3394         (elmo-global-flags-set): Added autoload setting.
3395
3396         * elmo-filter.el (elmo-folder-flag-as-read): Renamed from `mark' to
3397         `flag'.
3398         (elmo-folder-unflag-read): Ditto.
3399         (elmo-folder-flag-as-important): Ditto.
3400         (elmo-folder-unflag-important): Ditto.
3401         (elmo-folder-flag-as-answered): Ditto.
3402         (elmo-folder-unflag-answered): Ditto.
3403
3404         * elmo-dop.el (elmo-dop-queue-merge-method-list): Follow the API
3405         change of `mark'->`flag'.
3406         (elmo-dop-queue-method-name-alist): Ditto.
3407         (elmo-folder-flag-as-read-dop): Renamed from `mark' to `flag'.
3408         (elmo-folder-unflag-read-dop): Ditto.
3409         (elmo-folder-flag-as-important-dop): Ditto.
3410         (elmo-folder-unflag-important-dop): Ditto.
3411         (elmo-folder-flag-as-answered-dop): Ditto.
3412         (elmo-folder-unflag-answered-dop): Ditto.
3413
3414         * elmo-cache.el (elmo-folder-msgdb-create): Call
3415         `elmo-global-flags-set'.
3416
3417         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
3418         Call `elmo-global-flags-set'.
3419         (elmo-archive-msgdb-create-as-numlist-subr2): Call
3420         elmo-archive-parse-mmdf with argument `folder'.
3421         (elmo-archive-parse-mmdf): Added argument `folder';
3422         Call `elmo-global-flags-set'.
3423
3424         * elmo-version.el (elmo-version): Up to 2.11.14.
3425
3426 2003-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3427
3428         * modb.el (elmo-msgdb-length): Define.
3429
3430         * elmo.el (elmo-make-folder): Fixed.
3431         (elmo-generic-folder-append-messages): Follow the API change.
3432
3433         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Follow the
3434         API change.
3435
3436 2003-09-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3437
3438         * modb.el: New file.
3439
3440         * modb-entity.el: Ditto.
3441
3442         * modb-legacy.el: Ditto.
3443
3444         * elmo-msgdb.el (elmo-make-msgdb): Added 2nd argument `type'.
3445         (elmo-msgdb-get-number): Use `elmo-msgdb-message-entity' instead
3446         of `elmo-msgdb-overview-get-entity'.
3447         (elmo-msgdb-get-field): Ditto.
3448         (elmo-msgdb-merge): Moved to `elmo.el'.
3449         (elmo-msgdb-length): Removed; redefine as modb method.
3450         (elmo-msgdb-change-mark): Abolish.
3451         (elmo-msgdb-out-of-date-messages): Rewrite; don't use it.
3452         (elmo-msgdb-match-condition): Don't use mark.
3453         (elmo-msgdb-overview-get-entity): Abolish.
3454         Split modb part into `modb*.el'.
3455
3456         * elmo-vars.el (elmo-msgdb-default-type): New user option.
3457
3458         * elmo-shimbun.el (shimbun-mua-search-id): Use
3459         `elmo-msgdb-message-entity' instead of
3460         `elmo-msgdb-overview-get-entity'.
3461         (elmo-shimbun-folder-shimbun-header): Ditto.
3462         (elmo-shimbun-get-headers): Ditto.
3463         (elmo-shimbun-update-overview): Ditto.
3464
3465         * elmo-mime.el (elmo-mime-display-as-is): Ditto.
3466
3467         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
3468
3469         * elmo.el (elmo-folder-list-messages-with-global-mark): Ditto.
3470         (elmo-msgdb-merge): Moved from `elmo-msgdb.el'.
3471
3472         * elmo-mark.el (elmo-mark-folder-msgdb-create): Don't use
3473         `elmo-msgdb-mark-to-flags'.
3474
3475         * elmo-map.el (elmo-folder-pack-numbers): Don't use
3476         `elmo-msgdb-set-path'.
3477
3478         * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
3479  
3480         * elmo-version.el (elmo-version): Up to 2.11.13.
3481
3482         * elmo.el (elmo-generic-folder-commit): Don't load msgdb.
3483
3484         * elmo-mark.el (elmo-mark-folder-msgdb-create): Use flag instead
3485         of mark.
3486
3487 2003-09-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
3488
3489         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed paren
3490         mismatch.
3491
3492 2003-09-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3493
3494         * elmo.el (elmo-message-cached-p): Use `elmo-message-flagged-p'
3495         instead of `elmo-msgdb-get-cached'.
3496         (elmo-message-set-cached): Don't use `elmo-msgdb-set-cached'.
3497
3498         * elmo-msgdb.el (elmo-msgdb-get-cached): Abolish.
3499         (elmo-msgdb-set-cached): Ditto.
3500         (elmo-msgdb-set-flag): Rewrite.
3501         (elmo-msgdb-unset-flag): Ditto.
3502
3503         * elmo-msgdb.el: Rewrite with luna.
3504
3505         * elmo.el (elmo-folder-msgdb-load): Renamed from `elmo-msgdb-load'.
3506         (elmo-folder-msgdb): Follow the change above.
3507         (elmo-generic-folder-commit): Use `elmo-msgdb-save'.
3508         (elmo-folder-unmark-important): Follow the API change.
3509         (elmo-folder-mark-as-important): Ditto.
3510         (elmo-folder-unmark-read): Ditto.
3511         (elmo-folder-mark-as-read): Ditto.
3512         (elmo-folder-unmark-answered): Ditto.
3513         (elmo-folder-mark-as-answered): Ditto.
3514         (elmo-folder-clear): Likewise.
3515
3516         * elmo-imap4.el (elmo-folder-open): Use `elmo-folder-msgdb-load'
3517         instead of `elmo-msgdb-load' (renamed).
3518
3519         * elmo-version.el (elmo-version): Up to 2.11.12.
3520
3521 2003-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3522
3523         * elmo.el (elmo-generic-folder-append-messages): Follow the API
3524         change.
3525         (elmo-message-mark): Abolish.
3526         (elmo-folder-synchronize): Use `elmo-msgdb-out-of-date-messages'
3527         instead of `elmo-msgdb-change-mark'.
3528
3529         * elmo-pipe.el (elmo-message-mark): Abolish.
3530
3531         * elmo-multi.el (elmo-message-mark): Ditto.
3532
3533         * elmo-msgdb.el (elmo-msgdb-new-mark): Changed to constant.
3534         (elmo-msgdb-unread-uncached-mark): Ditto.
3535         (elmo-msgdb-unread-cached-mark): Ditto.
3536         (elmo-msgdb-read-uncached-mark): Ditto.
3537         (elmo-msgdb-answered-cached-mark): Ditto.
3538         (elmo-msgdb-answered-uncached-mark): Ditto.
3539         (elmo-msgdb-important-mark): Ditto.
3540         (elmo-msgdb-flags-to-mark): Remove arguments `cached' and
3541         `use-cache'.
3542         (elmo-msgdb-append-entity): Changed 3rd arg from `mark' to
3543         `flags'.
3544         (elmo-flag-table-load): Changed flag to list of flag.
3545         (elmo-flag-table-set): If flags is nil, set read flag.
3546         (elmo-flag-table-get): Return derived flags from global mark,
3547         cache status and saved flags.
3548         (elmo-msgdb-flag-table): Follow the change above.
3549         (elmo-msgdb-out-of-date-messages): New function.
3550
3551         * elmo-shimbun.el (elmo-folder-msgdb-create): Follow the API change.
3552
3553         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
3554
3555         * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
3556
3557         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
3558         (elmo-nntp-msgdb-create-message): Ditto.
3559
3560         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
3561
3562         * elmo-maildir.el (elmo-maildir-list-location): Treat flags as
3563         independent.
3564         (elmo-folder-msgdb-create): Follow the API change.
3565
3566         * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
3567         (elmo-folder-append-messages): Ditto.
3568
3569         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
3570         (elmo-folder-append-buffer): Ditto.
3571
3572         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
3573
3574         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
3575
3576         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
3577         (elmo-archive-parse-mmdf): Ditto.
3578
3579         * elmo-version.el (elmo-version): Up to 2.11.11.
3580
3581 2003-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3582
3583         * elmo.el (elmo-message-flags): Use `elmo-msgdb-flags' instead of
3584         `elmo-msgdb-mark'.
3585
3586         * elmo-util.el (elmo-with-progress-display): Fixed edebug spec.
3587
3588         * elmo-pipe.el (elmo-message-flags): Defined.
3589
3590         * elmo-multi.el (elmo-message-flags): Ditto.
3591
3592 2003-09-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3593
3594         * elmo-msgdb.el (elmo-msgdb-delete-messages): Renamed from
3595         `elmo-msgdb-delete-msgs'.
3596
3597         * elmo.el (elmo-folder-count-flags): Don't use
3598         `elmo-msgdb-get-mark-alist'.
3599         (elmo-folder-detach-messages): Follow the API change.
3600
3601         * elmo.el (elmo-folder-list-messages): Append killed messages into
3602         result if `visible-only' is nil.
3603
3604         * elmo-nntp.el (elmo-nntp-catchup-msgdb): Return a list of
3605         canceled messages.
3606         (elmo-nntp-folder-msgdb-create): Kill messages which already canceled.
3607         (elmo-folder-update-number): Likewise.
3608
3609         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number): Abolish.
3610         (elmo-pop3-sort-msgdb-by-original-number): Use
3611         `elmo-msgdb-sort-entities'.
3612
3613         * elmo-msgdb.el (elmo-msgdb-sort-entities): New function.
3614         (elmo-msgdb-sort-by-date): Use it.
3615         (elmo-msgdb-overview-sort-by-date): Abolish.
3616
3617         * elmo-dop.el (elmo-folder-status-dop): Fixed.
3618
3619         * elmo-msgdb.el (elmo-msgdb-list-messages): Undo last change.
3620         (elmo-msgdb-flags): New function.
3621         (elmo-msgdb-merge): Use elmo-msgdb-append.
3622
3623         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed the last
3624         change.
3625
3626         * elmo-map.el (elmo-folder-pack-numbers): Ditto.
3627
3628         * elmo-dop.el (elmo-folder-status-dop): Use
3629         elmo-folder-list-messages instead of elmo-msgdb-list-messages.
3630
3631 2003-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3632
3633         * elmo-map.el (elmo-folder-pack-numbers): Rewrite.
3634
3635         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed last change.
3636
3637         * elmo-msgdb.el (elmo-msgdb-append-entity): Fixed.
3638
3639         * elmo-util.el (elmo-with-progress-display): New macro.
3640
3641         * elmo-localdir.el (elmo-folder-pack-numbers): Rewrite.
3642
3643 2003-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3644
3645         * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
3646         `elmo-folder-list-message-entities' instead of
3647         `elmo-msgdb-get-overview'.
3648         (elmo-map-folder-list-message-locations): Ditto.
3649
3650         * elmo-msgdb.el (elmo-msgdb-append): Rewrite (use interface
3651         methods instead of treat directly).
3652         (elmo-msgdb-clear): Ditto.
3653         (elmo-msgdb-delete-msgs): Ditto.
3654         (elmo-msgdb-sort-by-date): Ditto.
3655
3656         * elmo-nntp.el (elmo-nntp-msgdb-create-message): Removed unused
3657         local variables.
3658         (elmo-nntp-folder-msgdb-create): Follow the API change.
3659
3660         * elmo-version.el (elmo-version): Up to 2.11.10.
3661
3662 2003-08-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3663
3664         * elmo-msgdb.el (elmo-msgdb-mark-to-flags): New function.
3665         (elmo-msgdb-flags-to-mark): Ditto.
3666         (elmo-msgdb-append-entity): Ditto.
3667
3668         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
3669         Use `elmo-msgdb-append-entity' instead of construct msgdb.
3670         (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
3671         (elmo-archive-parse-mmdf): Ditto.
3672
3673         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
3674
3675         * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
3676
3677         * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
3678
3679         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
3680
3681         * elmo-mark.el (elmo-mark-folder-msgdb-create): Ditto.
3682
3683         * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
3684
3685         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
3686
3687         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
3688
3689         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
3690         (elmo-folder-msgdb-create-plugged): Set elmo-imap4-current-msgdb
3691         to empty msgdb.
3692
3693         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Use
3694         `elmo-msgdb-make-message-entity' and `elmo-msgdb-append-entity'
3695         instead of directly construction.
3696         (elmo-nntp-msgdb-create-message): Use `elmo-msgdb-append-entity'
3697         instead of construct msgdb.
3698
3699         * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
3700         `elmo-msgdb-set-overview' instead of reconstruct msgdb.
3701         (elmo-pop3-msgdb-create-message): Use `elmo-msgdb-append-entity'
3702         instead of construct msgdb.
3703
3704 2003-08-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3705
3706         * elmo-msgdb.el (elmo-msgdb-message-entity-field): Decode value
3707         when field is from or subject.
3708
3709 2003-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
3710
3711         * elmo-multi.el (elmo-message-entity-parent): Define.
3712         (elmo-folder-search): Rewrite.
3713
3714 2003-08-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3715
3716         * elmo-multi.el (elmo-message-cached-p): Define.
3717
3718         * elmo.el (elmo-message-cached-p): New method.
3719         (elmo-message-accessible-p): Use it instead of msgdb API directly.
3720         (elmo-message-flags): New method.
3721         (elmo-message-flagged-p): New function.
3722
3723         * elmo-version.el (elmo-version): Up to 2.11.9.
3724
3725 2003-08-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3726
3727         * elmo-version.el (elmo-version): Up to 2.11.8.
3728
3729         * elmo.el (elmo-folder-move-messages): Removed unused arguments.
3730
3731         * elmo-pipe.el (elmo-pipe-drain): Follow the change above.
3732
3733 2003-08-14  Yuuichi Teranishi  <teranisi@gohome.org>
3734
3735         * elmo.el (elmo-folder-detach-messages): Undo last change.
3736
3737 2003-08-13  Yuuichi Teranishi  <teranisi@gohome.org>
3738
3739         * elmo.el (elmo-folder-detach-messages): Don't load msgdb if empty.
3740
3741         * elmo-pipe.el (elmo-pipe-drain): Bind elmo-inhibit-number-mapping
3742         only when src folder type is pop3.
3743
3744 2003-08-12  Yuuichi Teranishi  <teranisi@gohome.org>
3745
3746         * elmo-msgdb.el (elmo-msgdb-make-index): Use
3747         elmo-msgdb-overview-entity-get-number instead of
3748         elmo-message-entity-number.
3749
3750 2003-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3751
3752         * elmo-version.el (elmo-version): Up to 2.11.7.
3753
3754 2003-08-07  Yuuichi Teranishi  <teranisi@gohome.org>
3755
3756         * elmo.el (elmo-folder-append-msgdb): Rewrite and define as an inline
3757         function.
3758
3759         * elmo-msgdb.el (elmo-msgdb-append): Use elmo-msgdb-make-index-return.
3760         (elmo-msgdb-merge): New function.
3761         (elmo-msgdb-make-index-return): Renamed from elmo-msgdb-make-index.
3762         (elmo-msgdb-make-index): Rewrite.
3763
3764         * elmo-version.el (elmo-version): Up to 2.11.6.
3765
3766         * elmo-msgdb.el (elmo-msgdb-list-messages): If argument is a string,
3767         use it as a the path for loading message entities.
3768
3769         * elmo-dop.el (elmo-folder-status-dop): Use elmo-msgdb-list-messages.
3770
3771 2003-08-05  Yuuichi Teranishi  <teranisi@gohome.org>
3772
3773         * elmo-filter.el (elmo-folder-set-message-modified): Set 
3774         message-modified slot of itself if it does not require target msgdb.
3775
3776         * elmo-mime.el (elmo-mime-message-display): Display message entirely
3777         if folder length is zero.
3778         (elmo-mime-display-as-is): Ditto.
3779
3780         * elmo-filter.el (elmo-folder-set-message-modified): Define.
3781
3782         * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
3783
3784 2003-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3785
3786         * elmo.el (elmo-folder-set-message-modified): New method.
3787         (elmo-generic-folder-commit): Use it.
3788         (elmo-folder-synchronize): Ditto.
3789
3790         * elmo-pipe.el (elmo-folder-set-message-modified): Define.
3791         (elmo-folder-commit): Remove duplicate definition.
3792
3793 2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
3794
3795         * elmo.el (elmo-folder-list-message-entities): Ignore killed-list.
3796
3797 2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3798
3799         * elmo.el (elmo-msgdb-load): Use elmo-msgdb-list-messages.
3800         (elmo-strict-folder-diff): Ditto.
3801         (elmo-folder-set-info-max-by-numdb): Simplify.
3802
3803         * elmo-nntp.el (elmo-nntp-folder-msgdb-create): Use
3804         elmo-msgdb-list-messages.
3805
3806         * elmo-msgdb.el (elmo-msgdb-seen-save): Abolish.
3807         (elmo-msgdb-list-flagged): Fixed problem when `flag' is `read'.
3808
3809 2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
3810
3811         * elmo.el (elmo-folder-list-messages): Treat killed-list only when
3812         visible-only is non-nil.
3813         (elmo-folder-confirm-appends): Changed message.
3814         (elmo-folder-synchronize): Added argument disable-killed.
3815
3816         * elmo-multi.el (elmo-folder-synchronize): Added argument
3817         disable-killed.
3818
3819         * elmo-pipe.el (elmo-folder-synchronize): Ditto.
3820
3821         * elmo-version.el (elmo-version): Up to 2.11.5.
3822
3823         * elmo-multi.el (elmo-folder-search): Use nil for 1st argument of
3824         elmo-list-filter.
3825
3826         * elmo-util.el (elmo-list-filter): Simplify.
3827
3828         * elmo.el (elmo-generic-folder-commit): Use elmo-folder-list-messages.
3829         (elmo-folder-set-info-max-by-numdb): Changed argument to number list.
3830         (elmo-generic-folder-diff): Abolish argument.
3831         (elmo-msgdb-load): Don't use number-alist.
3832
3833         * elmo-filter.el (elmo-folder-diff): Abolish argument.
3834
3835         * elmo-pipe.el (elmo-folder-diff): Ditto.
3836
3837         * elmo-nmz.el (elmo-folder-diff): Ditto.
3838
3839         * elmo-net.el (elmo-folder-diff): Ditto.
3840
3841         * elmo-maildir.el (elmo-folder-diff): Ditto.
3842
3843         * elmo-imap4.el (elmo-folder-diff-async): Ditto.
3844
3845         * elmo-multi.el (elmo-folder-diff): Ditto
3846         (elmo-multi-folder-diff): Rewrite.
3847
3848 2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3849
3850         * elmo-pipe.el (elmo-folder-msgdb): Define.
3851
3852 2003-08-01  Yuuichi Teranishi  <teranisi@gohome.org>
3853
3854         * elmo.el (elmo-message-set-cached): Define as a method.
3855
3856         * elmo-pipe.el (elmo-message-set-cached): Define.
3857         (elmo-find-fetch-strategy): Ditto.
3858
3859         * elmo-multi.el (elmo-message-set-cached): Define.
3860         (elmo-find-fetch-strategy): Rewrite.
3861
3862         * elmo-mime.el (elmo-mime-message-display): Use elmo-message-entity.
3863
3864         * elmo-pipe.el (elmo-message-folder): Fixed definition.
3865
3866 2003-07-30  Yuuichi Teranishi  <teranisi@gohome.org>
3867
3868         * elmo-msgdb.el (elmo-msgdb-list-messages): Use number of overviews
3869         instead of number-alist.
3870
3871         * elmo-localdir.el (elmo-folder-append-messages): Don't refer
3872         mark nor message-id when msgdb of source folder is not loaded.
3873
3874         * elmo.el (elmo-generic-folder-append-messages): Ditto.
3875
3876         * elmo-maildir.el (elmo-folder-append-messages): Ditto.
3877
3878 2003-07-29  Yuuichi Teranishi  <teranisi@gohome.org>
3879
3880         * elmo.el (elmo-folder-length): Don't require msgdb.
3881
3882 2003-07-28  Yuuichi Teranishi  <teranisi@gohome.org>
3883
3884         * elmo.el (elmo-message-mark): Cause an error when empty folder.
3885         (elmo-message-field): Ditto.
3886
3887         * elmo-maildir.el (luna-define-class): Added slot `answered-locations'.
3888         (elmo-map-folder-list-message-locations): Setup `answered-locations'
3889         slot.
3890         (elmo-map-folder-list-answereds): Define.
3891         (elmo-maildir-list-location): Treat 'R' info.
3892         (elmo-folder-msgdb-create): Treat flag-table.
3893         (elmo-folder-append-messages): Save flag-table.
3894
3895 2002-05-05  David Smith <ultrasoul@ultrasoul.com>
3896
3897         * elmo-imap4.el (elmo-imap4-folder-diff-plugged): 
3898         Use SELECT when elmo-imap4-use-select-to-update-status is t.
3899
3900 2003-07-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3901
3902         * elmo.el (elmo-generic-folder-append-messages): Fixed last change.
3903
3904         * elmo-localdir.el (elmo-folder-append-messages): Set flag as
3905         'read when mark is null.
3906
3907 2003-07-24  Yuuichi Teranishi  <teranisi@gohome.org>
3908
3909         * elmo-version.el (elmo-version): Up to 2.11.4.
3910
3911 2003-07-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3912
3913         * elmo-pipe.el (elmo-folder-unmark-answered): Define.
3914         (elmo-folder-mark-as-answered): Ditto.
3915
3916 2003-07-22  Yuuichi Teranishi  <teranisi@gohome.org>
3917
3918         * elmo-pop3.el (elmo-pop3-exists-exactly): Set default value as nil.
3919         (elmo-pop3-get-session): Make msgdb directory after session.
3920         (elmo-folder-exists-p): Check exactly at the first time even when the
3921         elmo-pop3-exists-exactly is nil.
3922
3923         * elmo-pipe.el (elmo-folder-open-internal): Don't drain here.
3924         (elmo-folder-list-messages): Define instead of
3925         elmo-folder-list-messages-internal.
3926         (elmo-folder-check): Check destination folder.
3927         (elmo-folder-synchronize): Drain the pipe.
3928
3929         * elmo-localdir.el (elmo-folder-append-messages): Don't cause an error
3930         when msgdb is not loaded.
3931
3932         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): Abolish.
3933
3934         * elmo-imap4.el (elmo-folder-list-messages-plugged): Fixed.
3935         (elmo-imap4-folder-diff-plugged): Use uidnext to calculate number of
3936         messages.
3937
3938         * elmo.el (elmo-folder-kill-messages-before): New function.
3939         (elmo-folder-kill-messages): Ditto.
3940         (elmo-folder-synchronize): Use elmo-folder-kill-messages-before.
3941
3942         * elmo-imap4.el (elmo-folder-list-messages-plugged): 
3943         Don't use elmo-msgdb-max-of-killed. It is harmful when messages are
3944         killed not by synchronize (e.g. scoring).
3945
3946 2003-07-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
3947
3948         * elmo.el (elmo-folder-search-fast): Return t if condition is not
3949         treated.
3950         (elmo-folder-search): Follow the change above.
3951
3952         * elmo-util.el (elmo-read-search-condition-internal): Add `Flag'
3953         into the candidates of search field.
3954
3955 2003-07-21  Yuuichi Teranishi  <teranisi@gohome.org>
3956
3957         * elmo-msgdb.el (elmo-msgdb-set-flag): Overwrite answered flag.
3958         (elmo-msgdb-unset-flag): Ditto.
3959
3960         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Precedes Seen flag.
3961
3962 2003-07-19  Yuuichi Teranishi  <teranisi@gohome.org>
3963
3964         * elmo-pipe.el (elmo-folder-msgdb-create): Don't define.
3965         (elmo-folder-commit): Define.
3966         (elmo-folder-synchronize): Ditto.
3967         (elmo-folder-list-flagged): Ditto.
3968         (elmo-folder-commit): Ditto.
3969         (elmo-folder-length): Ditto.
3970         (elmo-folder-count-flags): Ditto.
3971         (elmo-message-mark): Ditto.
3972         (elmo-message-field): Ditto.
3973         (elmo-message-entity): Ditto.
3974         (elmo-message-folder): Ditto.
3975
3976 2003-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
3977
3978         * elmo.el (elmo-message-field): Define as a method.
3979
3980         * elmo-multi.el (elmo-message-entity): Fixed bug when no entity found.
3981         (elmo-message-field): Define.
3982
3983         * elmo.el (elmo-folder-list-unreads): Don't use msgdb API.
3984         (elmo-folder-list-importants): Ditto.
3985         (elmo-folder-list-answereds): Ditto.
3986
3987         * elmo-multi.el (elmo-folder-mark-as-important): Remove :before
3988         qualifier.
3989         (elmo-folder-mark-as-read): Ditto.
3990         (elmo-folder-unmark-read): Ditto.
3991         (elmo-folder-mark-as-answered): Ditto.
3992         (elmo-folder-unmark-answered): Ditto.
3993         (elmo-folder-list-flagged): Define.
3994         (elmo-folder-commit): Ditto.
3995         (elmo-folder-length): Ditto.
3996         (elmo-folder-count-flags): Ditto.
3997
3998 2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
3999
4000         * elmo.el (elmo-folder-detach-messages): New method.
4001         (elmo-folder-move-messages): Use it.
4002         (elmo-folder-synchronize): Ditto.
4003
4004         * elmo-multi.el (elmo-folder-detach-messages): Define.
4005
4006         * elmo.el (elmo-message-copy-entity): New function.
4007         (elmo-message-entity-set-number): Ditto.
4008         (elmo-message-mark): Define as method.
4009
4010         * elmo-multi.el (elmo-multi-real-folder-number): Changed position.
4011         (elmo-folder-synchronize): Return 0 (Should be reconsider).
4012         (elmo-message-entity): Fixed last change.
4013         (elmo-message-mark): Define.
4014         (elmo-folder-msgdb-create): Abolish.
4015         (elmo-multi-folder-append-msgdb): Ditto.
4016         (elmo-multi-folder-diff): Fixed.
4017         (elmo-multi-split-number-alist): Removed.
4018         (elmo-multi-split-mark-alist): Removed.
4019         (elmo-folder-list-messages): Define.
4020         (elmo-folder-list-messages-internal): Removed.
4021
4022         * elmo-localdir.el (elmo-folder-append-messages): Treat flags for
4023         local file messages.
4024         (elmo-folder-msgdb-create): Fixed read mark.
4025
4026 2003-07-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4027
4028         * elmo.el (elmo-generic-folder-append-messages): Set flag as nil
4029         if mark is nil.
4030
4031 2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
4032
4033         * elmo.el (elmo-folder-list-message-entities): Define as inline
4034         function.
4035         (elmo-folder-messages): Abolish.
4036
4037         * elmo-multi.el (elmo-folder-check): Call elmo-folder-check for each
4038         folder.
4039         (elmo-folder-synchronize): Define.
4040         (elmo-message-entity): Define.
4041
4042 2003-07-16  Yuuichi Teranishi  <teranisi@gohome.org>
4043
4044         * elmo-imap4.el (elmo-folder-delete-messages-plugged): Call
4045         elmo-imap4-session-select-mailbox.
4046
4047         * elmo.el (elmo-folder-move-messages): Don't display any message.
4048
4049         * elmo-imap4.el (elmo-imap4-send-command): Accept process output when
4050         parsing.
4051         (elmo-imap4-session-check): Don't wait CHECK response.
4052         (elmo-folder-delete-messages-plugged): Don't wait EXPUNGE response.
4053
4054 2003-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
4055
4056         * elmo.el (elmo-folder-synchronize): Fixed bug when sync-all.
4057
4058 2003-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
4059
4060         * elmo-multi.el (elmo-folder-process-crosspost): Follow the change in
4061         API.
4062         * elmo-nntp.el (elmo-folder-process-crosspost): Ditto.
4063
4064
4065         * elmo.el (elmo-folder-process-crosspost): Remove optional argument.
4066         (elmo-folder-list-message-entities): Added argument in-msgdb and
4067         numbers.
4068         (elmo-folder-synchronize): Define as a method.
4069
4070         * elmo-nntp.el (elmo-folder-initialize): Don't use
4071         elmo-nntp-default-user if zero-length username is specified
4072         explicitly.
4073
4074 2003-07-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
4075
4076         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't omit
4077         server name in case with username.
4078         (XXX: this is ad-hoc fix against username includes "@", it
4079         should be solved fundamentally)
4080
4081 2003-07-05  Yoichi NAKAYAMA  <yoichi@geiin.org>
4082
4083         * elmo-nntp.el (elmo-nntp-debug): New function.
4084         (elmo-nntp-send-command, elmo-nntp-process-filter): Call it.
4085         (elmo-network-authenticate-session): Hide auth-info from the log.
4086
4087         * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't append
4088         user name if it is equal to elmo-nntp-default-user.
4089
4090 2003-06-07  Yuuichi Teranishi  <teranisi@gohome.org>
4091
4092         * elmo-shimbun.el (elmo-shimbun-get-headers): Use shimbun-server
4093         instead of shimbun-server-internal;
4094         Use shimbun-current-group instead of shimbun-current-group-internal.
4095         (elmo-folder-plugged-p): Use shimbun-server instead of
4096         shimbun-server-internal.
4097         (elmo-folder-set-plugged): Ditto.
4098         (elmo-net-port-info): Ditto.
4099         (elmo-folder-check): Ditto.
4100         (elmo-folder-expand-msgdb-path): Ditto.
4101         (elmo-folder-list-subfolders): Ditto.
4102
4103 2003-05-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
4104
4105         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra-field):
4106         Convert field-name to lower case.
4107         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
4108
4109 2003-05-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
4110
4111         * acap.el, elmo-imap4.el, elmo-nntp.el, elmo-util.el, pldap.el:
4112         `message' and `error' take format string.
4113
4114 2003-04-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4115
4116         * elmo-pipe.el (elmo-folder-clear): Implemented clear copied-list.
4117
4118 2003-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4119
4120         * elmo-msgdb.el (elmo-msgdb-message-entity-field): Don't use self
4121         recursive call (can't byte compile on emacs 20.7).
4122
4123 2003-04-02  Yuuichi Teranishi  <teranisi@gohome.org>
4124
4125         * elmo.el (elmo-folder-list-messages): Redefine as a luna method.
4126         (elmo-folder-list-message-entities): New API.
4127         (elmo-message-entity): Ditto.
4128         (elmo-message-entity-parent): Ditto.
4129         (elmo-folder-do-each-message-entity): Ditto.
4130         (elmo-message-entity-number): Ditto.
4131         (elmo-message-entity-field): Ditto.
4132         (elmo-message-entity-set-field): Ditto.
4133         (elmo-folder-count-flags): Ditto.
4134         (elmo-folder-length): Ditto.
4135
4136         * elmo-util.el (elmo-get-hash-val): Check whether hashtable is nil or
4137         not.
4138
4139         * elmo-msgdb.el (elmo-msgdb-list-messages): New function.
4140         (elmo-msgdb-count-marks): Abolish.
4141         (elmo-msgdb-make-entity): Ditto.
4142         (elmo-msgdb-do-each-entity): Ditto.
4143         (elmo-msgdb-message-entity): New inline function.
4144         (elmo-msgdb-message-entity-field): Ditto.
4145         (elmo-msgdb-message-entity-set-field): Ditto.
4146         (elmo-msgdb-make-message-entity): New function.
4147
4148 2003-03-25  Yuuichi Teranishi  <teranisi@gohome.org>
4149
4150         * elmo.el (elmo-folder-append-buffer): Changed argument from unread 
4151         to flag. (All other related portions are changed.)
4152         (elmo-folder-msgdb-create): Likewise.
4153         (elmo-generic-folder-append-messages): Use flag-table instead of
4154         seen-list.
4155         (elmo-folder-move-messages): Removed redundant process.
4156         (elmo-folder-synchronize): Likewise.
4157
4158         * elmo-msgdb.el (elmo-flag-table-get): New function.
4159         (elmo-flag-table-save): Fixed.
4160         (elmo-msgdb-length): New inline function.
4161         (elmo-msgdb-flag-table): New function.
4162         (elmo-msgdb-mark): Add optional argument new.
4163         (elmo-msgdb-add-msgs-to-seen-list): Abolish.
4164         (elmo-msgdb-seen-list): Ditto.
4165         (elmo-msgdb-add-msgs-to-seen-list): Ditto.
4166
4167
4168 2003-03-24  Yuuichi Teranishi  <teranisi@gohome.org>
4169
4170         * elmo.el (elmo-message-set-mark): Abolish.
4171         (elmo-folder-unmark-important): Added optional argument `ignore-flag'.
4172         (All related portions are changed.)
4173
4174         * elmo-msgdb.el (toplevel): Added comment.
4175         (elmo-load-msgdb): Added 4th element `path'.
4176         (elmo-msgdb-append): Follow the change above.
4177         (elmo-msgdb-clear): Ditto.
4178         (elmo-msgdb-delete-msgs): Ditto.
4179         (elmo-msgdb-get-path): New inline function.
4180         (elmo-msgdb-set-path): Ditto.
4181         (elmo-flag-table-filename): New variable.
4182         (elmo-flag-table-load): New function.
4183         (elmo-flag-table-set): Ditto.
4184         (elmo-flag-table-save): Ditto.
4185         (elmo-msgdb-get-field-value): Abolish.
4186         (elmo-msgdb-overview-get-entity-by-number): Ditto.
4187
4188 2003-03-30  Yoichi NAKAYAMA  <yoichi@geiin.org>
4189
4190         * elmo.el (elmo-folder-delete): Confirm deletion here, return t if
4191         the folder has been deleted successfully.
4192         * elmo-imap4.el (elmo-folder-delete): Ditto.
4193         * elmo-archive.el (elmo-folder-delete): Ditto.
4194         * elmo-localdir.el (elmo-folder-delete): Ditto.
4195         * elmo-maildir.el (elmo-folder-delete): Ditto.
4196
4197 2003-03-27  Tetsurou Okazaki  <okazaki@be.to>
4198
4199         * elmo-util.el (elmo-string-member-ignore-case): New function.
4200         * elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Use it.
4201         (elmo-imap4-fetch-callback-1-subr): Likewise.
4202
4203 2003-03-27  Kimura Fuyuki <fuyuki@hadaly.org>
4204
4205         * elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Fix
4206         the case of the name attribute "\Noselect".
4207
4208 2003-02-16  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4209
4210         * elmo.el (elmo-folder-rename-internal): New method to cause error.
4211
4212         * elmo-localdir.el (elmo-folder-pack-numbers): onum, a member of
4213         flist, is not always a member of onum-alist.
4214
4215 2003-02-14  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4216
4217         * elmo-version.el (elmo-version): Up to 2.11.3.
4218
4219 2003-02-10  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4220
4221         * elmo-maildir.el (elmo-folder-rename-internal): New method,
4222         copied from localdir's one.
4223
4224         * elmo-pipe.el (elmo-folder-rename): New method, rename
4225         destination folder with leaving source folder as it is.
4226
4227 2003-02-08  KAMO Tomoyuki  <kamo@ITmanage.co.jp>
4228
4229         * elmo-nntp.el (elmo-nntp-get-folders-info): Don't use
4230         replace-regexp.
4231
4232 2003-02-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4233
4234         * elmo-version.el (elmo-version): Up to 2.11.2.
4235
4236 2003-02-05  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4237
4238         * elmo-shimbun.el (elmo-folder-initialize): Do not call
4239         shimbun-open in case of "@".
4240         (elmo-folder-open-internal): Cope with shimbun = nil case.
4241         (elmo-folder-plugged-p): Ditto.
4242         (elmo-folder-list-subfolders): Make list for "@/" group.
4243
4244 2003-01-31  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4245
4246         * elmo-imap4.el (elmo-folder-expand-msgdb-path): Don't expand
4247         mailbox (e.g. for %~/something).
4248
4249 2003-01-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4250
4251         * elmo-localdir.el (elmo-folder-rename-internal): Referctoring;
4252         Replace nested conditional with guard clauses.
4253
4254 2003-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
4255
4256         * pldap.el (ldap-search-basic): Don't treat exit status 32 as an
4257         error [wl:11327].
4258
4259         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Bind print-level,
4260         print-depth.
4261
4262 2003-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4263
4264         * elmo-archive.el (elmo-folder-rename-internal): Referctoring;
4265         Replace nested conditional with guard clauses.
4266
4267 2003-01-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4268
4269         * elmo-util.el (elmo-object-save): Bind print-level, print-length.
4270         (elmo-passwd-alist-save): Ditto.
4271         * elmo-database.el (elmo-database-msgid-put): Bind print-length.
4272
4273 2003-01-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4274
4275         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Expand
4276         dir-name only if it is absolute path.
4277         (TODO: distinguish +/something and +something)
4278
4279 2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4280
4281         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Correct msgdb
4282         path for "+~/something".
4283
4284 2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4285
4286         * elmo-localdir.el (elmo-folder-rename-internal): If new-dir exist
4287         as non-directory, cause error before rename-file.
4288         * elmo-archive.el (elmo-folder-rename-internal): Create directory
4289         apropriately, mimic localdir's one.
4290         Based on the patch from KAMO Tomoyuki <kamo@ITmanage.co.jp>.
4291
4292 2003-01-10  Tsutomu OKADA  <okada@furuno.co.jp>
4293
4294         * elmo-map.el (elmo-folder-pack-numbers): Fix name of the function.
4295
4296 2003-01-06  Yuuichi Teranishi  <teranisi@gohome.org>
4297
4298         * elmo-msgdb.el: Moved global mark handling stuffs to elmo-util.el.
4299
4300         * elmo-util.el: Moved global mark handling stuffs from elmo-msgdb.el.
4301         
4302         * elmo-util.el (elmo-file-cache-delete): Check whether the cache file
4303         is included in the global-mark or not.
4304
4305 2002-12-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4306
4307         * utf7.el (toplevel): Avoid error when the function
4308         find-coding-system does not exist.
4309
4310 2002-12-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4311
4312         * elmo-nntp.el (elmo-folder-search): Body search is to search from
4313         cache even if the folder is plugged.
4314         (elmo-nntp-search-primitive): Do nothing when body search is
4315         invoked (although it is not used by the change above).
4316         * elmo-multi.el (elmo-folder-search): Don't ignore error anymore.
4317
4318 2002-12-20  Kenichi OKADA  <okada@opaopa.org>
4319
4320         * elmo-version.el (elmo-version): Up to 2.11.1.
4321
4322 2002-12-10  Kenichi OKADA  <okada@opaopa.org>
4323
4324         * elmo-archive.el: Specify charset.
4325
4326 2002-12-04  Yuuichi Teranishi  <teranisi@gohome.org>
4327
4328         * elmo-pop3.el (elmo-pop3-process-filter): Check whether the pop3
4329         process buffer lives or not.
4330
4331         * elmo-dop.el (elmo-dop-queue-flush): Don't append to the dop-queue
4332         while flushing queues (It causes infinite loop).
4333
4334 2002-11-26  Yuuichi Teranishi  <teranisi@gohome.org>
4335
4336         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed last change.
4337
4338 2002-11-24  Yuuichi Teranishi  <teranisi@gohome.org>
4339
4340         * utf7.el (toplevel): Check the ucs features dynamically.
4341         (Advice from Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>)
4342
4343         * elmo-pipe.el (elmo-folder-creatable-p): Don't check whether the
4344         folder is creatabe or not if it already exists.
4345
4346 2002-11-21  Yuuichi Teranishi  <teranisi@gohome.org>
4347
4348         * elmo-nntp.el (elmo-nntp-search-primitive): Revert the last change.
4349
4350         * elmo-multi.el (elmo-folder-search): Ignore errors while search.
4351
4352         * elmo-imap4.el (elmo-imap4-response-garbage-p): New macro.
4353         (elmo-imap4-read-response): Take care of garbage response.
4354
4355 2002-11-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4356
4357         * elmo-nntp.el (elmo-nntp-search-primitive): Fix the last change,
4358         just return nil instead of error.
4359
4360 2002-11-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4361
4362         * elmo-nntp.el (elmo-nntp-search-primitive): Cause error when the
4363         search-key is "body".
4364
4365 2002-11-19  Yuuichi Teranishi  <teranisi@gohome.org>
4366
4367         * elmo-imap4.el (elmo-folder-list-subfolders): Check the return value
4368         of elmo-string-matched-assoc to use match-data.
4369         (Thanks to Mito <mito@mxa.nes.nec.co.jp>)
4370
4371 2002-11-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4372
4373         * elmo-split.el (elmo-split->): New function.
4374         (elmo-split-<): Ditto.
4375
4376 2002-11-14  Yuuichi Teranishi  <teranisi@gohome.org>
4377
4378         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Added
4379         workaround for invalid message-id.
4380
4381 2002-11-13  Yuuichi Teranishi  <teranisi@gohome.org>
4382
4383         * elmo-pop3.el (elmo-pop3-get-session): If if-exists is 'any-exists,
4384         return normal pop3 session or pop3 biff session.
4385
4386 2002-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
4387
4388         * elmo-maildir.el (elmo-maildir-update-current): Don't append
4389         info part to the cur files when the new files already have it.
4390         (Adviced by Jared Rhine <jared@wordzoo.com>)
4391
4392 2002-11-06  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4393
4394         * elmo-split.el (elmo-split-default-action): New variable.
4395         (elmo-split-subr): Use it if all other conditions are passed.
4396         Extend `fname' and rename it as `action'. (implemented
4397         Teranishi-san's idea in [wl:10800])
4398
4399 2002-10-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4400
4401         * elmo-imap4.el: Remove Nemacs hack, replace `elmo-read' by `read'.
4402         * elmo-util.el: Ditto.
4403
4404 2002-10-28  Yuuichi Teranishi  <teranisi@gohome.org>
4405
4406         * elmo.el (elmo-message-accessible-p): Renamed from
4407         elmo-message-cached-p and rewritten.
4408
4409 2002-10-27  Yuuichi Teranishi  <teranisi@gohome.org>
4410
4411         * elmo.el (elmo-folder-list-flagged): New generic function.
4412         (elmo-folder-list-importants): New implementation.
4413         (elmo-folder-list-answereds): Ditto.
4414         (elmo-folder-search-fast):  Use 'flag' instead of 'mark';
4415         Added 'digest'.
4416         (elmo-message-cached-p): New function.
4417         (elmo-message-set-flag): Ditto (no content).
4418         (elmo-message-unset-flag): Ditto.
4419         (elmo-folder-list-messages-mark-match): Abolish.
4420
4421         * elmo-util.el (elmo-regexp-opt): New function.
4422
4423         * elmo-msgdb.el (elmo-msgdb-get-cached): New function.
4424         (elmo-msgdb-match-condition-primitive): Use 'flag' instead of 'mark';
4425         Added 'digest'.
4426         (elmo-msgdb-list-flagged): New function.
4427
4428         * elmo-imap4.el (elmo-imap4-folder-list-digest-plugged): New function.
4429         (elmo-imap4-search-internal-primitive): Use 'flag' instead of 'mark';
4430         Added 'digest'.
4431
4432         * elmo-filter.el (elmo-folder-diff): Use 'flag' instead of 'mark'.
4433
4434 2002-10-26  Yuuichi Teranishi  <teranisi@gohome.org>
4435
4436         * elmo-version.el (elmo-version): Up to 2.11.0.
4437
4438 2002-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4439
4440         * elmo-msgdb.el (elmo-msgdb-set-flag): Use
4441         `elmo-file-cache-exists-p'; use proper mark that depends on
4442         `use-cache'.
4443         (elmo-msgdb-unset-flag): Ditto.
4444         (elmo-msgdb-set-cached): Ditto. added argument `use-cache'.
4445
4446         * elmo.el (elmo-message-set-cached): Call `elmo-msgdb-set-cached'
4447         with 4th argument `use-cache'.
4448
4449 2002-10-18  Yuuichi Teranishi  <teranisi@gohome.org>
4450
4451         * elmo.el (elmo-folder-unmark-important): Follow the changes above.
4452         (elmo-folder-mark-as-important): Ditto.
4453         (elmo-folder-unmark-read): Ditto.
4454         (elmo-folder-mark-as-read): Ditto.
4455         (elmo-folder-unmark-answered): Ditto.
4456         (elmo-folder-mark-as-answered): Ditto.
4457
4458         * elmo-msgdb.el (elmo-msgdb-set-cached): Use the term 'flag' for
4459         message status.
4460         (elmo-msgdb-mark): Likewise.
4461         (elmo-msgdb-set-flag): Renamed from elmo-msgdb-set-status.
4462         (elmo-msgdb-unset-flag): Likewise.
4463
4464         * elmo.el (elmo-generic-folder-diff): Avoid byte-compile warning.
4465
4466 2002-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4467
4468         * elmo-filter.el (elmo-folder-diff): Fixed condition checking
4469         `last:' filter.
4470
4471 2002-10-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4472
4473         * elmo-dop.el (elmo-folder-status-dop): If spool-folder is absent,
4474         set spool-length to 0.
4475
4476 2002-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4477
4478         * elmo-dop.el (elmo-dop-queue-flush): Check obsolete at first.
4479         (elmo-dop-queue-flush): Fixed last change.
4480
4481 2002-10-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4482
4483         * elmo-filter.el (elmo-folder-list-unreads): Call generic method
4484         if require-msgdb slot is nil.
4485         (elmo-folder-list-importants): Likewise.
4486
4487 2002-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4488
4489         * elmo.el (elmo-message-set-cached): Set mark-modified slot if
4490         mark is changed.
4491
4492         * elmo-msgdb.el (elmo-msgdb-set-mark): Return t.
4493         (elmo-msgdb-set-cached): Undo last change; return non-nil if mark
4494         is changed.
4495
4496 2002-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
4497
4498         * elmo-msgdb.el (elmo-msgdb-set-cached): Set mark-modified slot.
4499
4500 2002-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
4501
4502         * elmo-msgdb.el (elmo-msgdb-unset-status): Set mark-modified slot.
4503
4504         * elmo-multi.el (elmo-folder-close): Set msgdb of children as nil.
4505
4506 2002-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4507
4508         * elmo-msgdb.el (elmo-msgdb-set-status): Fixed logic (new to read).
4509         (elmo-msgdb-uncached-marks): Added elmo-msgdb-new-mark.
4510
4511 2002-09-24  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4512
4513         * elmo.el: Add autoload setting for elmo-nntp-post, fix against
4514         the problem reported by Sean Rima [wl-en:180].
4515
4516 2002-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
4517
4518         * elmo-filter.el (elmo-folder-diff): Treat 'mark:' filter.
4519
4520         * elmo.el (elmo-folder-unmark-read): Added argument `ignore-flag'.
4521
4522         * elmo-filter.el (elmo-folder-unmark-read): Ditto.
4523
4524         * elmo-map.el (elmo-folder-unmark-read): Ditto.
4525
4526         * elmo-multi.el (elmo-folder-unmark-read): Ditto.
4527
4528         * elmo-net.el (elmo-folder-unmark-read): Ditto.
4529
4530         * elmo-pipe.el (elmo-folder-unmark-read): Ditto.
4531
4532 2002-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
4533
4534         * elmo-imap4.el (elmo-imap4-parse-status): Skip white spaces after
4535         status number.
4536
4537 2002-09-17  Yuuichi Teranishi  <teranisi@gohome.org>
4538
4539         * elmo.el (elmo-folder-mark-as-read): Added argument `ignore-flag'.
4540         (elmo-folder-mark-as-read): Follow the API change.
4541         (elmo-message-set-cached): New function.
4542
4543         * elmo-pipe.el (elmo-folder-mark-as-read): Follow the API change.
4544
4545         * elmo-nntp.el (elmo-folder-mark-as-read): Set :before qualifier.
4546
4547         * elmo-net.el (elmo-folder-unmark-important): Set :before qualifier.
4548         (elmo-folder-mark-as-important): Ditto.
4549         (elmo-folder-unmark-read): Ditto.
4550         (elmo-folder-mark-as-read): Ditto.
4551         (elmo-folder-unmark-answered): Ditto.
4552         (elmo-folder-mark-as-answered): Ditto.
4553
4554         * elmo-multi.el (elmo-folder-mark-as-important): Set :before qualifier.
4555         (elmo-folder-unmark-important): Ditto.
4556         (elmo-folder-mark-as-read): Ditto.
4557         (elmo-folder-unmark-read): Ditto.
4558         (elmo-folder-mark-as-answered): Ditto.
4559         (elmo-folder-unmark-answered): Ditto.
4560
4561         * elmo-mark.el (toplevel): Removed some mark method definitions.
4562
4563         * elmo-map.el (elmo-map-folder-unmark-answered): New method.
4564         (elmo-map-folder-mark-as-answered): Ditto.
4565         (elmo-folder-unmark-important): Add :before qualifier.
4566         (elmo-folder-mark-as-important): Ditto.
4567         (elmo-folder-unmark-read): Ditto.
4568         (elmo-folder-mark-as-read): Ditto.
4569         (elmo-folder-unmark-answered): Define.
4570         (elmo-folder-mark-as-answered): Ditto.
4571
4572         * elmo-maildir.el (elmo-map-folder-mark-as-answered): Define.
4573         (elmo-map-folder-unmark-answered): Ditto.
4574
4575         * elmo-filter.el (elmo-folder-mark-as-read): Follow the API change.
4576
4577         * elmo-net.el (elmo-folder-unmark-important): Added :around qualifier.
4578         (elmo-folder-mark-as-important): Ditto.
4579         (elmo-folder-unmark-read): Ditto.
4580         (elmo-folder-mark-as-read): Ditto.
4581         (elmo-folder-unmark-answered): Ditto.
4582         (elmo-folder-mark-as-answered): Ditto.
4583
4584         * elmo-msgdb.el (elmo-msgdb-match-condition-primitive): Added argument
4585         `mark'; evaluate mark condition.
4586         (elmo-msgdb-match-condition-internal): New function.
4587         (elmo-msgdb-match-condition): Call it; changed argument.
4588
4589         * elmo.el (elmo-folder-search): Follow the API change on
4590         `elmo-msgdb-match-condition'.
4591
4592 2002-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4593
4594         * elmo-filter.el (elmo-folder-msgdb-create): Add to mark-alist if
4595         original mark is non-nil.
4596
4597 2002-09-17  Yuuichi Teranishi  <teranisi@gohome.org>
4598
4599         * elmo-map.el (elmo-map-folder-list-unreads): Define default behavior.
4600         (elmo-map-folder-list-answereds): New method.
4601         (elmo-folder-list-unreads): Add :around qualifier.
4602         (elmo-folder-list-importants): Ditto.
4603         (elmo-folder-list-answereds): Ditto.
4604
4605 2002-09-16  Yuuichi Teranishi  <teranisi@gohome.org>
4606
4607         * elmo-msgdb.el (elmo-msgdb-mark): New inline function.
4608
4609         * elmo-filter.el (elmo-folder-msgdb-create): Call target-folder's
4610         method if msgdb is not required.
4611         (elmo-filter-folder-list-importants): Don't treat global-mark.
4612
4613         * elmo.el (elmo-folder-list-importants): Ditto.
4614
4615         * elmo-net.el (elmo-folder-list-importants): Ditto.
4616
4617         * elmo-map.el (elmo-folder-list-importants): Ditto.
4618
4619         * elmo-msgdb.el (elmo-msgdb-seen-list): Use `elmo-msgdb-unread-marks'
4620
4621         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Set answered mark.
4622         (elmo-imap4-folder-list-any-plugged): New function.
4623         (elmo-imap4-search-internal-primitive): Use it.
4624
4625         * elmo-filter.el (elmo-folder-check): Synchronize original folder
4626         only when require-msgdb slot is non-nil.
4627         (elmo-folder-close): Clear target folder's msgdb.
4628
4629 2002-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
4630
4631         * elmo-pop3.el (elmo-folder-msgdb-create): Follow the API change.
4632         (elmo-pop3-msgdb-create-by-header): Ditto.
4633         (elmo-pop3-msgdb-create-message): Ditto.
4634
4635         * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
4636
4637         * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
4638
4639         * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
4640
4641         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
4642         (elmo-folder-msgdb-create): Ditto.
4643         (elmo-nntp-folder-msgdb-create): Ditto.
4644         (elmo-nntp-msgdb-create-by-header): Ditto.
4645         (elmo-nntp-msgdb-create-message): Ditto.
4646         (elmo-folder-list-unreads): Define.
4647
4648         * elmo-pipe.el (elmo-folder-msgdb-create): Ditto.
4649         (elmo-folder-append-messages): Ditto.
4650         (elmo-folder-list-unreads): Define.
4651         (elmo-folder-list-importants): Ditto.
4652         (elmo-folder-list-answereds): Ditto.
4653
4654         * elmo-net.el (elmo-folder-list-unreads): Define.
4655         (elmo-folder-list-importants): Ditto.
4656         (elmo-folder-list-answereds): Ditto.
4657         (elmo-folder-list-answereds-plugged): Ditto.
4658         (elmo-folder-msgdb-create): Follow the API change.
4659         (elmo-folder-msgdb-create-unplugged): Ditto.
4660         (elmo-folder-unmark-answered): Define.
4661         (elmo-folder-mark-as-answered-unplugged): Ditto.
4662         (elmo-folder-unmark-answered-unplugged): Ditto.
4663
4664         * elmo-msgdb.el (elmo-msgdb-new-mark): New user option.
4665         (elmo-msgdb-unread-uncached-mark): Ditto.
4666         (elmo-msgdb-unread-cached-mark): Ditto.
4667         (elmo-msgdb-read-uncached-mark): Ditto.
4668         (elmo-msgdb-answered-cached-mark): Ditto.
4669         (elmo-msgdb-answered-uncached-mark): Ditto.
4670         (elmo-msgdb-important-mark): Ditto.
4671         (elmo-msgdb-set-mark): Rewrite.
4672         (elmo-msgdb-count-marks): Rewrite.
4673         (elmo-msgdb-mark-alist-set): Abolish.
4674         (elmo-msgdb-seen-list): Removed argument `seen-marks'.
4675         (elmo-msgdb-add-msgs-to-seen-list): Likewise.
4676
4677         * elmo-multi.el (elmo-folder-check): Call elmo-folder-synchronize.
4678         (elmo-folder-close): Define.
4679         (elmo-folder-msgdb-create): Follow the API change.
4680         (elmo-folder-list-unreads): Rewrite.
4681         (elmo-folder-mark-as-important): Ditto.
4682         (elmo-folder-unmark-important): Ditto.
4683         (elmo-folder-mark-as-read): Ditto.
4684         (elmo-folder-unmark-read): Ditto.
4685         (elmo-folder-mark-as-answered): Define.
4686         (elmo-folder-unmark-answered): Ditto.
4687
4688         * elmo-localdir.el (elmo-folder-msgdb-create): Follow the API change.
4689         (elmo-folder-append-messages): Ditto.
4690
4691         * elmo-mark.el (elmo-folder-msgdb-create): Ditto.
4692
4693         * elmo-map.el (elmo-folder-list-unreads): Ditto.
4694         (elmo-folder-list-importants): Ditto.
4695
4696         * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
4697         (elmo-folder-append-messages): Ditto.
4698
4699         * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Follow the API
4700         change.
4701         (elmo-folder-msgdb-create-plugged): Ditto.
4702         (elmo-folder-append-messages): Ditto.
4703         (elmo-folder-list-answereds-plugged): Define.
4704         (elmo-imap4-search-internal-primitive): Add `mark' processing.
4705         (elmo-folder-unmark-answered-plugged): Define.
4706         (elmo-folder-mark-as-answered-plugged): Ditto.
4707         (elmo-folder-search-requires-msgdb-p): Ditto.
4708
4709         * elmo-filter.el (elmo-filter-folder): Added new slot 'require-msgdb'.
4710         (elmo-folder-initialize): Set it.
4711         (elmo-folder-msgdb): Define.
4712         (elmo-folder-check): Call elmo-folder-synchronize.
4713         (elmo-folder-close): Define.
4714         (elmo-folder-commit): Ditto.
4715         (elmo-folder-msgdb-create): Rewrite.
4716         (elmo-folder-list-unreads): Ditto.
4717         (elmo-folder-list-importants): Ditto.
4718         (elmo-folder-mark-as-read): Ditto.
4719         (elmo-folder-unmark-read): Ditto.
4720         (elmo-folder-mark-as-important): Ditto.
4721         (elmo-folder-unmark-important): Ditto.
4722         (elmo-folder-mark-as-answered): Define.
4723         (elmo-folder-unmark-answered): Ditto.
4724
4725         * elmo-dop.el (elmo-dop-queue-merge-method-list): Added
4726         elmo-folder-mark-as-answered, elmo-folder-unmark-answered.
4727         (elmo-dop-queue-method-name-alist): Likewise.
4728         (elmo-folder-mark-as-answered-dop): New inline function.
4729         (elmo-folder-unmark-answered-dop): Ditto.
4730         (elmo-folder-status-dop): Treat spool-length as 0 if it does not exist.
4731
4732         * elmo-archive.el (elmo-folder-append-messages): Follow the API change.
4733         (elmo-folder-msgdb-create): Ditto.
4734         (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
4735         (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
4736         (elmo-archive-parse-mmdf): Ditto.
4737
4738         * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
4739         (elmo-folder-list-unreads-internal): Ditto.
4740
4741         * elmo.el (elmo-folder-msgdb): Define as generic function.
4742         (elmo-folder-list-messages): Added argument `in-msgdb'.
4743         (elmo-folder-list-unreads): Define as generic function.
4744         (elmo-folder-list-importants): Ditto.
4745         (elmo-folder-list-answereds): Ditto.
4746         (elmo-folder-list-messages-with-global-mark): New function.
4747         (elmo-folder-msgdb-create): Removed mark arguments.
4748         (elmo-folder-unmark-answered): New generic function.
4749         (elmo-folder-mark-as-answered): Ditto.
4750         (elmo-folder-append-messages): Removed argunment `unread-marks'
4751         (elmo-folder-list-unreads-internal): Abolish.
4752         (elmo-folder-list-importants-internal): Ditto.
4753         (elmo-folder-search-requires-msgdb-p): New generic function.
4754         (elmo-folder-search-requires-msgdb-p-internal): New function.
4755         (elmo-generic-folder-open): Call elmo-folder-msgdb instead of
4756         elmo-msgdb-load.
4757         (elmo-folder-search-fast): Added key 'mark'.
4758         (elmo-generic-folder-append-messages): Use elmo-msgdb-unread-marks
4759         instead of unread-marks argument.
4760         (elmo-folder-move-messages): Removed argunment `unread-marks'
4761         (elmo-folder-unmark-important): Define.
4762         (elmo-folder-mark-as-important): Ditto.
4763         (elmo-folder-unmark-read): Ditto.
4764         (elmo-folder-mark-as-read): Ditto.
4765         (elmo-folder-unmark-answered): Ditto.
4766         (elmo-folder-mark-as-answered): Ditto.
4767         (elmo-folder-replace-marks): Abolish.
4768         (elmo-generic-folder-append-msgdb): Append msgdb before checking
4769         duplicates.
4770         (elmo-folder-synchronize): Removed mark arguments;
4771         return crosspost only number.
4772
4773 2002-09-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4774
4775         * elmo-dop.el (elmo-dop-queue-flush): Remove unused argument.
4776         Remove redundunt connectivity check.
4777
4778 2002-09-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
4779
4780         * elmo-dop.el (elmo-dop-queue-flush): Perform plugged ones only so
4781         as not to clear queue unexpectedly. (Ref. [wl:9778],[wl:10493])
4782
4783 2002-09-03  Yuuichi Teranishi  <teranisi@gohome.org>
4784
4785         * pldap.el (ldap-decode-string): Return string as-is if
4786         `ldap-coding-system' is nil.
4787         (ldap-encode-string): Ditto.
4788         (ldap-search-entries): Encode filter string with `ldap-encode-string'.
4789         (ldap-default-host): Fixed docstring.
4790
4791 2002-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
4792
4793         * elmo-util.el (elmo-warning): Define as a macro which uses
4794         `display-warning' if it is defined as a function.
4795
4796         * elmo-split.el (elmo-split-fetch-decoded-field): New function.
4797         (elmo-split-equal): Use it.
4798         (elmo-split-match): Ditto.
4799         (elmo-split-message-entity): New buffer-local variable.
4800         (elmo-split-subr): Set it.
4801
4802         * elmo-version.el (elmo-version): Up to 2.9.15.
4803
4804 2002-08-18  Kenichi OKADA  <okada@opaopa.org>
4805
4806         * elmo-imap4.el (elmo-network-initialize-session):
4807         Check capability after starttls.
4808
4809 2002-08-06  Yuuichi Teranishi  <teranisi@gohome.org>
4810
4811         * elmo-util.el (elmo-list-delete): Added optional argument
4812         DELETE-FUNCTION.
4813
4814         * elmo-vars.el (elmo-imap4-default-mailbox): Abolished.
4815
4816         * elmo-util.el (elmo-warning): Ignore errors while recenter.
4817
4818         * elmo-msgdb.el (elmo-msgdb-do-each-entity): New macro.
4819
4820         * elmo-imap4.el (elmo-folder-initialize): Don't use
4821         elmo-imap4-default-mailbox.
4822
4823 2002-07-24  TAKAHASHI Kaoru  <kaoru@kaisei.org>
4824
4825         * elmo-split.el (toplevel): Use `product-provide'.
4826         (elmo-split): Checkdoc.
4827
4828 2002-07-21  Tetsurou Okazaki  <okazaki@be.to>
4829
4830         * elmo-imap4.el (elmo-imap4-debug, elmo-imap4-debug-1):
4831         Split `elmo-imap4-debug' into the macro `elmo-imap4-debug' and
4832         the function `elmo-imap4-debug-1'.
4833
4834 2002-07-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4835
4836         * elmo-split.el (elmo-split): Moved to run hooks and to show
4837         message from elmo-split-subr.
4838         (elmo-split-subr): Follow the change above.
4839
4840         * elmo-split.el (elmo-split-subr): New function (renamed from
4841         elmo-split-subr).
4842         (elmo-split): Changed to call elmo-split-subr by element of
4843         elmo-split-folder.
4844         (elmo-split-folder): Changed customization type to choice.
4845
4846 2002-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4847
4848         * elmo-split.el (elmo-split-and): Fixed condition.
4849
4850 2002-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
4851
4852         * elmo-split.el: New file.
4853         (elmo-split): Fixed logic.
4854         Display "Test:" instead of "Folder:" when reharsal.
4855
4856         * elmo-imap4.el (elmo-folder-append-buffer): Set flag as empty
4857         explicitly.
4858
4859         * elmo-version.el (elmo-version): Up to 2.9.14.
4860
4861         * elmo-util.el (elmo-expand-newtext): New function (renamed from
4862         wl-expand-newtext).
4863
4864 2002-06-10  Kenichi Sato <ksato@sonycom.com>
4865
4866         * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Fix for
4867         message with no message-id field.
4868
4869 2002-05-20  Yuuichi Teranishi  <teranisi@gohome.org>
4870
4871         * elmo-version.el (elmo-version): Up to 2.9.13.
4872
4873         * elmo-dop.el (elmo-folder-status-dop): Fix.
4874
4875 2002-05-19  Yuuichi Teranishi  <teranisi@gohome.org>
4876
4877         * elmo-util.el (elmo-disk-usage): Return 0 if invalid file attribute.
4878
4879         * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Avoid
4880         changing default value of default-mime-charset.
4881         (elmo-msgdb-create-overview-from-buffer): Remove TAB character.
4882
4883         * elmo-imap4.el (elmo-folder-open): Fixed NO response check.
4884
4885         * elmo-dop.el (elmo-dop-queue-merge-method-list): New variable.
4886         (elmo-dop-queue-merge): Use elmo-dop-queue-merge-method-list
4887         instead of elmo-dop-queue-method-name-alist to check merging queue.
4888         (elmo-folder-delete-messages-dop): Delete from queue if negative
4889         message number.
4890         (elmo-folder-append-buffer-dop-delayed): Treat as success if queue
4891         file is already removed.
4892
4893 2002-05-10  Katsumi Yamaoka  <yamaoka@jpl.org>
4894
4895         * elmo-vars.el: Bind colon keywords for old Emacsen.
4896
4897 2002-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4898
4899         * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Protect
4900         against non-exsisting charset.
4901
4902 2002-05-09  Yuuichi Teranishi  <teranisi@gohome.org>
4903
4904         * elmo-util.el (elmo-mime-string): Eliminate needless binding;
4905         Use eword-decode-and-unfold-unstructured-field-body.
4906
4907         * elmo-msgdb.el (elmo-msgdb-make-entity): New function.
4908         (elmo-msgdb-create-overview-from-buffer): Use document charset if
4909         exists to decode raw subject string.
4910         (toplevel): Require 'mime.
4911
4912         * elmo-version.el (elmo-version): Up to 2.9.12.
4913
4914 2002-05-02  Yuuichi Teranishi  <teranisi@gohome.org>
4915
4916         * elmo-msgdb.el (elmo-msgdb-get-mark): Fix docstring.
4917         (elmo-msgdb-set-mark): Ditto.
4918
4919         * elmo-version.el (elmo-version): Up to 2.9.11.
4920
4921 2002-05-01  Yuuichi Teranishi  <teranisi@gohome.org>
4922
4923         * elmo-util.el (elmo-delete-match-files): New function.
4924
4925         * elmo-localdir.el (elmo-folder-delete): Use elmo-delete-match-files
4926         instead of elmo-delete-directory.
4927
4928         * elmo-shimbun.el (elmo-shimbun-get-headers): Bind
4929         elmo-hash-minimun-size as 63.
4930
4931         * elmo-multi.el (elmo-multi-folder-diff): Use elmo-diff-new if
4932         elmo-diff-unread is nil.
4933
4934         * elmo-imap4.el (elmo-folder-open): Fix.
4935
4936         * elmo.el (elmo-message-mark): Rewrite.
4937         (elmo-message-field): Ditto.
4938         (elmo-message-set-mark): Ditto.
4939         (elmo-folder-replace-marks): New function.
4940         (elmo-generic-folder-append-msgdb): Removed third argument for
4941         elmo-msgdb-append.
4942         (elmo-folder-synchronize): Use elmo-msgdb-seen-list.
4943         (elmo-msgdb-load): New implementation.
4944
4945         * elmo-vars.el (elmo-use-overview-hashtb): Removed.
4946
4947         * elmo-util.el (elmo-list-insert): New implementation.
4948
4949         * elmo-multi.el (elmo-multi-folder-append-msgdb): Removed third
4950         argument for elmo-msgdb-append.
4951         
4952
4953         * elmo-msgdb.el (elmo-load-msgdb): New function.
4954         (elmo-make-msgdb): Ditto.
4955         (elmo-msgdb-get-index): New inline function.
4956         (elmo-msgdb-set-index): Ditto.
4957         (elmo-msgdb-get-entity-hashtb): Ditto.
4958         (elmo-msgdb-get-mark-hashtb): Ditto.
4959         (elmo-msgdb-get-mark): Ditto.
4960         (elmo-msgdb-set-mark): Ditto.
4961         (elmo-msgdb-count-marks): Ditto.
4962         (elmo-msgdb-get-number): Ditto.
4963         (elmo-msgdb-get-field): Ditto.
4964         (elmo-msgdb-seen-list): Ditto.
4965         (elmo-msgdb-mark-alist-set): Renamed from elmo-msgdb-mark-set.
4966         (elmo-msgdb-delete-msgs): Follow the changes above.
4967         (elmo-msgdb-overview-get-entity): Ditto.
4968         (elmo-msgdb-add-msgs-to-seen-list): Ditto.
4969         (elmo-msgdb-clear-index): Renamed from elmo-msgdb-clear-overview-hastb
4970         and rewritten.
4971         (elmo-msgdb-make-index): Likewise.
4972         (elmo-msgdb-append): Removed third argument.
4973         (elmo-msgdb-clear): Clear index as nil.
4974         (elmo-folder-set-info-hashtb): Removed.
4975         (elmo-folder-set-info-max-by-numdb): Ditto.
4976         (elmo-folder-info-make-hashtb): Ditto.
4977
4978         * elmo-localdir.el (elmo-folder-pack-numbers): Use elmo-make-msgdb.
4979
4980         * elmo-map.el (elmo-folder-pack-number): Ditto.
4981
4982 2002-04-30  Yuuichi Teranishi  <teranisi@gohome.org>
4983
4984         * elmo-version.el (elmo-version): Up to 2.9.10.
4985
4986         * elmo-util.el (elmo-get-hash-val): Check the 1st argument is string.
4987
4988         * elmo-msgdb.el (elmo-msgdb-get-parent-entity): New inline function.
4989
4990 2002-04-26  Kenichi OKADA  <okada@opaopa.org>
4991
4992         * elmo-utils.el (elmo-make-directory): Add option.
4993         Default file mode is 700.
4994
4995 2002-04-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
4996
4997         * elmo-shimbun.el (elmo-folder-local-p): Defined.
4998
4999 2002-04-15  Yuuichi Teranishi  <teranisi@gohome.org>
5000
5001         * elmo-shimbun.el (elmo-shimbun-entity-to-header): Decode by
5002         mime-charset.
5003
5004         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added "larger"
5005         and "smaller".
5006
5007 2002-04-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5008
5009         * elmo-shimbun.el (elomo-shimbun-folder): Added entity-hash slot.
5010         (elmo-shimbun-folder-entity-hash): New function.
5011         (elmo-shimbun-folder-shimbun-header): Ditto.
5012         (elmo-shimbun-entity-to-header): Ditto.
5013         (elmo-shimbun-msgdb-to-headers): Removed.
5014         (elmo-shimbun-folder-setup): Ditto.
5015         (elmo-shimbun-folder-header-hash-setup): Don't use x-shimbun-id
5016         for hash key.
5017         (elmo-shimbun-get-headers): Set new headers only to slot. Don't
5018         call `elmo-shimbun-folder-header-hash-setup' if headers is nil.
5019         Removed useless local bind.
5020         (elmo-folder-open-internal): Don't call
5021         `elmo-shimbun-folder-setup'.
5022         (elmo-folder-close-internal): Clear entity-hash slot.
5023         (elmo-folder-clear): Ditto.
5024         (elmo-shimbun-msgdb-create-entity): Use
5025         `elmo-shimbun-folder-shimbun-header'.
5026         (elmo-map-message-fetch): Ditto.
5027         (elmo-shimbun-update-overview): Use overview entity instead of
5028         shimbun header to lookup id by references.
5029         (elmo-map-folder-list-message-locations): Use not only headers but
5030         also overviews to list locations.
5031
5032 2002-04-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5033
5034         * elmo-net.el (elmo-folder-exists-p): If unplugged, guessed by
5035         msgdb path.
5036
5037         * elmo-pop3.el (elmo-folder-exists-p): Ditto.
5038
5039 2002-04-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5040
5041         * elmo-util.el (elmo-read-search-condition-internal): Give default
5042         value for date.
5043
5044 2002-04-04  Mito  <mito@mxa.nes.nec.co.jp>
5045
5046         * elmo-util.el (elmo-condition-parse-search-value): Accept
5047         YYYY-MM-DD format to search.
5048         * elmo-date.el (elmo-date-get-datevec): Likewise.
5049
5050 2002-04-04  Kenichi OKADA  <okada@opaopa.org>
5051
5052         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Delete
5053         debugging code.
5054
5055 2002-04-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5056
5057         * elmo.el (elmo-folder-creatable-p): Changed default value to nil
5058         from t.
5059
5060         * elmo-pop3.el (elmo-folder-exists-p): Return nil if unplugged.
5061
5062         * elmo-nntp.el (elmo-folder-exists-p-plugged): Divided plugged
5063         case from `elmo-folder-exists-p'.
5064         (elmo-folder-exists-p): Removed.
5065         (elmo-folder-creatable-p) Ditto.
5066
5067         * elmo-net.el (elmo-folder-create): Defined.
5068         (elmo-folder-create-unplugged): New function.
5069         (elmo-folder-exists-p): Changed default value to nil from t.
5070
5071         * elmo-imap4.el (elmo-folder-creatable-p): Defined.
5072         (elmo-folder-create-plugged): Renamed from `elmo-folder-create'.
5073
5074         * elmo-dop.el (elmo-folder-create-dop): Renamed from
5075         `elmo-create-folder-dop' and append queue
5076         'elmo-folder-create-dop-delayed instead of 'elmo-folder-create.
5077         (elmo-folder-create-dop-delayed): New function.
5078
5079         * elmo-cache.el (elmo-folder-creatable-p): Ditto.
5080
5081         * elmo-shimbun.el (elmo-folder-creatable-p): Ditto.
5082
5083         * elmo-sendlog.el (elmo-folder-creatable-p): Ditto.
5084         (elmo-folder-writable-p) : Ditto.
5085
5086         * elmo-version.el (elmo-version): Up to 2.9.9.
5087
5088 2002-03-26  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5089
5090         * elmo.el (elmo-find-fetch-strategy): Don't use file cache when
5091         `elmo-message-use-cache-p' returns nil.
5092         * elmo-mime.el (elmo-mime-display-as-is): Ditto.
5093         (ignore cache file and refer the substance in local folders)
5094
5095 2002-03-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5096
5097         * elmo-version.el (elmo-version): Up to 2.9.8.
5098
5099 2002-02-19  Yuuichi Teranishi  <teranisi@gohome.org>
5100
5101         * elmo-version.el (elmo-version): Up to 2.9.7.
5102
5103         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed logic.
5104
5105 2002-02-18  Daiki Ueno  <ueno@unixuser.org>
5106
5107         * elmo-nntp.el (elmo-nntp-send-mode-reader): Don't throw an error.
5108
5109 2002-02-12  Yuuichi Teranishi  <teranisi@gohome.org>
5110
5111         * elmo-nmz.el (elmo-nmz-args): Changed default argumnet to --late
5112         from --early.
5113         (elmo-map-folder-list-message-locations): Reverse location list.
5114
5115 2002-02-01  Kenichi OKADA  <okada@opaopa.org>
5116
5117         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Fix.
5118
5119 2002-01-31  Yuuichi Teranishi  <teranisi@gohome.org>
5120
5121         * elmo-nntp.el (elmo-nntp-list-folders-get-cache): Use group and server
5122         as a key.
5123         (elmo-nntp-folder-list-subfolders): Follow the change above.
5124
5125 2002-01-27  Takaaki MORIYAMA  <aka@iris.eonet.ne.jp>
5126
5127         * elmo-imap4.el (elmo-folder-list-subfolders): Don't omit user
5128         name if authentication type is specified.
5129
5130 2002-01-28  Yuuichi Teranishi  <teranisi@gohome.org>
5131
5132         * elmo.el (elmo-default-imap4-stream-type): Define as obsolete
5133         variable.
5134         (elmo-default-nntp-stream-type): Ditto.
5135         (elmo-default-pop3-stream-type): Ditto.
5136
5137 2002-01-25  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
5138
5139         * elmo.el (elmo-generic-folder-append-messages): Disable multibyte.
5140
5141 2002-01-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5142
5143         * elmo-localnews.el (elmo-localnews-folder-path): Moved from
5144         elmo-vars.el.
5145         * elmo-maildir.el (elmo-maildir-folder-path): Ditto.
5146
5147         * elmo-vars.el (elmo-localnews-folder-path): Removed.
5148         (elmo-maildir-folder-path): Ditto.
5149         (elmo-maildir-list): Ditto (abolished).
5150
5151 2002-01-23  Kenichi OKADA  <okada@opaopa.org>
5152
5153         * elmo-version.el (elmo-version): Up to 2.9.6.
5154
5155 2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5156
5157         * elmo-vars.el (elmo-localnews-folder-path): Make customizable.
5158         (elmo-maildir-folder-path): Ditto.
5159         (elmo-msgdb-directory): Ditto.
5160         (elmo-passwd-life-time): Ditto.
5161         (elmo-msgdb-extra-fields): Ditto.
5162         (elmo-enable-disconnected-operation): Ditto.
5163
5164 2002-01-22  Kenichi OKADA  <okada@opaopa.org>
5165
5166         * elmo-vars.el (elmo-imap4-default-authenticate-type): Give
5167         other choices.
5168         (elmo-pop3-default-authenticate-type): Ditto.
5169
5170 2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5171
5172         * elmo-vars.el (elmo-imap4-default-authenticate-type): Give
5173         choices for custom.
5174         (elmo-pop3-default-authenticate-type): Ditto.
5175
5176 2002-01-22  Kenichi OKADA  <okada@opaopa.org>
5177
5178         * elmo-imap4.el (elmo-folder-rename-internal): Change current
5179         mailbox to new-folder.
5180
5181 2002-01-21  Yuuichi Teranishi  <teranisi@gohome.org>
5182
5183         * elmo-imap4.el (elmo-imap4-folder-diff-plugged): If unread is
5184         less than new, set new as unread.
5185
5186         * elmo-util.el (elmo-string): Don't put text-property if nil.
5187
5188 2002-01-21  Kenichi OKADA  <okada@opaopa.org>
5189
5190         * elmo-imap4.el (elmo-folder-list-subfolders): Case sensitive.
5191         * elmo-nntp.el (elmo-folder-list-subfolders): Ditto.
5192
5193 2002-01-21  Kenichi OKADA  <okada@opaopa.org>
5194
5195         * elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
5196         is nil on `completing-read'.
5197
5198 2002-01-20  Yuuichi Teranishi  <teranisi@gohome.org>
5199
5200         * elmo-imap4.el (elmo-imap4-extra-namespace-alist): Added grouping
5201         for namespace part.
5202         (elmo-imap4-parse-namespace-subr): Ditto.
5203         (elmo-folder-list-subfolders): Append a delimiter when the specified
5204         folder path is a root with namespace and does not end with delimiter.
5205
5206 2002-01-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5207
5208         * elmo.el (elmo-folder-search-fast): Moved upwards rather than it
5209         was used.
5210
5211 2002-01-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5212
5213         * elmo-util.el (elmo-save-buffer): The first argument of message
5214         is a format control string.
5215
5216 2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5217
5218         * elmo.el (elmo-diff-new): Fixed (Adapted to doc-string of
5219         `elmo-folder-diff').
5220         (elmo-diff-unread): Likewise.
5221
5222 2002-01-19  Kenichi OKADA  <okada@opaopa.org>
5223
5224         * elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
5225         is t on `completing-read'.
5226
5227 2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5228
5229         * elmo-filter.el (elmo-filter-folder-list-unreads-internal): Call
5230         method of target folder with self mark-alist if MARK-ALIST is nil.
5231
5232 2002-01-19  Kenichi OKADA  <okada@opaopa.org>
5233
5234         * elmo-version.el (elmo-version): Up to 2.9.5.
5235
5236 2002-01-17  Kenichi OKADA  <okada@opaopa.org>
5237
5238         * elmo-dop.el (elmo-dop-queue-merge): Implement.
5239         (elmo-dop-merge-funcs): Remove.
5240
5241 2002-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5242
5243         * elmo-util.el (elmo-file-cache-delete): Fixed last change;
5244         Return t if PATH is directory, too.
5245         Use `dolist' instead of while loop.
5246
5247 2002-01-11  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5248
5249         * elmo-util.el (elmo-file-cache-delete): Return t if a cache file
5250         is deleted.
5251
5252 2002-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5253
5254         * elmo-net.el (elmo-folder-list-messages-plugged): Changed default
5255         return value to t.
5256         (elmo-folder-list-messages-unplugged): Return t if
5257         elmo-enable-disconnected-operation is nil.
5258
5259         * elmo-pop3.el (elmo-folder-list-messages-plugged): Renamed from
5260         `elmo-folder-list-messages-internal'.
5261
5262 2002-01-07  Kenichi OKADA  <okada@opaopa.org>
5263
5264         * elmo-nntp.el (elmo-nntp-read-response): Added `error-msg' argument.
5265         Change to looking-at `[23][0-9]+'.
5266         (elmo-network-initialize-session): Use 'error-msg'
5267         * elmo-net.el (elmo-network-open-session): Set unplugged
5268         if elmo-network-initialize-session returns 'elmo-open-err.
5269
5270 2002-01-07  Kenichi OKADA  <okada@opaopa.org>
5271
5272         * elmo-version.el (elmo-version): Up to 2.9.4.
5273
5274 2002-01-07  Yuuichi Teranishi  <teranisi@gohome.org>
5275
5276         * elmo-nntp.el (elmo-folder-list-messages-plugged): Renamed from
5277         `elmo-folder-list-messages-internal'.
5278
5279 2002-01-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5280
5281         * elmo.el (elmo-folder-search): Defined. Fixed docstring.
5282         (elmo-message-match-condition): New method.
5283         (elmo-folder-search-fast): New inline function.
5284         (elmo-msgdb-search): Removed.
5285
5286         * elmo-filter.el (elmo-folder-msgdb-create): Create from msgdb of
5287         target folder if it is unplugged.
5288         (elmo-folder-list-messages-internal): Return t if target folder is
5289         unplugged and itself is persistent; In this case, use list be
5290         searched already.
5291
5292         * elmo-msgdb.el (elmo-msgdb-search-internal): Removed.
5293         (elmo-msgdb-search-internal-primitive): Ditto.
5294         (elmo-msgdb-match-condition): New function.
5295         (elmo-msgdb-match-condition-primitive): Ditto.
5296
5297         * elmo-util.el (elmo-filter-condition-p): New macro.
5298
5299         * elmo-cache.el (elmo-folder-search): Removed.
5300
5301         * elmo-localdir.el (elmo-folder-search): Ditto.
5302
5303         * elmo-maildir.el (elmo-folder-search): Ditto.
5304
5305         * elmo-mark.el (elmo-folder-search): Ditto.
5306
5307         * elmo-nmz.el (elmo-folder-search): Ditto.
5308
5309         * elmo-sendlog.el (elmo-folder-search): Ditto.
5310
5311         * elmo-shimbun.el (elmo-folder-search): Ditto.
5312
5313         * elmo-imap4.el (elmo-folder-search): Call method of parent class
5314         if folder is unplugged.
5315
5316         * elmo-nntp.el (elmo-folder-search): Likewise.
5317         (elmo-nntp-search-internal): New function.
5318
5319         * elmo-version.el (elmo-version): Up to 2.9.3.
5320
5321 2001-12-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5322
5323         * elmo.el (elmo-message-fetch-with-cache-process): Fixed typo.
5324
5325 2001-12-27  Tetsurou Okazaki  <okazaki@be.to>
5326
5327         * elmo-vars.el (elmo-nntp-default-user): Customization Type fix.
5328
5329 2001-12-27  Taiji Can  <Taiji.Can@grd.advantest.co.jp>
5330
5331         * elmo-nntp.el (elmo-network-initialize-session): Fixed for NNTP response.
5332
5333 2001-12-27  Yuuichi Teranishi  <teranisi@gohome.org>
5334
5335         * elmo-nmz.el (elmo-nmz-use-drive-letter): New variable.
5336         (elmo-map-folder-list-message-locations): Do drive letter conversion
5337         on Windows environment.
5338         (elmo-nmz-msgdb-create-entity): Use expand-file-name.
5339         (elmo-map-message-fetch): Ditto.
5340
5341 2001-12-27  Kenichi OKADA  <okada@opaopa.org>
5342
5343         * elmo-nntp.el (elmo-nntp-read-response): Fixed for Response '400'
5344         (elmo-network-initialize-session): Ditto.
5345
5346 2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
5347
5348         * elmo-imap4.el (elmo-imap4-message-fetch): Fixed '100%' message.
5349
5350         * elmo-pop3.el (elmo-message-fetch-plugged): Ditto.
5351
5352         * elmo-util.el (elmo-progress-clear): Ditto.
5353
5354         * elmo-date.el (elmo-date-get-datevec): Fix timezone of
5355         `DD-Mon-YYYY' type date.
5356
5357 2001-12-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5358
5359         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
5360         `elmo-date-make-sortable-string' instead of
5361         `timezone-make-date-sortable'.
5362
5363         * elmo-date.el (elmo-date-make-sortable-string): Use
5364         `timezone-make-time-string'.
5365
5366 2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
5367
5368         * elmo.el (elmo-folder-synchronize): Delete important messages too.
5369
5370         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed
5371         `since'; Fix timezone.
5372
5373         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Ditto.
5374
5375         * elmo-nntp.el (elmo-nntp-search-primitive): Likewise.
5376
5377 2001-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5378
5379         * elmo.el (elmo-message-fetch-with-cache-process): Rewrite.
5380
5381 2001-12-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5382
5383         * elmo.el (elmo-generic-folder-append-messages): Make
5384         fetch-strategy with `use-cache' as 'maybe. Check return value of
5385         `elmo-message-fetch'.
5386         (elmo-message-fetch): Return return value of
5387         `elmo-message-fetch-with-cache-process'.
5388         (elmo-message-fetch-with-cache-process): Return non-nil if
5389         fetching was succeed. Load cache when fetching was failed and
5390         fetch-strategy-use-cache is 'maybe.
5391
5392         * elmo-util.el (elmo-file-cache-load): New function.
5393
5394         * elmo-multi.el (elmo-message-use-cache-p): Remove duplicated
5395         defun.
5396
5397         * elmo-archive.el (elmo-archive-message-fetch-internal): Return
5398         non-nil if fetching was succeed.
5399
5400         * elmo-imap4.el (elmo-imap4-message-fetch): Likewise.
5401
5402         * elmo-nmz.el (elmo-map-message-fetch): Likewise.
5403
5404         * elmo-nntp.el (elmo-nntp-read-body): Likewise.
5405         (elmo-message-fetch-with-cache-process): Likwise.
5406
5407         * elmo-pop3.el (elmo-pop3-read-body): Likewise.
5408
5409         * elmo-shimbun.el (elmo-map-message-fetch): Likewise.
5410
5411         * elmo-version.el (elmo-version): Up to 2.9.2.
5412
5413 2001-12-23  Yuuichi Teranishi  <teranisi@gohome.org>
5414
5415         * elmo.el (elmo-folder-delete): Delete msgdb path.
5416
5417         * elmo-archive.el (elmo-folder-delete): Added `:before' qualifier.
5418
5419         * elmo-maildir.el (elmo-folder-delete): Ditto.
5420
5421         * elmo-localdir.el (elmo-folder-delete): Ditto.
5422
5423         * elmo-imap4.el (elmo-folder-delete): Ditto.
5424
5425 2001-12-19  Yuuichi Teranishi  <teranisi@gohome.org>
5426
5427         * elmo.el (luna-define-class): Added `biff' slot.
5428
5429         * elmo-pop3.el (elmo-pop3-debug): Split biff log.
5430         (elmo-pop3-debug-inhibit-logging): Abolished.
5431         (elmo-network-close-session): Eliminated needless let.
5432         (elmo-pop3-get-session): Set prefix 'BIFF' if biff folder.
5433         (elmo-pop3-send-command): Added `no-log' argument.
5434         (elmo-pop3-process-filter): Use `with-current-buffer'.
5435         (elmo-pop3-auth-user): Set `no-log' argument; Delete process
5436         if login failure.
5437         (elmo-pop3-auth-apop): Likewise.
5438         (elmo-network-authenticate-session): Likewise.
5439
5440         * elmo-nntp.el (elmo-nntp-get-session): Set prefix 'BIFF'
5441         if biff folder.
5442
5443         * elmo-net.el (elmo-network-session-password-key): Use class symbol
5444         string to determine protocol.
5445         (elmo-network-session-name-prefix): Abolished.
5446         (elmo-network-session-cache-key): Follow the change above.
5447         (elmo-network-open-session): Ditto.
5448
5449         * elmo-imap4.el (elmo-imap4-send-command): Modified error message.
5450         (elmo-imap4-get-session): Set prefix 'BIFF' if biff folder.
5451
5452         * elmo-version.el (elmo-version): Up to 2.9.1.
5453
5454         * elmo-util.el (elmo-file-field-primitive-condition-match): Fixed
5455         unmatch condition checking.
5456
5457         * elmo-localdir.el (elmo-folder-search): Don't short cut if unmatch
5458         condition.
5459
5460 2001-12-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5461
5462         * elmo.el (elmo-folder-confirm-appends): Fixed docstring.
5463
5464 2001-12-17  Yuuichi Teranishi  <teranisi@gohome.org>
5465
5466         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
5467         test for while loop to execute at least one SEARCH command.
5468
5469 2001-12-15  Yuuichi Teranishi  <teranisi@gohome.org>
5470
5471         * elmo-version.el (elmo-version): Up to 2.9.0.
5472
5473 2001-12-14  Yuuichi Teranishi  <teranisi@gohome.org>
5474
5475         * elmo-archive.el (elmo-archive-folder): Added `dir-name' slot.
5476         (elmo-archive-folder-path): Define.
5477         (elmo-folder-initialize): Setup `dir-name' slot.
5478         (elmo-archive-folder-list-subfolders): Fixed problem when `name' is "".
5479         Use `dir-name' as prefix of each subfolders.
5480         (Applyed patch from Takaaki MORIYAMA <taka@arcadia.co.jp>)
5481
5482 2001-12-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5483
5484         * elmo-pipe.el (elmo-pipe-folder-copied-filename): New variable.
5485         (elmo-pipe-folder-list-target-messages): New internal function.
5486         (elmo-pipe-drain): Use new argument `ignore-list' instead of
5487         `killed-list'.
5488         (elmo-pipe-folder-copied-list-load): New function.
5489         (elmo-pipe-folder-copied-list-save): Ditto.
5490         (elmo-folder-open-internal): Follow the change above.
5491         (elmo-folder-status): Fixed for copy.
5492
5493 2001-12-13  Yuuichi Teranishi  <teranisi@gohome.org>
5494
5495         * elmo-shimbun.el (elmo-folder-creatable-p): Define.
5496
5497 2001-12-12  Yuuichi Teranishi  <teranisi@gohome.org>
5498
5499         * elmo-localdir.el (elmo-folder-message-make-temp-files): Use
5500         elmo-copy-file instead of elmo-add-name-to-file.
5501
5502         * elmo-nmz.el (elmo-folder-message-make-temp-files): Ditto.
5503
5504         * elmo-nmz.el (elmo-map-folder-list-message-locations): Allow
5505         "file://..." index.
5506
5507         * elmo-pop3.el (elmo-pop3-read-response): Set timeout argument
5508         of accept-process-output as 1.
5509         (elmo-pop3-read-contents): Ditto.
5510         (elmo-pop3-read-body): Ditto.
5511
5512 2001-12-12  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5513
5514         * elmo-version.el (product-version-as-string): Remove define.
5515
5516 2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>
5517
5518         * elmo-imap4.el (elmo-imap4-number-set-chop-length): New variable.
5519         (elmo-imap4-copy-messages): Chop number set using
5520         `elmo-imap4-number-set-chop-length'.
5521         (elmo-imap4-set-flag): Ditto.
5522         (elmo-imap4-search-internal-primitive): Ditto.
5523
5524 2001-12-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5525
5526         * elmo.el (elmo-folder-make-temporary-directory): Renamed from
5527         `elmo-folder-make-temp-dir'
5528
5529         * elmo-vars.el (elmo-cache-directory): New variable.
5530         (elmo-cache-dir): Abolished.
5531         (elmo-msgdb-directory): Renamed from `elmo-msgdb-dir'.
5532
5533         * elmo-version.el (elmo-version): Up to 2.7.7.
5534
5535 2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>
5536
5537         * elmo-util.el (elmo-obsolete-variable-show-warnings): Define with
5538         defcustom; Set default value as t.
5539
5540 2001-12-10  Yuuichi Teranishi  <teranisi@gohome.org>
5541
5542         * pldap.el (ldap-ldif-field-name-regexp): Changed regexp.
5543         (ldap-search-program-arguments): Changed default value.
5544         (ldap-search-basic): Accept exit status 4.
5545         (ldap/field-body): Parse options.
5546         (ldap/collect-field): Ditto.
5547         (According to the advise from Mito <mito@mxa.nes.nec.co.jp>)
5548
5549         * elmo-imap4.el (elmo-imap4-process-bye): New function.
5550         (elmo-imap4-send-command): Call elmo-imap4-process-bye.
5551         (elmo-imap4-accept-ok): Ditto.
5552         (elmo-imap4-session-select-mailbox): If argument `no-error' equals to
5553         'notify-bye, only BYE error is reported.
5554         (elmo-folder-exists-p-plugged): Set no-error argument of
5555         `elmo-imap4-session-select-mailbox' as 'notify-bye.
5556
5557         * elmo.el (elmo-imap4-bye-error): Changed message.
5558
5559         * elmo-dop.el (elmo-dop-queue-flush): Fixed obsolete version message.
5560         (elmo-dop-queue-flush): Don't append to the dop-queue while flushing
5561         queues (It causes infinite loop).
5562
5563 2001-12-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5564
5565         * elmo.el (elmo-folder-diff): Fixed docstring for IMAP4
5566         (RECENT UNSEEN MESSAGES) extension.
5567
5568 2001-12-07  Mito <mito@mxa.nes.nec.co.jp>
5569
5570         * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
5571         Check number of overview fields.
5572
5573 2001-12-08  Yuuichi Teranishi  <teranisi@gohome.org>
5574
5575         * elmo.el (elmo-folder-confirm-appends): Changed message.
5576         (elmo-folder-confirm-appends): Ditto.
5577
5578         * elmo-archive.el (elmo-archive-exec-msgs-subr1): Use
5579         `with-temp-buffer'.
5580         (According to the advise from Nishimoto Masaki <nishimoto@gaju.org>)
5581
5582 2001-12-06  Hiroshi Tsutsui  <tsutsui@easter.kuee.kyoto-u.ac.jp>
5583
5584         * elmo.el (elmo-folder-confirm-appends): Check whether the value
5585         of elmo-folder-update-threshold is nil, which can be set by
5586         wl-summary-update-confirm-threshold.
5587
5588 2001-12-05  Yuuichi Teranishi  <teranisi@gohome.org>
5589
5590         * elmo-nmz.el (elmo-nmz-default-index-path): Allow path list.
5591         (elmo-nmz-index-alias-alist): Ditto.
5592         (elmo-map-folder-list-message-locations): Follow the change above.
5593
5594 2001-12-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5595
5596         * elmo-filter.el (elmo-folder-list-subfolders): Defined.
5597
5598         * elmo-archive.el (elmo-archive-call-process): Ignore nemacs.
5599
5600         * elmo-msgdb.el (elmo-msgdb-insert-file-header): Ditto.
5601
5602         * elmo-util.el (elmo-read): Ditto.
5603         (elmo-display-error): Ditto.
5604
5605         * elmo-vars.el (elmo-date-match): Ditto.
5606
5607         * pldap.el (ldap-coding-system): Ditto.
5608
5609         * elmo-pipe.el (elmo-pipe-drain): If `copy' is non-nil, bind
5610         `elmo-inhibit-number-mapping' as nil.
5611
5612 2001-11-30  Tatsuya Kinoshita  <tats@iris.ne.jp>
5613
5614         * elmo-pop3.el (elmo-pop3-parse-list-response): Allow multiple
5615         space delimiter for list response.
5616
5617 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5618
5619         * elmo-sendlog.el (elmo-sendlog-buffer-name): Deleted.
5620
5621 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5622
5623         * elmo-sendlog.el (elmo-folder-delete-messages): Added.
5624         (elmo-map-message-fetch): Fix.
5625         * elmo-map.el (elmo-folder-status): Fix for killed.
5626
5627 2001-12-02  Kenichi OKADA  <okada@opaopa.org>
5628
5629         * elmo-sendlog.el: New file.
5630         * elmo-internal.el (elmo-internal-folder-list): Added 'sendlog.
5631
5632 2001-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
5633
5634         * acap.el (acap-logging-out): New buffer local variable.
5635         (acap-close): Set it.
5636         (acap-wait-for-response): If acap-logging-out is non-nil, don't cause
5637         an error.
5638
5639 2001-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
5640
5641         * acap.el (acap-response-bye-p): New function.
5642         (acap-response-bye-message): Ditto.
5643         (acap-wait-for-response): If bye response is received, cause an error.
5644         (acap-parse-response): Make bye response when 'Bye' is received.
5645
5646 2001-11-23  Kenichi OKADA  <okada@opaopa.org>
5647
5648         * elmo-pipe.el (elmo-pipe-drain): Load killed-list.
5649
5650 2001-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5651
5652         * elmo-util.el (elmo-copy-file): Added argument
5653         `ok-if-already-exists'.
5654         (elmo-copy-file): Fixed typo.
5655
5656 2001-11-21  Kenichi OKADA  <okada@opaopa.org>
5657
5658         * elmo-pipe.el (elmo-pipe-drain): Load killed-list.
5659
5660 2001-11-21  Kenichi OKADA  <okada@opaopa.org>
5661
5662         * elmo-pipe.el (elmo-pipe-drain): Save killed-list.
5663
5664 2001-11-20  Kenichi OKADA  <okada@opaopa.org>
5665
5666         * elmo-pipe.el (elmo-pipe-drain): Append copied messages
5667         to killed-list.
5668
5669 2001-11-19  Kenichi OKADA  <okada@opaopa.org>
5670
5671         * elmo-pipe.el (elmo-pipe-folder): Add `copy'.
5672         (elmo-folder-initialize): Fix for `copy'.
5673         (elmo-pipe-drain): Ditto.
5674         (elmo-folder-open-internal): Ditto.
5675         (elmo-folder-newsgroups): Fix.
5676
5677 2001-11-19  Yuuichi Teranishi  <teranisi@gohome.org>
5678
5679         * elmo-maildir.el (elmo-folder-append-messages): Make temporal filename
5680         for each message.
5681
5682         * elmo-multi.el (elmo-multi-folder-diff): Fixed problem when
5683         recent value is returned from imap folder.
5684
5685         * elmo.el (elmo-folder-newsgroups): New generic function.
5686
5687         * elmo-localnews.el (elmo-localnews-folder): Added `group' slot.
5688         (elmo-folder-initialize): Set it.
5689         (elmo-folder-expand-msgdb-path): Use it.
5690         (elmo-folder-newsgroups): Define.
5691
5692         * elmo-filter.el (elmo-folder-newsgroups): Define.
5693
5694         * elmo-pipe.el (elmo-folder-newsgroups): Ditto.
5695
5696         * elmo-nntp.el (elmo-folder-newsgroups): Ditto.
5697
5698         * elmo-multi.el (elmo-folder-newsgroups): Ditto.
5699
5700 2001-11-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5701
5702         * elmo-shimbun.el (elmo-shimbun-update-overview-folder-list): New
5703         user option.
5704         (elmo-shimbun-header-extra-field): New inline function.
5705         (elmo-shimbun-header-set-extra-field): Ditto.
5706         (elmo-shimbun-folder-header-hash-setup): Ditto.
5707         (elmo-shimbun-update-overview): Ditto.
5708         (elmo-shimbun-msgdb-to-headers): Set extra field `x-shimbun-id'.
5709         (elmo-shimbun-folder-setup): Use
5710         `elmo-shimbun-folder-header-hash-setup' to be setup hash table.
5711         (elmo-shimbun-get-headers): Ditto.
5712         (elmo-map-message-fetch): Call `elmo-shimbun-update-overview';
5713         Insert `X-Shimbun-Id:' header if extra field is set.
5714         (elmo-map-folder-list-message-locations): Return `x-shimbun-id'
5715         field's value instead of `shimbun-header-id'.
5716
5717         * elmo-msgdb.el (elmo-msgdb-overview-entity-set-references): New
5718         inline function.
5719         (elmo-msgdb-overview-entity-set-date): Ditto.
5720         (elmo-msgdb-overview-entity-set-extra-field): Ditto.
5721
5722 2001-11-09  Yuuichi Teranishi  <teranisi@gohome.org>
5723
5724         * mmimap.el (mmimap-entity-section): Changed body node number from
5725         "0" to "1".
5726
5727 2001-11-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5728
5729         * elmo-pop3.el (elmo-folder-delete-messages-plugged): Renamed from
5730         `elmo-folder-delete-messages'.
5731
5732         * elmo-nmz.el (elmo-nmz-index-alias-alist): New user option.
5733         (elmo-folder-initialize): Changed to expand alias into index path.
5734
5735         * elmo-mime.el (elmo-mime-insert-sorted-header): Call
5736         `elmo-mime-insert-header-from-buffer' with 6th arg
5737         `sorted-fields'.
5738
5739 2001-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
5740
5741         * mmimap.el (mmimap-entity-section): If node-id is nil, return "0".
5742
5743         * elmo.el (elmo-diff-new): New inline function.
5744         (elmo-diff-unread): Ditto.
5745         (elmo-diff-all): Ditto.
5746
5747         * elmo-imap4.el (elmo-imap4-server-diff-async-callback-1): Get recent
5748         value from responseb.
5749         (elmo-imap4-folder-diff-plugged): Ditto.
5750         (elmo-imap4-server-diff-async): Added recent argument.
5751         (elmo-server-diff-async): Ditto.
5752         (elmo-imap4-folder-diff-plugged): Ditto.
5753
5754         * elmo-version.el (elmo-version): Up to 2.7.6.
5755
5756 2001-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5757
5758         * elmo-util.el (elmo-parse-token): Fixed how to treat quoted-pair
5759         in quoted-stirng.
5760
5761 2001-11-05  Yuuichi Teranishi  <teranisi@gohome.org>
5762
5763         * elmo-pop3.el (elmo-folder-initialize): Rewrite.
5764
5765         * elmo-imap4.el (elmo-folder-initialize): Ditto.
5766
5767         * elmo-nntp.el (elmo-folder-initialize): Ditto.
5768
5769         * elmo-multi.el (elmo-folder-initialize): Ditto.
5770
5771         * elmo-util.el (elmo-parse-token): New function.
5772         (elmo-parse-prefixed-element): Ditto.
5773
5774 2001-11-01  Yuuichi Teranishi  <teranisi@gohome.org>
5775
5776         * elmo-imap4.el (elmo-imap4-send-command): If BYE response is detected,
5777         delete process.
5778         (elmo-imap4-accept-ok): Ditto.
5779
5780 2001-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5781
5782         * mmimap.el (mime-imap-entity-header-string): Don't check first
5783         element of node-id is `0' (Follow last change).
5784
5785 2001-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5786
5787         * mmimap.el (mmimap-make-mime-entity): Fixed problem to be
5788         assigned irregular node-id to nested multipart section.
5789         (initialize-instance): Followed above change.
5790
5791 2001-10-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5792
5793         * elmo-shimbun.el (elmo-shimbun-get-headers): Don't call
5794         `shimbun-open-group' (Moved to `elmo-folder-open-internal').
5795         (elmo-folder-open-internal): Call `shimbun-open-group' (Moved from
5796         `elmo-shimbun-get-headers');
5797         Call `elmo-shimbun-folder-setup' if headers is empty (An entity of
5798         visible article on summary exists in headers).
5799         (elmo-map-message-fetch): Cause an error when folder is unplugged.
5800
5801 2001-10-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
5802
5803         * elmo-shimbun.el (elmo-shimbun-use-cache): Fix typo in the
5804         definition.
5805
5806 2001-10-16  Yuuichi Teranishi  <teranisi@gohome.org>
5807
5808         * elmo-localnews.el (elmo-folder-expand-msgdb-path): Define.
5809
5810 2001-10-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5811
5812         * elmo-msgdb.el (elmo-msgdb-insert-file-header): Moved searching
5813         header separator into loop condition.
5814
5815 2001-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5816
5817         * elmo-imap4.el (elmo-folder-list-subfolders): Fixed problem;
5818         Return duplicate folder if it has subfolder.
5819
5820 2001-10-11  Yuuichi Teranishi  <teranisi@gohome.org>
5821
5822         * elmo.el (elmo-make-folder): Add folder name error check.
5823
5824         * elmo-nntp.el (elmo-nntp-group-coding-system): New variable.
5825         (elmo-nntp-encode-group-string): New inline function.
5826         (elmo-nntp-decode-group-string): Ditto.
5827         (elmo-folder-initialize): Use elmo-nntp-encode-group-string.
5828         (elmo-nntp-folder-list-subfolders): Set processing buffer as unibyte;
5829         Use `not' instead of `null';
5830         Use elmo-nntp-decode-group-string.
5831
5832         * elmo-imap4.el (elmo-folder-list-subfolders): Don't append delimiter.
5833
5834         * elmo-version.el (elmo-version): Up to 2.7.5.
5835
5836 2001-10-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5837
5838         * elmo-pipe.el (elmo-pipe-drain): Use `unwind-protect';
5839         Hide progress gauge if `elmo-folder-move-messages' exits
5840         nonlocally.
5841
5842 2001-10-09  Yuuichi Teranishi  <teranisi@gohome.org>
5843
5844         * elmo-imap4.el (elmo-folder-initialize): Use
5845         `elmo-imap4-encode-folder-string' for folder name.
5846
5847 2001-10-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5848
5849         * elmo.el (elmo-folder-move-messages): Removed arguments `all' and
5850         `done'.
5851
5852 2001-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5853
5854         * elmo-util.el (elmo-progress-counter-alist): New internal
5855         variable.
5856         (elmo-progress-counter-value): New macro.
5857         (elmo-progress-counter-all-value): Ditto.
5858         (elmo-progress-counter-format): Ditto.
5859         (elmo-progress-counter-set-value): Ditto.
5860         (elmo-progress-set): New function.
5861         (elmo-progress-clear): Ditto.
5862         (elmo-progress-notify): Ditto.
5863
5864         * elmo-pipe.el (elmo-pipe-drain): Setup and clear progress
5865         counter.
5866
5867         * elmo.el (elmo-generic-folder-append-messages): Call
5868         `elmo-progress-notify'.
5869         (elmo-folder-move-messages): Don't call `elmo-display-progress'.
5870
5871         * elmo-archive.el (elmo-folder-append-messages): Call
5872         `elmo-progress-notify'.
5873
5874         * elmo-imap4.el (elmo-folder-append-messages): Ditto.
5875
5876         * elmo-localdir.el (elmo-folder-append-messages): Ditto.
5877
5878         * elmo-maildir.el (elmo-folder-append-messages): Ditto.
5879
5880 2001-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
5881
5882         * elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed 'Encache' and
5883         'Create'.
5884         (elmo-message-encache-dop): Added argument `read'.
5885
5886         * elmo-shimbun.el (elmo-message-encache): Ditto.
5887
5888         * elmo-net.el (elmo-message-encache): Ditto.
5889
5890         * elmo-imap4.el (elmo-imap4-seen-messages): New buffer local variable.
5891         (elmo-imap4-fetch-callback-1-subr): Save important message numbers to
5892         elmo-imap4-seen-messages.
5893         (elmo-folder-msgdb-create-plugged): Initialize
5894         elmo-imap4-seen-messages;
5895         Set seen mark on elmo-imap4-seen-messages.
5896
5897         * elmo-pipe.el (elmo-folder-message-file-p): Define.
5898
5899         * elmo.el (elmo-generic-folder-append-messages): Check return value of
5900         elmo-folder-append-buffer.
5901         (elmo-folder-encache): Added optional argument `read'.
5902         (elmo-message-encache): Ditto.
5903
5904         * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.
5905
5906         * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
5907
5908         * elmo-archive.el (elmo-archive-folder-append-buffer): Return t
5909         if append buffer content succeds.
5910
5911 2001-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
5912
5913         * elmo-pop3.el (elmo-message-fetch-plugged): Fixed label for
5914         elmo-display-progress.
5915
5916         * elmo-mime.el (elmo-mime-message-display): Added argument keymap;
5917         Set 4th argument of mime-display-message.
5918         (elmo-mime-display-as-is): Ditto.
5919
5920 2001-10-01  Yuuichi Teranishi  <teranisi@gohome.org>
5921
5922         * elmo-nmz.el (toplevel): Require 'mime-edit.
5923         (elmo-nmz-content-type-alist): Abolished.
5924         (elmo-nmz-msgdb-create-entity): Add From: and Subject: field if
5925         content is not a message.
5926         (elmo-map-message-fetch): Changed behavior exept for message content;
5927         Detect mime-charset automatically, Use `mime-find-file-type' to detect
5928         content-type, Add From: and Subject: field.
5929
5930 2001-09-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5931
5932         * elmo-nmz.el (elmo-nmz-content-type-alist): New variable.
5933         (elmo-map-message-fetch): Add `Content-Type' field if contents is
5934         not a message.
5935
5936 2001-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
5937
5938         * elmo.el (elmo-folder-writable-p): Changed default value to nil.
5939         (elmo-folder-move-messages): Check `elmo-folder-writable-p'.
5940
5941         * elmo-archive.el (elmo-folder-writable-p): Defined.
5942
5943         * elmo-cache.el (elmo-folder-writable-p): Ditto.
5944
5945         * elmo-filter.el (elmo-folder-writable-p): Ditto.
5946
5947         * elmo-imap4.el (elmo-folder-writable-p): Ditto.
5948
5949         * elmo-localdir.el (elmo-folder-writable-p): Ditto.
5950
5951         * elmo-maildir.el (elmo-folder-writable-p): Ditto.
5952
5953         * elmo-mark.el (elmo-folder-writable-p): Ditto.
5954
5955         * elmo-pipe.el (elmo-folder-writable-p): Ditto.
5956
5957         * elmo-nntp.el (elmo-folder-writable-p): Eliminated.
5958
5959 2001-09-20  Yuuichi Teranishi  <teranisi@gohome.org>
5960
5961         * elmo-util.el (elmo-address-quote-specials): New function;
5962         Renamed from `wl-address-quote-specials'.
5963
5964 2001-09-18  TAKAHASHI Kaoru  <kaoru@kaisei.org>
5965
5966         * elmo-version.el (elmo-version): Up to 2.7.4.
5967
5968 2001-09-14  Yuuichi Teranishi  <teranisi@gohome.org>
5969
5970         * elmo.el (elmo-quit): Call `elmo-dop-queue-save'.
5971
5972 2001-09-14  Katsumi Yamaoka  <yamaoka@jpl.org>
5973
5974         * acap.el (acap-read-passphrase): Always autoload ange-ftp for
5975         both compile-time and run-time to avoid byte-compile warning.
5976
5977 2001-09-13  Kenichi OKADA  <okada@opaopa.org>
5978
5979         * elmo-nntp.el (elmo-nntp-post): Fix for `elmo-nntp-default-stream-type'.
5980
5981 2001-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
5982
5983         * elmo-mime.el (elmo-mime-display-as-is-coding-system): New user
5984         option.
5985         (elmo-mime-display-as-is-internal): Use it.
5986
5987         * acap.el (acap-read-passphrase): Use `ange-ftp-read-passwd'
5988         if `read-passwd' is not defined.
5989
5990 2001-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
5991
5992         * elmo-pop3.el (elmo-pop3-list-location): Sort locations
5993         by original number.
5994         (elmo-folder-status): Call `elmo-folder-open-internal';
5995         Call `elmo-folder-close-internal' instead of `elmo-folder-close'.
5996         (elmo-folder-close-internal): Set location-alist as nil.
5997         (elmo-folder-clear): Define.
5998         (elmo-folder-check): Don't set location-alist as nil.
5999
6000         * elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed symbols.
6001
6002 2001-09-10  Yuuichi Teranishi  <teranisi@gohome.org>
6003
6004         * elmo-util.el (elmo-msgid-to-cache): Enclose with `save-match-data'.
6005         (Pointed out by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>)
6006
6007         * mmimap.el (mime-imap-entity::requested): New slot.
6008         (mime-imap-location-fetch-entity-p): New generic function.
6009         (mime-decode-parameters): Define using `defun-maybe'.
6010         (mmimap-make-mime-entity): Use `make-mime-content-type' to make
6011         content-type structure.
6012         (mime-entity-body): Return empty body if
6013         `mime-imap-location-fetch-entity-p' returns nil in the first request.
6014
6015         * elmo.el (elmo-message-displaying): New variable.
6016
6017         * elmo-mime.el (elmo-mime-message-display): Bind
6018         elmo-message-displaying as t.
6019
6020         * elmo-imap4.el (mime-imap-location-fetch-entity-p): Define.
6021
6022 2001-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
6023
6024         * acap.el (acap-open): erase buffer before starting network process.
6025         (acap-store): Rewrite.
6026
6027 2001-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
6028
6029         * elmo-imap4.el (elmo-imap4-default-mailbox,
6030         elmo-imap4-default-server
6031         elmo-imap4-default-authenticate-type,
6032         elmo-imap4-default-user,
6033         elmo-imap4-default-port,
6034         elmo-imap4-default-stream-type,
6035         elmo-imap4-stream-type-alist): Moved to elmo-vars.el.
6036
6037         * elmo-pop3.el (elmo-pop3-default-user,
6038         elmo-pop3-default-server,
6039         elmo-pop3-default-authenticate-type,
6040         elmo-pop3-default-port,
6041         elmo-pop3-default-stream-type,
6042         elmo-pop3-stream-type-alist): Ditto.
6043
6044         * elmo-nntp.el (elmo-nntp-default-server,
6045         elmo-nntp-default-user,
6046         elmo-nntp-default-port,
6047         elmo-nntp-default-stream-type,
6048         elmo-nntp-stream-type-alist): Ditto.
6049
6050         * elmo-vars.el: Follow changes above.
6051         (elmo-setting): New custom group; added 'elmo-setting group to
6052         above variables.
6053
6054         * elmo-version.el (elmo-version): Up to 2.7.3.
6055
6056         * acap.el (acap-parse-response): Don't delete process when BYE
6057         response (It causes hang-up on slow network environment).
6058         (toplevel): Added comment.
6059
6060 2001-08-28  Yuuichi Teranishi  <teranisi@gohome.org>
6061
6062         * slp.el (slp-exec-wait): Use `slp-program-arguments'.
6063
6064         * acap.el (acap-parse-return-metadata-or-return-metalist): Fix for
6065         parsing NIL.
6066         (acap-parse-return-metadata): Ditto.
6067
6068         * slp.el: New file.
6069         (toplevel): Fixed typo.
6070
6071         * acap.el: New file.
6072         (acap-network-stream-open): Show "Connecting..." message.
6073         (acap-parse-response): Fixed problem for BYE untagged response.
6074         (acap-open): Changed argument (Use `acap-default-user' if user is nil).
6075         (toplevel): Added tiny comments.
6076
6077 2001-08-20  Tatsuya Kinoshita <tats@iris.ne.jp>
6078
6079         * elmo-pop3.el (elmo-pop3-parse-uidl-response): Allow multiple
6080         space delimiter for uidl response.
6081
6082 2001-08-20  Yuuichi Teranishi  <teranisi@gohome.org>
6083
6084         * elmo-vars.el (elmo-use-semi): Eliminated.
6085
6086         * elmo-util.el (elmo-string-assoc-all): New function.
6087
6088 2001-08-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6089
6090         * elmo-mime.el (elmo-mime-display-as-is-internal): Put text
6091         property 'mime-preview-situation for `mime-preview-quit'.
6092
6093 2001-08-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6094
6095         * elmo.el (elmo-message-fetch-with-cache-process): Call
6096         elmo-message-fetch-internal instead of causing an error when fetch
6097         strategy is 'entire but only 'section cache is available.
6098
6099 2001-08-15  Yuuichi Teranishi  <teranisi@gohome.org>
6100
6101         * elmo-version.el (elmo-version): Up to 2.7.2.
6102
6103         * elmo.el (elmo-generic-folder-append-messages): Make
6104         fetch-strategy with `use-cache'.
6105
6106         * elmo-dop.el (elmo-dop-queue-method-name-alist): New variable.
6107         (elmo-dop-queue-method-name): New macro.
6108
6109 2001-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6110
6111         * elmo-archive.el (elmo-archive-get-archive-name): Fixed
6112         unbalanced parenthesis.
6113
6114 2001-08-03  YAMASHITA Junji <ysjj@unixuser.org>
6115
6116         * elmo-localdir.el (elmo-folder-rename-internal): Fixed typo.
6117
6118 2001-08-03  Yuuichi Teranishi  <teranisi@gohome.org>
6119
6120         * elmo-archive.el (elmo-archive-get-archive-name): Fixed logic.
6121         (Advised by YAMASHITA Junji <ysjj@unixuser.org>.)
6122
6123 2001-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
6124
6125         * elmo-shimbun.el (elmo-folder-msgdb-create): Bind unbound
6126         local variables.
6127
6128 2001-07-30  Yuuichi Teranishi  <teranisi@gohome.org>
6129
6130         * elmo-shimbun.el (elmo-shimbun-use-cache): New user option.
6131         (elmo-message-use-cache-p): Define.
6132         (elmo-folder-msgdb-create): Treat cache.
6133
6134 2001-07-28  Kenichi OKADA  <okada@opaopa.org>
6135
6136         * elmo-nntp.el (elmo-network-initialize-session): Call
6137         `elmo-nntp-send-mode-reader'.
6138         (elmo-network-setup-session): Remove `elmo-nntp-send-mode-reader'.
6139
6140 2001-07-26  Yuuichi Teranishi  <teranisi@gohome.org>
6141
6142         * elmo-shimbun.el (elmo-shimbun-index-range-alist): Changed to regexp
6143         alist.
6144         (elmo-folder-initialize): Use elmo-string-matched-assoc instead of
6145         assoc.
6146
6147         * elmo-net.el (elmo-network-get-session): Set stream-type argument
6148         for `elmo-plugged-p'.
6149         (elmo-open-network-stream): Fixed stream-type argument.
6150
6151 2001-07-25  Yuuichi Teranishi  <teranisi@gohome.org>
6152
6153         * elmo-archive.el (elmo-archive-get-archive-name): Cause an error when
6154         unknown archive type is specified.
6155
6156 2001-07-23  Yuuichi Teranishi  <teranisi@gohome.org>
6157
6158         * elmo-shimbun.el (elmo-folder-open-internal): Fixed.
6159
6160         * elmo.el (elmo-generic-folder-open): Bind inhibit-quit as t
6161         while loading msgdb.
6162
6163         * elmo-shimbun.el (elmo-shimbun-folder-setup): New function.
6164         (elmo-folder-open-internal): Rewrite.
6165
6166 2001-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
6167
6168         * elmo-mime.el (elmo-mime-display-as-is-internal):
6169         Adjust buffer-multibyte status.
6170
6171 2001-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
6172
6173         * elmo.el (elmo-msgdb-search): Use elmo-condition-in-msgdb-p instead
6174         of elmo-condition-find-key.
6175
6176         * elmo-util.el (elmo-condition-in-msgdb-p-internal): New function.
6177         (elmo-condition-in-msgdb-p): Ditto.
6178         (elmo-read-search-condition-internal): Don't set REQUIRE-MATCH
6179         argument.
6180
6181 2001-07-12  Yuuichi Teranishi  <teranisi@gohome.org>
6182
6183         * elmo-pipe.el (elmo-folder-pack-numbers): Define.
6184
6185 2001-07-05  Yuuichi Teranishi  <teranisi@gohome.org>
6186
6187         * elmo-imap4.el (elmo-imap4-find-next-line): Fixed
6188         label for elmo-display-progress.
6189
6190 2001-07-02  Yuuichi Teranishi  <teranisi@gohome.org>
6191
6192         * elmo.el (elmo-folder-clear): New method.
6193         (elmo-folder-clear): Define.
6194         (elmo-folder-synchronize): Call `elmo-folder-clear'.
6195
6196         * elmo-shimbun.el (elmo-folder-check): Rewrite.
6197         (elmo-folder-clear): Define.
6198
6199         * elmo-map.el (elmo-folder-clear): Define.
6200
6201         * elmo-version.el (elmo-version): Up to 2.7.1.
6202
6203 2001-06-26  Yuuichi Teranishi  <teranisi@gohome.org>
6204
6205         * elmo.el (elmo-folder-synchronize): Return list of nil when no
6206         updates.
6207
6208 2001-06-21  Yuuichi Teranishi  <teranisi@gohome.org>
6209
6210         * elmo.el (elmo-generic-folder-append-messages): Fixed logic.
6211         (Detected by NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>)
6212
6213 2001-06-20  Yuuichi Teranishi  <teranisi@gohome.org>
6214
6215         * elmo-util.el (elmo-get-network-stream-type): Moved to elmo-net.el.
6216
6217         * elmo-net.el (elmo-get-network-stream-type): Moved from elmo-util.el
6218         and re-written.
6219
6220         * elmo-imap4.el (elmo-folder-initialize): Use
6221         elmo-get-network-stream-type.
6222
6223         * elmo-nntp.el (elmo-folder-initialize): Ditto.
6224
6225         * elmo-pop3.el (elmo-folder-initialize): Ditto.
6226
6227 2001-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
6228
6229         * elmo.el (elmo-message-encache): Set unread argument for
6230         elmo-message-fetch.
6231
6232         * elmo-shimbun.el (elmo-dop): Require 'elmo-dop.
6233
6234         * elmo.el (elmo-net-port-info): New method.
6235
6236         * elmo-shimbun.el (elmo-net-port-info): Define.
6237         (elmo-message-encache): Ditto.
6238
6239         * elmo-net.el (elmo-net-port-info): Define as method.
6240
6241         * elmo.el (elmo-generic-folder-append-messages): Find cache file in
6242         unplugged status when elmo-enable-disconnected-operation is t.
6243
6244         * elmo-dop.el (elmo-dop-spool-folder-append-buffer): Check existence
6245         of spool folder before checking new number.
6246
6247 2001-06-18  Yuuichi Teranishi  <teranisi@gohome.org>
6248
6249         * elmo-pop3.el (elmo-network-close-session): Removed 3rd argument.
6250         (elmo-network-setup-session): Ditto.
6251         (elmo-message-fetch-plugged): Ditto.
6252         (elmo-pop3-send-command): Don't call elmo-pop3-lock.
6253         (elmo-network-initialize-session): Ditto.
6254         (elmo-pop3-read-response): Abolish 3rd argument.
6255         (elmo-pop3-read-response): Don't call elmo-pop3-unlock.
6256         (elmo-pop3-read-contents): Ditto.
6257         (elmo-pop3-read-body): Ditto.
6258         (elmo-folder-status): Call elmo-folder-close.
6259         (elmo-pop3-lock): Abolish.
6260         (elmo-pop3-unlock): Ditto.
6261         (elmo-pop3-locked-p): Ditto.
6262         (elmo-folder-check): Don't call elmo-pop3-locked-p.
6263
6264 2001-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
6265
6266         * elmo-version.el (elmo-version): Up to 2.7.0.
6267
6268         * elmo-pop3.el (elmo-pop3-debug): New variable.
6269         (elmo-pop3-debug-inhibit-logging): Ditto.
6270         (elmo-pop3-debug): New function.
6271         (elmo-pop3-send-command): Call elmo-pop3-debug.
6272         (elmo-pop3-read-response): Added keep-lock optional argument;
6273         Don't unlock if keep-lock is non-nil.
6274         (elmo-pop3-process-filter): Call elmo-pop3-debug.
6275         (elmo-network-authenticate-session): Bind
6276         elmo-pop3-debug-inhibit-logging as t.
6277         (elmo-network-setup-session): Call elmo-pop3-read-response with
6278         keep-lock argument.
6279         (elmo-pop3-read-msg): Ditto.
6280         (elmo-pop3-locked-p): Call elmo-pop3-debug.
6281         (elmo-pop3-read-body): Call elmo-pop3-unlock.
6282         (elmo-network-initialize-session): Call elmo-pop3-lock.
6283         (elmo-folder-close-internal): Don't clear location-alist slot.
6284         (elmo-folder-check): Clear location-alist slot.
6285
6286 2001-06-13  Yuuichi Teranishi  <teranisi@gohome.org>
6287
6288         * elmo-pop3.el (elmo-pop3-lock): New buffer local variable.
6289         (elmo-pop3-send-command): Call elmo-pop3-lock.
6290         (elmo-pop3-read-response): Call elmo-pop3-unlock.
6291         (elmo-pop3-read-contents): Ditto.
6292         (elmo-pop3-lock): New function.
6293         (elmo-pop3-unlock): Ditto.
6294         (elmo-pop3-locked-p): Ditto.
6295         (elmo-folder-check): Don't delete process if elmo-pop3-locked-p
6296         returns t.
6297
6298 2001-06-11  Yuuichi Teranishi  <teranisi@gohome.org>
6299
6300         * elmo-shimbun.el (elmo-shimbun-msgdb-to-headers): Inverted logic.
6301
6302         * elmo-util.el (elmo-file-field-primitive-condition-match):
6303         New inline function (Don't fetch file content if "first" or "last").
6304         (elmo-file-field-condition-match): Use
6305         elmo-file-field-primitive-condition-match.
6306
6307         * elmo-localdir.el (elmo-folder-search): Speed up simple "last" and
6308         "first".
6309
6310         * elmo-pop3.el (elmo-pop3-process-filter): Don't use floor nor float.
6311         (elmo-message-fetch-plugged): Fixed.
6312
6313         * elmo-imap4.el (elmo-imap4-find-next-line): Ditto.
6314
6315 2001-06-10  Yuuichi Teranishi  <teranisi@gohome.org>
6316
6317         * elmo.el (elmo-folder-move-messages): Bind
6318         elmo-inhibit-display-retrieval-progress as t while moving messages.
6319
6320         * elmo-vars.el (elmo-display-retrieval-progress-threshold):
6321         New variable.
6322         (elmo-inhibit-display-retrieval-progress): Ditto.
6323
6324         * elmo-pop3.el (elmo-pop3-process-filter): Use elmo-display-progress
6325         for retrieval progress;
6326         Don't display progress when total buffer size is smaller than
6327         elmo-display-retrieval-progress-threshold.
6328         (elmo-message-fetch-plugged): Don't display progress when
6329         elmo-inhibit-display-retrieval-progress is non-nil.
6330
6331         * elmo-imap4.el (elmo-imap4-find-next-line): Use elmo-display-progress
6332         for retrieval progress;
6333         Don't display progress when literal size is smaller than
6334         elmo-display-retrieval-progress-threshold.
6335         (elmo-imap4-message-fetch): Don't display progress when
6336         elmo-inhibit-display-retrieval-progress is non-nil.
6337
6338 2001-06-07  Yuuichi Teranishi  <teranisi@gohome.org>
6339
6340         * elmo-imap4.el (elmo-imap4-display-literal-progress): New variable.
6341         (elmo-imap4-find-next-line): Display progress whille literal fetching.
6342         (elmo-imap4-message-fetch): Likewise.
6343
6344         * elmo-shimbun.el (elmo-shimbun-default-index-range): New user option.
6345         (elmo-shimbun-index-range-alist): Ditto.
6346         (elmo-shimbun-use-entire-index): Abolish.
6347         (shimbun-mua-use-entire-index): Ditto.
6348         (elmo-shimbun-folder): Added new slot `range'.
6349         (elmo-folder-initialize): Setup slot `range'.
6350
6351 2001-06-06  Yuuichi Teranishi  <teranisi@gohome.org>
6352
6353         * elmo-shimbun.el (elmo-shimbun-parse-time-string): New function.
6354         (elmo-shimbun-msgdb-to-headers): Added `expire-days' argument.
6355         (elmo-shimbun-get-headers): Use return value of
6356         `shimbun-article-expiration-days'.
6357         (elmo-folder-close-internal): Clean up last-check slot.
6358
6359         * elmo-pop3.el (elmo-pop3-process-filter): Show retrieve progress.
6360         (elmo-pop3-total-size): New variable.
6361         (elmo-message-fetch-plugged): Bind elmo-pop3-total-size while fetching.
6362
6363         * elmo.el (elmo-folder-reserve-status-p): New method.
6364
6365         * elmo-shimbun.el (elmo-shimbun-headers-cache): Abolish.
6366         (elmo-shimbun-use-entire-index): New user option.
6367         (shimbun-elmo-mua): New class.
6368         (shimbun-mua-search-id): Define.
6369         (shimbun-mua-use-entire-index): Ditto.
6370         (elmo-shimbun-folder:last-check): New slot.
6371         (elmo-shimbun-headers-cache-header-list): Abolish.
6372         (elmo-shimbun-headers-cache-set-header-list): Ditto.
6373         (elmo-shimbun-headers-cache-header-hash): Ditto.
6374         (elmo-shimbun-headers-cache-set-header-hash): Ditto.
6375         (elmo-shimbun-headers-cache-last-check): Ditto.
6376         (elmo-shimbun-headers-cache-set-last-check): Ditto.
6377         (elmo-shimbun-headers-check-p): Rewrite.
6378         (elmo-shimbun-msgdb-to-headers): New function.
6379         (elmo-shimbun-get-headers): Rewrite.
6380         (elmo-folder-initialize): Set 1st argument of `shimbun-open'.
6381         (elmo-folder-open-internal): Get headers only if
6382         `elmo-shimbun-headers-check-p' is non-nil.
6383         (elmo-folder-check): Check only if `elmo-shimbun-headers-check-p'
6384         is non-nil.
6385         (elmo-shimbun-msgdb-create-entity): Re-use old msgdb entities.
6386         (elmo-quit): Removed.
6387
6388         * elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra): New inline
6389         function.
6390         (elmo-msgdb-overview-entity-set-extra): Ditto.
6391         (elmo-msgdb-make-overview-hashtb): Make hash if overview is non-nil.
6392
6393         * elmo-map.el (elmo-folder-status): Don't call
6394         elmo-folder-close-internal if `elmo-folder-reserve-status-p'
6395         is non-nil.
6396
6397 2001-06-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6398
6399         * elmo-msgdb.el (elmo-msgdb-search-internal): Call itself instead
6400         of `elmo-msgdb-search-internal-primitive' when condition's car is
6401         `and' or `or'.
6402
6403 2001-05-23  Kenichi OKADA  <okada@opaopa.org>
6404
6405         * elmo-nntp.el (elmo-nntp-get-newsgroup-by-msgid): Fix for luna.
6406
6407 2001-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6408
6409         * elmo-pipe.el (elmo-folder-open-internal): Check plugged before
6410         call `elmo-pipe-drain'.
6411
6412 2001-05-19  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
6413
6414         * elmo-mark.el (elmo-message-fetch-with-cache-process): Fixed
6415         typo. (elmo-cache-folder -> elmo-mark-folder)
6416
6417 2001-05-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6418
6419         * elmo-net.el (elmo-message-fetch-unplugged): Don't call
6420         `elmo-message-fetch'.
6421
6422 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6423
6424         * elmo-net.el (elmo-message-encache): Fixed typo.
6425         (elmo-message-fetch-unplugged): Changed call
6426         `elmo-message-fetch-internal' without argument `outbuf'.
6427
6428 2001-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
6429
6430         * elmo.el (elmo-message-encache): Define as generic function.
6431         (elmo-message-fetch-field): New generic function.
6432         (elmo-message-fetch-with-cache-process): Cause an error when
6433         fetch strategy is 'entire but only 'section cache is available.
6434         (toplevel): Fixed nmz folder definition.
6435
6436         * elmo-vars.el (elmo-msgdb-lock-list-filename): Removed.
6437         (elmo-msgdb-resume-list-filename): Ditto.
6438         (elmo-queue-filename): Ditto.
6439         (elmo-enable-disconnected-operation): Changed default value to t.
6440
6441         * elmo-util.el (elmo-cache-path-section-p): New function.
6442         (elmo-file-cache-get): Use it.
6443         (elmo-dop-queue-filename): Moved from elmo-dop.el.
6444         (elmo-dop-queue-load): Moved from elmo-msgdb.el.
6445         (elmo-dop-queue-save): Ditto.
6446
6447         * elmo-net.el (elmo-folder-status-unplugged): Call
6448         elmo-folder-status-dop.
6449         (elmo-folder-list-messages-unplugged): Implemented.
6450         (elmo-folder-delete-messages-unplugged): Define.
6451         (elmo-folder-msgdb-create): Define.
6452         (elmo-folder-msgdb-create-unplugged): Define.
6453         (elmo-folder-mark-as-read-unplugged): Ditto.
6454         (elmo-folder-unmark-read-unplugged): Ditto.
6455         (elmo-folder-mark-as-important-unplugged): Ditto.
6456         (elmo-folder-unmark-important-unplugged): Ditto.
6457         (elmo-message-encache): Ditto.
6458
6459         * elmo-msgdb.el (elmo-dop-queue-load): Moved to elmo-util.el.
6460         (elmo-dop-queue-save): Ditto.
6461
6462         * elmo-imap4.el (elmo-folder-msgdb-create-plugged): Renamed from
6463         `elmo-folder-msgdb-create'.
6464         (elmo-folder-append-buffer): Implemented unplugged operation.
6465         (elmo-folder-append-messages): Call parent method in unplugged status.
6466         (elmo-message-fetch-unplugged): Removed definition.
6467         (elmo-message-fetch-field): Implemented.
6468
6469         * elmo-dop.el (toplevel): Require 'elmo-localdir.
6470         (elmo-dop-folder): Removed variable definition.
6471         (elmo-dop-queue-append): Changed argument `fname' to `folder'.
6472         (elmo-dop-queue-flush): Implemented.
6473         (elmo-dop-queue-merge): Removed definition (TODO).
6474         (elmo-dop-spool-folder): New function.
6475         (elmo-dop-spool-folder-append-buffer): Ditto.
6476         (elmo-dop-spool-folder-list-messages): Ditto.
6477         (elmo-dop-list-deleting-messages): Ditto.
6478         (elmo-folder-append-buffer-dop): Ditto.
6479         (elmo-folder-delete-messages-dop): Ditto.
6480         (elmo-message-encache-dop): New inline function.
6481         (elmo-create-folder-dop): Ditto.
6482         (elmo-folder-mark-as-read-dop): Ditto.
6483         (elmo-folder-unmark-read-dop): Ditto.
6484         (elmo-folder-mark-as-important-dop): Ditto.
6485         (elmo-folder-unmark-important-dop): Ditto.
6486         (elmo-folder-status-dop): Fixed.
6487         (elmo-folder-append-buffer-dop-delayed): New function.
6488         (elmo-folder-delete-messages-dop-delayed): Ditto.
6489         (elmo-dop-msgdb): Ditto.
6490
6491 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6492
6493         * elmo-localdir.el (elmo-folder-pack-numbers): Fixed.
6494
6495 2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6496
6497         * elmo.el (elmo-folder-move-messages): Fixed problem when
6498         `dst-folder' is 'null.
6499
6500 2001-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6501
6502         * elmo.el (elmo-folder-list-importants): Rewirte. Use global mark
6503         instead of current mark.
6504
6505         * elmo-multi.el (elmo-folder-list-importants-internal): No
6506         operation if importants is not list.
6507
6508         * elmo-filter.el (elmo-filter-folder-list-importants-internal):
6509         Return t if importants is not list.
6510
6511         * elmo-map.el (elmo-map-folder-list-importants): Define.
6512         (elmo-folder-list-importants-internal): Check return value of
6513         `elmo-map-folder-list-importants-internal'.
6514
6515         * elmo-cache.el (elmo-folder-list-importants-internal): Eliminated.
6516
6517         * elmo-mark.el (elmo-folder-list-importants-internal): Ditto.
6518
6519         * elmo-nmz.el (elmo-folder-list-importants-internal): Ditto.
6520
6521         * elmo-shimbun.el (elmo-folder-list-importants-internal): Ditto.
6522
6523 2001-05-08  Yuuichi Teranishi  <teranisi@gohome.org>
6524
6525         * elmo.el (elmo-message-fetch-confirm): Fixed docstring.
6526         (Patch is provided by <kita@coe.nttdata.co.jp>).
6527
6528 2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6529
6530         * elmo.el (elmo-folder-synchronize): Don't check important mark in
6531         mark folder.
6532
6533 2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6534
6535         * elmo.el (elmo-message-fetch): Define.
6536         (elmo-message-fetch-with-cache-process): New generic method.
6537         (elmo-message-fetch-internal): New generic method.
6538         (elmo-folder-synchronize):
6539
6540         * elmo-archive.el (elmo-message-fetch-internal): Define.
6541         (elmo-message-fetch): Eliminated.
6542
6543         * elmo-localdir.el (elmo-message-fetch-internal): Define.
6544         (elmo-message-fetch): Eliminated.
6545
6546         * elmo-map.el (elmo-map-message-fetch): Eliminated optional
6547         argument OUTBUF.
6548         (elmo-message-fetch-internal): Define (Renamed from `elmo-message-fetch').
6549
6550         * elmo-cache.el (elmo-message-fetch-with-cache-process): Define.
6551         (elmo-map-message-fetch): Merged with elmo-cache-folder-map-message-fetch.
6552
6553         * elmo-mark.el (elmo-message-fetch-with-cache-process): Define.
6554         (elmo-map-message-fetch): Merged with `elmo-mark-folder-map-message-fetch'.
6555
6556         * elmo-maildir.el (elmo-map-message-fetch): Rewrite.
6557
6558         * elmo-nmz.el (elmo-map-message-fetch): Ditto.
6559
6560         * elmo-shimbun.el (elmo-map-message-fetch): Ditto.
6561
6562         * elmo-net.el (elmo-message-fetch-plugged): Remove cache process.
6563         (elmo-message-fetch-unplugged): New generic method.
6564         (elmo-message-fetch-internal): Remove cache process (Renamed from
6565         `elmo-message-fetch').
6566
6567         * elmo-nntp.el (elmo-message-fetch-with-cache-process): Define.
6568         (elmo-message-fetch): Eliminated.
6569         (elmo-message-fetch-unplugged): Ditto.
6570
6571         * elmo-imap4.el (elmo-message-fetch-unplugged): Remove cache process.
6572
6573 2001-05-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6574
6575         * elmo-multi.el (elmo-multi-folder-append-msgdb): Fixed structure
6576         of `to-be-deleted' from number-alist to number-list.
6577
6578 2001-04-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6579
6580         * elmo-pipe.el (elmo-folder-unmark-important): Fixed typo.
6581         (elmo-folder-mark-as-important): Ditto.
6582
6583 2001-04-26  Yuuichi Teranishi  <teranisi@gohome.org>
6584
6585         * elmo.el (elmo-folder): Added process-duplicates slot.
6586
6587         * elmo-pipe.el (elmo-folder-mark-as-read): Define.
6588         (elmo-folder-unmark-read): Ditto.
6589         (elmo-folder-unmark-important): Ditto.
6590         (elmo-folder-mark-as-important): Ditto.
6591
6592         * elmo-multi.el (elmo-multi-folder-append-msgdb): Implemented
6593         duplicated message processing.
6594
6595         * elmo.el (elmo-generic-folder-append-msgdb): Ditto.
6596
6597 2001-04-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6598
6599         * elmo-util.el (elmo-list-subdirectories-1): New function.
6600         (elmo-list-subdirectories): Use `elmo-list-subdirectories-1'.
6601         (elmo-mapcar-list-of-list): New function.
6602
6603         * elmo-archive.el (elmo-archive-folder-list-subfolders): Use
6604         `elmo-mapcar-list-of-list' instead of `mapcar'.
6605
6606         * elmo-localdir.el (elmo-folder-list-subfolders): Ditto.
6607
6608         * elmo-maildir.el (elmo-folder-list-subfolders): Ditto. Bind
6609         `elmo-have-link-count'. Return the fully qualified folder name.
6610
6611 2001-04-23  Yuuichi Teranishi  <teranisi@gohome.org>
6612
6613         * elmo-shimbun.el (elmo-shimbun-check-interval): New user option.
6614         (elmo-shimbun-headers-cache): New internal variable.
6615         (elmo-shimbun-headers-cache-header-list): New inline function.
6616         (elmo-shimbun-headers-cache-set-header-list): Ditto.
6617         (elmo-shimbun-headers-cache-header-hash): Ditto.
6618         (elmo-shimbun-headers-cache-set-header-hash): Ditto.
6619         (elmo-shimbun-headers-cache-last-check): Ditto.
6620         (elmo-shimbun-headers-cache-set-last-check): Ditto.
6621         (elmo-shimbun-lapse-seconds): Ditto.
6622         (elmo-shimbun-headers-cache-check-p): Ditto.
6623         (elmo-shimbun-get-headers): New function.
6624         (elmo-folder-open-internal): Call it.
6625         (elmo-quit): Define (Clear headers-cache).
6626
6627 2001-04-18  Yuuichi Teranishi  <teranisi@gohome.org>
6628
6629         * elmo-nntp.el (elmo-folder-initialize): Fixed typo (folder->name).
6630
6631         * elmo-msgdb.el (elmo-msgdb-flist-load): Use elmo-mime-charset.
6632         (elmo-msgdb-flist-save): Ditto.
6633
6634         * elmo-shimbun.el (elmo-folder-list-subfolders):
6635         Use `shimbun-groups' instead of `shimbun-groups-internal'.
6636         (elmo-folder-exists-p): Ditto.
6637
6638         * elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Set `shimbun'
6639         argument for `shimbun-header-insert'.
6640
6641 2001-04-17  Yuuichi Teranishi  <teranisi@gohome.org>
6642
6643         * elmo-multi.el (elmo-multi-folder-diff): Use dummy number list
6644         at first time.
6645
6646         * elmo-util.el (toplevel): Require 'mcharset and 'pces.
6647         (With a little help from 'NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>')
6648
6649 2001-04-16  Yuuichi Teranishi  <teranisi@gohome.org>
6650
6651         * elmo-shimbun.el (elmo-folder-open-internal): Do nothing if unplugged.
6652         (elmo-folder-plugged-p): Define.
6653         (elmo-folder-set-plugged): Ditto.
6654         (elmo-shimbun-msgdb-create-entity): Do nothing if there's no header.
6655         (elmo-folder-list-messages-internal): Return t if unplugged.
6656         (elmo-folder-initialize): Fixed for "@gnome.gnome-1.4-list".
6657
6658         * elmo-multi.el (elmo-folder-list-messages-internal): Fixed problem
6659         when elmo-folder-list-messages-internal method of children returns t.
6660
6661         * elmo-map.el (elmo-map-folder-update-locations): Fixed problem when
6662         pair is nil.
6663         (elmo-folder-open-internal): Don't update if unplugged status.
6664
6665 2001-04-13  Yuuichi Teranishi  <teranisi@gohome.org>
6666
6667         * elmo.el (elmo-folder-synchronize): Fixed problem when there's no
6668         new message.
6669
6670 2001-04-12  Yuuichi Teranishi  <teranisi@gohome.org>
6671
6672         * elmo-util.el (elmo-file-cache-save): Ignore errors.
6673
6674         * elmo-net.el (elmo-message-fetch): Check cache-path is non-nil before
6675         saving.
6676
6677 2001-04-09  Yuuichi Teranishi  <teranisi@gohome.org>
6678
6679         * elmo.el (elmo-folder-synchronize): Added optional no-check argument.
6680
6681         * elmo-shimbun.el (elmo-shimbun-folder): Added headers slot.
6682         (elmo-folder-open-internal): Set up headers slot.
6683         (elmo-folder-check): Call elmo-folder-close-internal and
6684         elmo-folder-open-internal.
6685         (elmo-folder-close-internal): Clean up headers slot.
6686
6687 2001-04-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
6688
6689         * elmo-archive.el (elmo-archive-folder-list-subfolders): Match
6690         exactly folder list.
6691         (elmo-folder-append-messages): Fixed append archive with prefix.
6692
6693         * elmo-localdir.el (elmo-folder-message-make-temp-files): Fixed
6694         make temp files with start-number.
6695
6696         * elmo-pipe.el (elmo-folder-message-make-temp-file-p): Fixed typo.
6697
6698 2001-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
6699
6700         * elmo.el (elmo-folder-list-messages-internal): Fixed lucking optional
6701         argument `visible-only'.
6702         (elmo-generic-folder-append-messages): Fixed condition. Use `unless'
6703         instead of `if'.
6704
6705         * elmo-pop3.el (elmo-folder-open-internal): Check
6706         `elmo-inhibit-number-mapping' is non-nil.
6707
6708         * elmo-pipe.el (elmo-folder-status): Fixed.
6709
6710 2001-04-05  Yuuichi Teranishi  <teranisi@gohome.org>
6711
6712         * elmo.el (elmo-dop-queue-flush): Added autload setting.
6713
6714         * elmo-shimbun.el (elmo-shimbun-folder): Added `header-hash' slot.
6715         (elmo-folder-open-internal): Setup `header-hash' slot.
6716         (elmo-shimbun-msgdb-create-entity): Use `header-hash' to get header
6717         information.
6718         (elmo-map-message-fetch): Ditto.
6719
6720 2001-04-04  Yuuichi Teranishi  <teranisi@gohome.org>
6721
6722         * shimbun.el, sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
6723         sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
6724         sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
6725         sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el, sb-tcup.el: Removed.
6726
6727         * elmo-util.el (elmo-resque-obsolete-variable): Fix.
6728
6729 2001-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
6730
6731         * sb-airs.el: Added footer.
6732
6733         * shimbun.el (shimbun-article): Define as luna-method.
6734
6735         * sb-tcup.el: New file.
6736
6737         * sb-airs.el (toplevel): Require 'sb-mhonarc.
6738         (According to the report from ABE Yasushi <yasushi@indigo.co.jp>)
6739
6740 2001-04-02  Yuuichi Teranishi  <teranisi@gohome.org>
6741
6742         * sb-asahi.el (shimbun-index-url): Removed redundant '/' in URL string.
6743         (shimbun-get-headers): Ditto.
6744
6745         * elmo.el: Moved obsolete variable definitions from
6746         elmo-imap4.el, elmo-nntp.el and elmo-pop3.el.
6747
6748         * sb-asahi.el (shimbun-asahi-groups): Deleted "feneral" and "personal"
6749         groups.
6750
6751         * shimbun.el: New file.
6752
6753         * elmo-shimbun.el: New file.
6754
6755         * sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
6756         sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
6757         sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
6758         sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el: New files.
6759
6760 2001-03-27  Kenichi OKADA  <okada@opaopa.org>
6761
6762         * elmo-imap4.el (elmo-imap4-list-folders): Fixed problem when
6763         hierarchy is t.
6764
6765 2001-03-12  Yuuichi Teranishi  <teranisi@gohome.org>
6766
6767         * elmo.el (elmo-folder-msgdb): Define as macro.
6768         (elmo-folder-open): Added argument `load-msgdb'.
6769         (elmo-generic-folder-open): Ditto.
6770         (elmo-folder-encache): New function.
6771
6772         * elmo-dop.el (elmo-dop-queue): Moved from elmo-dop.el.
6773
6774         * elmo-net.el (elmo-message-fetch): Check the cache path is non-nil.
6775
6776         * elmo-msgdb.el (elmo-msgdb-delete-msgs):
6777         Eliminated argument FOLDER and added argument MSGDB.
6778         (elmo-dop-queue-load): Moved from elmo-dop.el.
6779         (elmo-dop-queue-save): Ditto.
6780
6781         * elmo-map.el (elmo-map-folder-update-locations): Sort by number.
6782
6783         * elmo-imap4.el (elmo-folder-open): Added argument load-msgdb.
6784
6785         * elmo-filter.el (elmo-filter-folder-list-unreads-internal):
6786         Use elmo-folder-msgdb instead of elmo-folder-msgdb-internal.
6787         (elmo-filter-folder-list-importants-internal): Ditto.
6788
6789         * elmo-map.el (elmo-folder-pack-number): Ditto.
6790
6791         * elmo-mime.el (elmo-mime-message-display): Ditto.
6792
6793         * elmo.el (elmo-generic-folder-commit): Ditto.
6794         (elmo-folder-list-unreads): Ditto.
6795         (elmo-folder-list-importants): Ditto.
6796         (elmo-generic-folder-commit): Ditto.
6797         (elmo-message-set-mark): Ditto.
6798         (elmo-generic-folder-append-msgdb): Ditto.
6799         (elmo-folder-synchronize): Ditto.
6800         (elmo-folder-messages): Ditto.
6801         (elmo-init): Call elmo-dop-queue-load.
6802         (elmo-folder-list-messages): Ditto.
6803
6804         * elmo-nntp.el (elmo-folder-update-number): Ditto.
6805         (elmo-nntp-folder-process-crosspost): Ditto.
6806         (elmo-folder-list-unreads-internal): Ditto.
6807
6808         * elmo-dop.el: Removed old functions.
6809
6810 2001-03-05  Yuuichi Teranishi  <teranisi@gohome.org>
6811
6812         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument from
6813         `folder' to `msgdb'.
6814
6815 2001-03-01  Yuuichi Teranishi  <teranisi@gohome.org>
6816
6817         * mmimap.el (mmimap-parse-parameters-from-list): Define as alias for
6818         `mime-decode-parameters' instead of `mime-decode-parameter-plist'.
6819
6820         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Bind
6821         case-fold-search.
6822
6823 2001-02-28  Yuuichi Teranishi  <teranisi@gohome.org>
6824
6825         * elmo-util.el (elmo-resque-obsolete-variable): Use defvaralias if
6826         defined.
6827
6828         * mmimap.el (toplevel): Require 'mime-parse and 'static.
6829         (mmimap-parse-parameters-from-list): Define as alias for
6830         `mime-decode-parameter-plist' if it is defined as function.
6831         (mmimap-make-mime-entity): Added argument `number'.
6832         (initialize-instance): Set `number' argument of mmimap-make-mime-entity
6833         as 0.
6834         (mime-imap-entity-header-string): Arrange node-id for rfc2060 section.
6835
6836         * elmo.el (elmo-folder-have-subfolder-p): New generic function.
6837
6838         * elmo-mark.el (elmo-folder-have-subfolder-p): Define.
6839
6840         * elmo-internal.el (elmo-folder-list-subfolders): Rewrite.
6841
6842 2001-02-27  Yuuichi Teranishi  <teranisi@gohome.org>
6843
6844         * elmo-maildir.el (elmo-folder-msgdb-create): Fixed.
6845
6846         * elmo-imap4.el (elmo-folder-initialize): Fixed problem
6847         when elmo-imap4-default-authenticate-type is nil.
6848         (elmo-folder-list-subfolders): Ditto
6849         (According to the reported of Bun Mizuhara <mizuhara@acm.org>)
6850         (elmo-imap4-fetch-callback-1-subr): Renamed from
6851         `elmo-imap4-fetch-callback-1' and define as inline function.
6852         (elmo-imap4-fetch-callback-1):
6853         Renamed from `elmo-imap4-fetch-callback'.
6854         (elmo-imap4-parse-fetch): Funcall `elmo-imap4-fetch-callback'.
6855
6856         * elmo-localdir.el (elmo-folder-expand-msgdb-path): Fixed
6857         msgdb path (To keep compatibility with main trunk).
6858
6859         * elmo-vars.el (elmo-inhibit-number-mapping): New variable.
6860
6861         * elmo-util.el (elmo-make-file-cache): Moved position of
6862         some macros.
6863
6864         * elmo-pop3.el (elmo-pop3-inhibit-uidl): Eliminated.
6865         (elmo-pop3-get-session): Use `elmo-inhibit-number-mapping'
6866         instead of `elmo-pop3-inhibit-uidl'.
6867         (elmo-folder-exists-p): Ditto.
6868         (elmo-pop3-folder-list-messages): Ditto.
6869
6870         * elmo-pipe.el (elmo-pipe-drain): Use `elmo-inhibit-number-mapping'
6871         instead of `elmo-pop3-inhibit-uidl'.
6872         (elmo-folder-status): Ditto.
6873
6874         * elmo-dop.el (elmo-dop-folder): New variable.
6875         (elmo-dop-lock-message): Eliminated.
6876         (elmo-dop-unlock-message): Ditto.
6877         (elmo-dop-lock-list-load): Ditto.
6878         (elmo-dop-lock-list-save): Ditto.
6879         (elmo-dop-delete-folder): Ditto.
6880         (elmo-dop-rename-folder): Ditto.
6881
6882         * elmo.el: Removed incomplete commentary.
6883
6884 2001-02-25  TAKAHASHI Kaoru  <kaoru@kaisei.org>
6885
6886         * elmo.el (toplevel): Require 'elmo-version first;
6887         for little `recursive-load-depth' settings.
6888         Fix "ends here" comment.
6889
6890 2001-02-23  Yuuichi Teranishi  <teranisi@gohome.org>
6891
6892         * elmo-util.el (toplevel): Require 'poem;
6893         Some functions are moved from elmo-cache.el.
6894
6895         * elmo-net.el (toplevel): Require 'elmo-cache.
6896
6897         * elmo-msgdb.el (toplevel): Don't require 'elmo-cache.
6898
6899         * elmo.el (toplevel): Ditto.
6900
6901         * elmo-cache.el: Rewrite with luna;
6902         Some functions are moved to elmo-util.el.
6903
6904         * elmo-internal.el (elmo-internal-folder-list): New variable.
6905         (elmo-internal-folder-initialize): Rewrite.
6906         (elmo-folder-list-subfolders): Ditto.
6907
6908         * elmo-cache.el (elmo-cache-search-all): Eliminated.
6909         (elmo-cache-collect-sub-directories): Ditto.
6910
6911 2001-02-22  Yuuichi Teranishi  <teranisi@gohome.org>
6912
6913         * elmo-version.el (elmo-version): Up to 2.5.8.
6914
6915         * elmo.el (elmo-folder-list-messages-mark-match): New function.
6916
6917         * elmo-util.el (elmo-list-insert): New function.
6918
6919 2001-02-21  Yuuichi Teranishi  <teranisi@gohome.org>
6920
6921         * elmo.el (elmo-init): New function.
6922         (elmo-quit): Call `elmo-crosspost-message-alist-save'.
6923
6924         * elmo-vars.el (elmo-msgdb-file-header-chop-length): New variable
6925         (Renamed from `elmo-localdir-header-chop-length').
6926
6927         * elmo-pop3.el (elmo-pop3-use-cache,
6928         elmo-pop3-send-command-synchronously): Moved from `elmo-vars.el'.
6929
6930         * elmo-nntp.el (elmo-message-fetch): Define.
6931         (elmo-message-fetch-unplugged): Ditto.
6932         (elmo-nntp-overview-fetch-chop-length): Moved from `elmo-vars.el'.
6933         (elmo-nntp-use-cache): Ditto.
6934         (elmo-nntp-max-number-precedes-list-active): Ditto.
6935
6936         * elmo-multi.el (elmo-multi-divide-number): Moved from `elmo-vars.el'.
6937
6938         * elmo-msgdb.el (elmo-localdir-insert-header): Renamed to
6939         `elmo-msgdb-insert-file-header'.
6940         Use `elmo-msgdb-file-header-chop-length'.
6941
6942         * elmo-localdir.el (elmo-localdir-lockfile-list): Moved from
6943         `elmo-vars.el'.
6944
6945         * elmo-cache.el (elmo-cache-insert-header): Eliminated.
6946         (elmo-cache-msgdb-create-overview-entity-from-file): Use
6947         `elmo-msgdb-insert-file-header'.
6948
6949         * elmo-imap4.el, elmo-nntp.el, elmo-pop3.el:
6950         Use new variable;
6951         Define obsolete variables with `elmo-define-obsolete-variable',
6952
6953         * elmo-util.el (elmo-warning-buffer-name): New constant.
6954         (elmo-warning): New function.
6955         (elmo-obsolete-variable-alist): New variable.
6956         (elmo-obsolete-variable-show-warnings): New variable.
6957         (elmo-define-obsolete-variable): New function.
6958         (elmo-resque-obsolete-variable): Ditto.
6959         (elmo-resque-obsolete-variables): Ditto.
6960
6961 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6962
6963         * elmo-vars.el (elmo-use-buffer-cache, elmo-buffer-cache-size):
6964         Eliminated.
6965
6966         * elmo-pop3.el, elmo-nntp.el: Use custom.
6967
6968 2000-02-20  Kenichi OKADA  <okada@opaopa.org>
6969
6970         * elmo-imap4.el (elmo-network-authenticate-session): Fix.
6971         * elmo-pop3.el (elmo-network-authenticate-session): Add comments.
6972
6973 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
6974
6975         * Luna-fy Kenichi OKADA's following changes.
6976         * elmo.el (elmo-folder-list-messages-internal): Added optional argument
6977         `nohide'.
6978         (elmo-folder-synchronize): Changed meaning of argument `ignore-msgdb'.
6979
6980 2001-02-21  OKAZAKI Tetsurou  <okazaki@be.to>
6981
6982         * elmo-util.el (elmo-display-progress): Prefer
6983         `progress-feedback-with-label' to `lprogress-display'.
6984
6985 2000-02-20  Kenichi OKADA  <okada@opaopa.org>
6986
6987         * elmo-imap4.el (elmo-imap4-list-folder): Added 'uid'
6988
6989 2000-02-19  Kenichi OKADA  <okada@opaopa.org>
6990
6991         * elmo2.el (elmo-list-folder): Added optional argument `nohide'.
6992         * elmo-imap4.el (elmo-imap4-list-folder): Added optional argument `nohide'.
6993         * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
6994         * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
6995         * elmo-localdir.el (elmo-localdir-list-folder): Ditto.
6996         * elmo-localnews.el (elmo-localnews-list-folder): Ditto.
6997         * elmo-archive.el (elmo-archive-list-folder): Ditto.
6998         * elmo-filter.el (elmo-filter-list-folder): Ditto.
6999         * elmo-internal.el (elmo-internal-list-folder): Ditto.
7000         * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
7001         * elmo-multi.el (elmo-multi-list-folder): Ditto.
7002         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
7003         * elmo-dop.el (elmo-dop-list-folder): Ditto.
7004
7005 2000-02-17  Kenichi OKADA  <okada@opaopa.org>
7006
7007         * elmo-msgdb.el (elmo-msgdb-max-of-killed): New function.
7008         * elmo-imap4.el (elmo-imap4-list-folder): Use killed-list.
7009
7010 2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
7011
7012         * elmo.el (elmo-folder-process-crosspost): New generic method.
7013         (elmo-folder-writable-p): Ditto.
7014         (elmo-folder-message-appendable-p): Eliminated.
7015         (elmo-generic-folder-append-msgdb): Rewrite.
7016         (elmo-newsgroups-hashtb): New internal variable.
7017         (elmo-crosspost-message-set): Eliminated.
7018         (elmo-crosspost-message-delete): Ditto.
7019         (elmo-setup-subscribed-newsgroups): New function.
7020         (elmo-crosspost-message-alist-modified): New internal variable.
7021         (elmo-crosspost-message-alist-load): New function (Renamed from
7022         `wl-crosspost-alist-load').
7023         (elmo-crosspost-message-alist-save): Ditto (Renamed from
7024         `wl-crosspost-alist-save').
7025
7026         * elmo-util.el (elmo-parse): New function (Renamed from `wl-parse').
7027
7028         * elmo-nntp.el (elmo-nntp-folder): New slots `temp-crosses' and
7029         `unreads'.
7030         (elmo-nntp-groups-hashtb): Eliminated (Renamed to
7031         elmo-newsgroups-hashtb).
7032         (elmo-nntp-message-fetch): Call `elmo-nntp-setup-crosspost-buffer',
7033         `elmo-nntp-folder-update-crosspost-message-alist'.
7034         (elmo-nntp-get-folders-info): Use `elmo-newsgroups-hashtb' instead of
7035         `elmo-nntp-groups-hashtb'.
7036         (elmo-nntp-make-groups-hashtb): Eliminated.
7037         (elmo-nntp-parse-newsgroups): New function (Renamed from
7038         `wl-parse-newsgroups').
7039         (elmo-folder-creatable-p, elmo-folder-writable-p,
7040         elmo-folder-close-internal, elmo-folder-mark-as-read,
7041         elmo-folder-process-crosspost, elmo-folder-list-unreads-internal):
7042         Define.
7043         (elmo-nntp-folder-update-crosspost-message-alist): New function.
7044
7045         * elmo-net.el (elmo-message-fetch): Check buffer size.
7046
7047         * elmo-multi.el (elmo-multi-split-number-alist): New function.
7048
7049         * elmo-localdir.el (elmo-folder-append-buffer): Fixed logic.
7050
7051         * elmo-imap4.el (elmo-folder-rename-internal): Send `select' command
7052         before `close' command.
7053
7054         * elmo.el (elmo-folder-list-unreads-internal): Added argument
7055         `mark-alist' (All other related portions are changed).
7056
7057 2001-02-13  Yuuichi Teranishi  <teranisi@gohome.org>
7058
7059         * elmo-util.el (elmo-create-hash-size): Eliminated.
7060         (elmo-make-hash) Make a hash with `one less than a power of two'
7061         length.
7062
7063         * elmo-vars.el (elmo-hash-minimum-size): New variable.
7064         (elmo-hash-maximum-size): Changed value.
7065
7066 2001-02-09  Yuuichi Teranishi  <teranisi@gohome.org>
7067
7068         * elmo-mime.el (elmo-mime-message-display): Added argument `unread'.
7069         (elmo-mime-message-display-as-is): Ditto.
7070
7071 2001-02-07  Yuuichi Teranishi  <teranisi@gohome.org>
7072
7073         * elmo-pipe.el (elmo-pipe-drain): Eliminated needless bindings;
7074         Use `elmo-folder-close-internal' instead of `elmo-folder-close'.
7075
7076 2001-02-06  Yuuichi Teranishi  <teranisi@gohome.org>
7077
7078         * elmo-mark.el: New file.
7079
7080         * elmo-internal.el: Rewrite (Almost empty).
7081
7082 2001-02-05  Yuuichi Teranishi  <teranisi@gohome.org>
7083
7084         * mmimap.el (mmimap-make-mime-entity): Consider message/rfc822.
7085         (mime-imap-entity-header-string): Ditto.
7086         (mmimap-entity-section): Rewrite.
7087
7088 2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
7089
7090         * elmo-nmz.el: New file.
7091
7092         * elmo-pipe.el: Rewrite with luna.
7093
7094 2001-01-29  Yuuichi Teranishi  <teranisi@gohome.org>
7095
7096         * elmo-archive.el: Rewrite with luna.
7097
7098         * elmo-multi.el (elmo-folder-list-unreads-internal): Fixed.
7099         (elmo-folder-list-importants-internal): Ditto.
7100
7101 2001-01-24  Yuuichi Teranishi  <teranisi@gohome.org>
7102
7103         * elmo-archive.el (elmo-archive-version): Abolish.
7104         (toplevel) Removed `boso' comment.
7105
7106 2001-01-23  Yuuichi Teranishi  <teranisi@gohome.org>
7107
7108         * elmo-msgdb.el (elmo-msgdb-add-msgs-to-seen-list): Renamed from
7109         elmo-msgdb-add-msgs-to-seen-list-subr;
7110         Changed argument seen-marks to unread-marks.
7111
7112         * elmo-nntp.el: Rewrite with luna.
7113
7114 2001-01-22  Yuuichi Teranishi  <teranisi@gohome.org>
7115
7116         * elmo-filter.el: Rewrite with luna.
7117
7118 2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>
7119
7120         * elmo-pop3.el: Rewrite with luna.
7121
7122 2001-01-17  Yuuichi Teranishi  <teranisi@gohome.org>
7123
7124         * elmo-multi.el: Rewrite with luna.
7125
7126         * elmo-vars.el (elmo-use-killed-list): Abolish.
7127         All other related portions are changed.
7128         (elmo-filename-replace-string-alist): Renamed from
7129         elmo-msgid-replace-string-alist.
7130
7131 2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>
7132
7133         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument.
7134
7135         * elmo-map.el: New file.
7136         * elmo-maildir.el: Rewrite with luna.
7137
7138 2001-01-14  Yuuichi Teranishi  <teranisi@gohome.org>
7139
7140         * elmo.el: Changed meaning of `elmo-folder-commit'.
7141         * elmo-mime.el (elmo-mime-display-as-is-internal): New function.
7142
7143 2001-01-07  Yuuichi Teranishi  <teranisi@gohome.org>
7144
7145         * elmo.el (elmo-folder-append-buffer): New function.
7146         (Renamed from `elmo-append-msg')
7147
7148 2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>
7149
7150         * elmo-mime.el: New file.
7151
7152 2000-12-14  Yuuichi Teranishi  <teranisi@gohome.org>
7153
7154         * elmo-cache.el: Rewrite.
7155
7156 2000-02-17  Kenichi OKADA  <okada@opaopa.org>
7157
7158         * elmo-pop3.el (elmo-network-authenticate-session): Bind `sasl-mechanisms'
7159
7160 2000-12-08  Yuuichi Teranishi  <teranisi@gohome.org>
7161
7162         * elmo-vars.el (elmo): New group.
7163         (elmo-strict-diff-folder-regexp): New variable.
7164
7165         * elmo-util.el (elmo-call-func): Abolish.
7166         (elmo-folder-get-type): Ditto.
7167         (elmo-*-get-spec): Ditto.
7168         (elmo-*-spec-*): Ditto.
7169         (elmo-imap4-identical-name-space-p): Ditto.
7170         (elmo-folder-identical-system-p): Ditto.
7171         (elmo-folder-direct-copy-alist): Ditto.
7172         (elmo-folder-direct-copy-p): Ditto.
7173
7174         * elmo-pipe.el (elmo-pipe-folder): New luna class.
7175         (elmo-folder-initialize): Define.
7176         (elmo-folder-get-primitive-list): Ditto.
7177
7178         * elmo-nntp.el (elmo-nntp-folder): New luna class.
7179         (elmo-folder-initialize): Define.
7180         Renamed `elmo-network-session-host-internal' to
7181         `elmo-network-session-server-internal'.
7182
7183         * elmo-multi.el (elmo-multi-folder): New luna class.
7184         (elmo-folder-initialize): Define.
7185         (elmo-folder-get-primitive-list): Ditto.
7186         (elmo-folder-contains-type): Ditto.
7187         (elmo-message-use-cache-p): Ditto.
7188
7189         * elmo-msgdb.el (elmo-msgdb-expand-path): Abolish.
7190         Use `elmo-folder-msgdb-path' instead of `elmo-msgdb-expand-path'.
7191
7192         * elmo-maildir.el (elmo-maildir-folder): New luna class.
7193         (elmo-folder-initialize): Define.
7194
7195         * elmo-filter.el (elmo-filter-folder): New luna class.
7196         (elmo-folder-initialize): Define.
7197         (elmo-folder-get-primitive-list): Ditto.
7198         (elmo-folder-contains-type): Ditto.
7199
7200 2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>
7201
7202         * elmo-imap4.el: Rewrite with luna.
7203
7204         * mmimap.el: New file.
7205
7206         * mmelmo.el, mmelmo-imap4.el: Removed.
7207
7208         * elmo-net.el: Ditto.
7209
7210         * elmo-pop3.el (elmo-pop3-folder): New luna class.
7211         (elmo-folder-initialize): Define.
7212
7213         * elmo-archive.el (elmo-archive-folder): New luna class.
7214         (elmo-folder-initialize): Define.
7215
7216         * elmo-dop.el: Rename `elmo-msgdb-expand-path' to
7217         `elmo-folder-msgdb-path'.
7218         (elmo-dop-queue-append): Use `elmo-folder-name-internal' and
7219         `elmo-make-folder'.
7220
7221 2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>
7222
7223         * elmo.el: New file.
7224
7225         * elmo2.el: Renamed to elmo.el.
7226
7227 \f
7228 2001-02-01  OKAZAKI Tetsurou  <okazaki@be.to>
7229
7230         * elmo-cache.el (elmo-cache-expire-by-size): Count
7231         a disk usage for a cache file entry in KB even when
7232         its kind is a directory.
7233
7234 2001-02-01  Yuuichi Teranishi  <teranisi@gohome.org>
7235
7236         * elmo-version.el (elmo-version): Up to 2.5.7.
7237
7238 2001-01-23  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7239
7240         * elmo-version.el (elmo-version): Up to 2.5.6.
7241
7242 2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>
7243
7244         * elmo-version.el (elmo-version): Up to 2.5.5.
7245
7246 2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
7247
7248         * elmo-imap4.el (elmo-network-authenticate-session):
7249         Fixed a logic for response checking.
7250
7251 2000-12-15   Daiki Ueno  <ueno@unixuser.org>
7252
7253         * elmo-net.el: Add autoload settings for `starttls-negotiate',
7254         `sasl-find-mechanism', `sasl-make-client', `sasl-mechanism-name',
7255         `sasl-next-step', `sasl-step-data' and `sasl-step-set-data'; bind
7256         `sasl-mechanisms'.
7257
7258         * elmo-imap4.el: Don't require `sasl'; remove autoload settings
7259         for `starttls-open-stream' and `starttls-negotiate'.
7260
7261         * elmo-nntp.el: Remove autoload settings for
7262         `starttls-open-stream' and `starttls-negotiate'.
7263
7264         * elmo-pop3.el: Don't require `sasl'; remove autoload settings
7265         for `starttls-open-stream' and `starttls-negotiate'; don't enclose
7266         `luna-define-class' with `eval-and-compile'.
7267
7268 2000-12-01  Kenichi OKADA  <okada@opaopa.org>
7269
7270         * elmo-util.el (elmo-read-search-condition-internal):
7271         Require an element of table for searching field.
7272
7273 2000-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
7274
7275         * elmo-version.el (elmo-version): Up to 2.5.4.
7276
7277 2000-11-26  Kenichi OKADA  <okada@opaopa.org>
7278
7279         * elmo-nntp.el (elmo-network-initialize-session): Accept response 20[01].
7280
7281 2000-11-24  Kenichi OKADA  <okada@opaopa.org>
7282
7283         * elmo-nntp.el (elmo-network-initialize-session): omitted.
7284
7285 2000-11-22  Kenichi OKADA  <okada@opaopa.org>
7286
7287         * elmo-nntp.el (elmo-network-initialize-session): Skip garbage output
7288         before greeting.
7289
7290 2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
7291
7292         * elmo-imap4.el (elmo-imap4-delete-folder):
7293         Send "close" before "delete" (Use commented out line).
7294         (elmo-imap4-rename-folder): Ditto.
7295
7296         * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
7297         folder string itself.
7298         (elmo-dop-list-deleted): New function.
7299         (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
7300         killed.
7301
7302         * elmo-util.el (elmo-string-rassoc-all): New function.
7303
7304 2000-11-22  Yuuichi Teranishi  <teranisi@gohome.org>
7305
7306         * elmo-version.el (elmo-version): Up to 2.5.3.
7307
7308         * elmo-net.el (elmo-network-get-session): Changed logic for
7309         checking process status.
7310
7311         * elmo-pop3.el (elmo-network-close-session): Do nothing if session
7312         process is nil;
7313         Changed logic for checking process status.
7314
7315 2000-11-20  Yuuichi Teranishi  <teranisi@gohome.org>
7316
7317         * elmo-pop3.el (elmo-network-initialize-session): Skip garbage output
7318         before greeting.
7319         (elmo-network-setup-session): Set UIDL hash size according to
7320         the length of list response.
7321         (elmo-pop3-parse-list-response): Setup elmo-pop3-size-hash
7322         according to the length of list response;
7323         Return the length of list response.
7324         (Adviced by OKAZAKI Tetsurou <okazaki@be.to>)
7325
7326 2000-11-21  Kenichi OKADA  <okada@opaopa.org>
7327
7328         * elmo-imap4.el (toplevel): Require 'ssl.
7329         Add autoload 'starttls.
7330         * elmo-pop3.el (toplevel): Ditto.
7331         * elmo-nntp.el (toplevel): Ditto.
7332
7333 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7334
7335         * elmo-imap4.el (toplevel): defun at compile time.
7336         sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
7337         sasl-next-step, sasl-step-data, sasl-step-set-data.
7338         * elmo-pop3.el (toplevel): Ditto.
7339
7340 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7341
7342         * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
7343
7344 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7345
7346         * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
7347         if error.
7348         (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
7349         and `elmo-pop-auth-apop'.
7350
7351 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7352
7353         * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
7354
7355 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7356
7357         * elmo-pop3.el (elmo-network-authenticate-session): Split
7358         encoded response value.
7359
7360 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7361
7362         * elmo-pop3.el (elmo-network-authenticate-session): Abolish
7363         `elmo-pop3-force-login'.
7364         Redefine `sasl-mechanisms'.
7365         * elmo-vars.el (elmo-pop3-force-login): Ditto.
7366
7367 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7368
7369         * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
7370         Delete `elmo-imap4-authenticator-alist'.
7371         (elmo-imap4-auth-cram-md5): Delete.
7372         (elmo-imap4-auth-digest-md5): Delete.
7373
7374 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7375
7376         * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
7377         (elmo-pop3-auth-scram-md5): Ditto.
7378         (elmo-pop3-auth-cram-md5): Ditto.
7379
7380 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7381
7382         * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
7383         Delete `elmo-pop3-authenticator-alist'.
7384
7385 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7386
7387         * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
7388         new SASL API.
7389         * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
7390
7391 2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>
7392
7393         * elmo-util.el (elmo-folder-local-p): Treat pipe and filter.
7394
7395 2001-01-19  Yuuichi Teranishi  <teranisi@gohome.org>
7396
7397         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
7398         Fixed problem when `elmo-pop3-use-uidl' is nil.
7399         (Reported by Takenobu Sugiyama <sugiyama@ae.advantest.co.jp>)
7400
7401 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7402
7403         * elmo-version.el (elmo-version): Up to 2.5.2.
7404
7405 2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>
7406
7407         * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
7408         New function.
7409         (elmo-pop3-sort-msgdb-by-original-number): Ditto.
7410         (elmo-pop3-msgdb-create-as-numlist): Use it.
7411
7412         * elmo-imap4.el (elmo-imap4-arrival-filter): Check process-buffer.
7413         (Based on the report by AMAKAWA Shuhei <sa264@cam.ac.uk>)
7414
7415         * elmo-pop3.el (elmo-pop3-msgdb-create-as-numlist): Sort msgdb by date.
7416         (Pointed out by Mikiya Tani <m-tani@hml.cl.nec.co.jp>)
7417
7418 2001-01-13 Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
7419
7420         * elmo2.el (elmo-make-folder-numbers-list): Fixed problem
7421         when elmo-mark-as-read is called with second argument nil.
7422
7423 2001-01-12  Yuuichi Teranishi  <teranisi@gohome.org>
7424
7425         * elmo-pipe.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
7426         Moved to elmo-util.el.
7427
7428         * elmo-util.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
7429         Moved from elmo-pipe.el
7430
7431         * elmo-archive.el (elmo-archive-call-process): Enclose with
7432         static-if.
7433
7434         * elmo-imap4.el (elmo-imap4-read-msg): Use "BODY[]" instead of
7435         "RFC822" (because RFC822.PEEK is obsolete).
7436         (Adviced by IMAI Takeshi <imai@on.rim.or.jp>)
7437
7438 2001-01-10  Katsumi Yamaoka    <yamaoka@jpl.org>
7439
7440         * elmo-archive.el (elmo-archive-call-process): Don't check for
7441         the exit status when Nemacs is running.
7442
7443 2001-01-09  Yuuichi Teranishi  <teranisi@gohome.org>
7444
7445         * elmo-net.el (elmo-network-session-password-key): Don't set default to
7446         'plain.
7447
7448         * elmo-util.el (elmo-imap4-get-spec): Set default of auth to 'clear.
7449         (elmo-pop3-get-spec): Set default of auth to 'user.
7450
7451         * elmo-imap4.el (elmo-imap4-session-check):
7452         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
7453         (elmo-imap4-clear-login): New function; Renamed from `elmo-imap4-login'.
7454         (elmo-imap4-auth-login): New function; Revival.
7455         (elmo-network-authenticate-session): Use `elmo-imap4-clear-login' and
7456         `elmo-imap4-auth-login'.
7457
7458 2000-12-29  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7459
7460         * elmo2.el (toplevel): Move `product-provide' declare.
7461         * mmelmo.el (toplevel): Ditto.
7462
7463 2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
7464
7465         * elmo-util.el (elmo-folder-get-store-type): Rewrite.
7466
7467 2000-12-26  OKAZAKI Tetsurou <okazaki@be.to>
7468
7469         * elmo-util.el (elmo-folder-get-store-type): New function.
7470         (elmo-folder-direct-copy-p): Use it.
7471
7472 2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>
7473
7474         * elmo-imap4.el (elmo-imap4-msgdb-create): Set
7475         `elmo-imap4-fetch-callback-data' as a cons cell of `args'
7476         and result of `elmo-imap4-use-flag-p'.
7477         (elmo-imap4-fetch-callback-1): Set mark according to
7478         the result of `elmo-imap4-use-flag-p'.
7479
7480 2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
7481
7482         * elmo-msgdb.el (elmo-generic-folder-diff): Moved from elmo2.el
7483         (elmo-generic-list-folder-unread): Ditto.
7484         (elmo-folder-get-info): Ditto.
7485         (elmo-folder-set-info-max-by-numdb): Ditto.
7486         (elmo-folder-get-info-max): Ditto.
7487         (elmo-folder-get-info-length): Ditto.
7488         (elmo-folder-get-info-unread): Ditto.
7489         (elmo-folder-info-make-hashtb): Ditto.
7490
7491         * elmo2.el: Removed above functions.
7492
7493 2000-11-21  Kenichi OKADA  <okada@opaopa.org>
7494
7495         * elmo-imap4.el (toplevel): Require 'ssl.
7496         Add autoload 'starttls.
7497         * elmo-pop3.el (toplevel): Ditto.
7498         * elmo-nntp.el (toplevel): Ditto.
7499
7500 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7501
7502         * elmo-imap4.el (toplevel): defun at compile time.
7503         sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
7504         sasl-next-step, sasl-step-data, sasl-step-set-data.
7505         * elmo-pop3.el (toplevel): Ditto.
7506
7507 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7508
7509         * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
7510
7511 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7512
7513         * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
7514         if error.
7515         (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
7516         and `elmo-pop-auth-apop'.
7517
7518 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7519
7520         * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
7521
7522 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7523
7524         * elmo-pop3.el (elmo-network-authenticate-session): Split
7525         encoded response value.
7526
7527 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7528
7529         * elmo-pop3.el (elmo-network-authenticate-session): Abolish
7530         `elmo-pop3-force-login'.
7531         Redefine `sasl-mechanisms'.
7532         * elmo-vars.el (elmo-pop3-force-login): Ditto.
7533
7534 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7535
7536         * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
7537         Delete `elmo-imap4-authenticator-alist'.
7538         (elmo-imap4-auth-cram-md5): Delete.
7539         (elmo-imap4-auth-digest-md5): Delete.
7540
7541 2000-11-20  Kenichi OKADA  <okada@opaopa.org>
7542
7543         * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
7544         (elmo-pop3-auth-scram-md5): Ditto.
7545         (elmo-pop3-auth-cram-md5): Ditto.
7546
7547 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7548
7549         * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
7550         Delete `elmo-pop3-authenticator-alist'.
7551
7552 2000-11-19  Kenichi OKADA  <okada@opaopa.org>
7553
7554         * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
7555         new SASL API.
7556         * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
7557
7558 \f
7559 2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>
7560
7561         * elmo-nntp.el (elmo-nntp-get-folders-info): Fixed last change.
7562
7563 2000-12-01  Yuuichi Teranishi  <teranisi@gohome.org>
7564
7565         * elmo-nntp.el (elmo-nntp-get-folders-info):
7566         Fixed problem when '\' character is contained in user-id.
7567         (Reported by Yoichiro Okabe <okabe@wizsoft.co.jp>)
7568
7569 \f
7570 2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
7571
7572         * elmo-imap4.el (elmo-imap4-delete-folder):
7573         Send "close" before "delete" (Use commented out line).
7574         (elmo-imap4-rename-folder): Ditto.
7575
7576         * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
7577         folder string itself.
7578         (elmo-dop-list-deleted): New function.
7579         (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
7580         killed.
7581
7582         * elmo-util.el (elmo-string-rassoc-all): New function.
7583
7584         * elmo-version.el (elmo-version): Up to 2.5.1.
7585
7586 2000-11-13  Yuuichi Teranishi  <teranisi@gohome.org>
7587
7588         * elmo-pop3.el (elmo-pop3-folder-exists-p): Don't use UIDL.
7589
7590         * elmo-internal.el (elmo-internal-search): Fix last change.
7591
7592 2000-11-08  Yuuichi Teranishi  <teranisi@gohome.org>
7593
7594         * elmo-internal.el (elmo-internal-search): Rewrite.
7595         (Fixed problem which is pointed out by Akihiro MOTOKI
7596         <motoki@da.jp.nec.com>)
7597
7598         * elmo-version.el (elmo-version): Up to 2.5.0.
7599
7600 2000-11-06  Kenichi OKADA  <okada@opaopa.org>
7601
7602         * elmo-imap4.el (elmo-imap4-list-folders): Append authenticate-type.
7603
7604 2000-11-06  Kenichi OKADA  <okada@opaopa.org>
7605
7606         * elmo-imap4.el (elmo-imap4-list-folders): When hierarchy is
7607         non-nil, make hierarchy.
7608
7609 2000-11-05  OKAZAKI Tetsurou  <okazaki@be.to>
7610
7611         * elmo-pipe.el (elmo-pipe-drain): When calling `elmo-list-folder',
7612         `elmo-pop3-use-uidl' must be bound to nil.
7613         (Pointed out by Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>)
7614
7615 2000-11-02  Yuuichi Teranishi  <teranisi@gohome.org>
7616
7617         * elmo-util.el (elmo-copy-file): Don't cause an error after
7618         `add-name-to-file' failed.
7619
7620         * elmo-pipe.el (elmo-pipe-drain): List folder before loading msgdb.
7621         (Fix by HIROSE Yuuji <yuuji@gentei.org>)
7622
7623 2000-11-01  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7624
7625         * elmo-version.el (elmo-version): Up to 2.3.93.
7626
7627 2000-11-01  Yuuichi Teranishi  <teranisi@gohome.org>
7628
7629         * elmo-util.el (elmo-flatten): New function.
7630
7631 2000-10-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7632
7633         * elmo-archive.el (toplevel): Added (C) to copyright notice, and
7634         sync Author header.
7635         * elmo-cache.el (toplevel): Ditto.
7636         * elmo-database.el (toplevel): Ditto.
7637         * elmo-date.el (toplevel): Ditto.
7638         * elmo-dop.el (toplevel): Ditto.
7639         * elmo-filter.el (toplevel): Ditto.
7640         * elmo-imap4.el (toplevel): Ditto.
7641         * elmo-internal.el (toplevel): Ditto.
7642         * elmo-localdir.el (toplevel): Ditto.
7643         * elmo-localnews.el (toplevel): Ditto.
7644         * elmo-maildir.el (toplevel): Ditto.
7645         * elmo-msgdb.el (toplevel): Ditto.
7646         * elmo-multi.el (toplevel): Ditto.
7647         * elmo-net.el (toplevel): Ditto.
7648         * elmo-nntp.el (toplevel): Ditto.
7649         * elmo-pipe.el (toplevel): Ditto.
7650         * elmo-pop3.el (toplevel): Ditto.
7651         * elmo-util.el (toplevel): Ditto.
7652         * elmo-vars.el (toplevel): Ditto.
7653         * elmo2.el (toplevel): Ditto.
7654         * mmelmo-imap4.el (toplevel): Ditto.
7655         * mmelmo.el (toplevel): Ditto.
7656
7657         * elmo-version.el (elmo-version): Move to top.
7658
7659         * elmo-cache.el (toplevel): Fixed multiple Author header format.
7660         * elmo-imap4.el (toplevel): Ditto.
7661         * elmo-localdir.el (toplevel): Ditto.
7662         * elmo-msgdb.el (toplevel): Ditto.
7663         * elmo-nntp.el (toplevel): Ditto.
7664         * elmo-pop3.el (toplevel): Ditto.
7665         * elmo-version.el (toplevel): Ditto.
7666
7667         * elmo-localnews.el (toplevel): Added Keyword header.
7668
7669 2000-10-31  Yuuichi Teranishi  <teranisi@gohome.org>
7670
7671         * elmo-version.el (product-version-as-string): Defined using
7672         `defun-maybe'.
7673         (toplevel): Use it.
7674
7675         * elmo-localdir.el (toplevel): Updated copyright notice.
7676         * elmo-version.el (toplevel): Ditto.
7677         * elmo-msgdb.el (toplevel): Ditto.
7678         * elmo-imap4.el (toplevel): Ditto.
7679         * elmo-nntp.el (toplevel): Ditto.
7680         * elmo-pop3.el (toplevel): Ditto.
7681
7682 2000-10-30  Yuuichi Teranishi  <teranisi@gohome.org>
7683
7684         * elmo-pipe.el (elmo-pipe-drain): Don't save msgdb after moving
7685         messages.
7686
7687         * mmelmo.el (mime-parse-parameters-from-list): Don't downcase
7688         parameter value (It sometimes contains raw kanji).
7689
7690 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7691
7692         * elmo-imap4.el (elmo-network-initialize-session): Check capability.
7693         * elmo-pop3.el (elmo-network-initialize-session): Ditto.
7694
7695 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7696
7697         * elmo-imap4.el (elmo-network-initialize-session): Fix.
7698
7699 2000-10-28  Kenichi OKADA  <okada@opaopa.org>
7700
7701         * elmo-imap4.el (elmo-network-initialize-session): Change error message.
7702         * elmo-pop3.el (elmo-network-initialize-session): Change error message.
7703
7704 2000-10-27  Yuuichi Teranishi  <teranisi@gohome.org>
7705
7706         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Return response
7707         value if selecting folder succceeded.
7708         (Advised by MII Kazuyoshi <mii@isl.ntt.co.jp> for prom-wl.)
7709
7710 2000-10-26  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7711
7712         * elmo-util.el (elmo-make-directory): Fixed permission lateral
7713         representation.
7714
7715         * elmo-util.el (elmo-string-matched-member): New function.
7716
7717 2000-10-26  Yuuichi Teranishi  <teranisi@gohome.org>
7718
7719         * elmo-util.el (elmo-unintern): New macro.
7720         (elmo-number-set-member): Fixed docstring.
7721
7722         * elmo-imap4.el (elmo-imap4-parse-response): Call `elmo-unintern' for
7723         tag token.
7724
7725 2000-10-25  OKAZAKI Tetsurou  <okazaki@be.to>
7726
7727         * elmo-imap4.el (elmo-imap4-client-eol): Remove duplicated defvar
7728         of `elmo-imap4-status' and `elmo-imap4-reached-tag'.
7729
7730 2000-10-24  Yuuichi Teranishi  <teranisi@gohome.org>
7731
7732         * elmo-imap4.el (elmo-imap4-session-select-mailbox): Added argument
7733         `no-error'.
7734         Added docstring.
7735         Return non-nil if selecting folder succeeded.
7736         (elmo-imap4-folder-exists-p): Call with argument 'no-error.
7737
7738 2000-10-23  Yuuichi Teranishi  <teranisi@gohome.org>
7739
7740         * elmo-maildir.el (elmo-maildir-get-filename): Fixed problem when
7741         `file-name-completion' returns t.
7742         (Reported by Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>)
7743         (elmo-maildir-set-mark): Put `info' part to the files in the cur
7744         directory if it does not exist.
7745         (elmo-maildir-update-current): Use `while' instead of `mapcar'
7746         for iteration.
7747
7748 2000-10-20  Yuuichi Teranishi  <teranisi@gohome.org>
7749
7750         * elmo-imap4.el (elmo-imap4-folder-exists-p): Removed `condition-case'
7751         enclosure (It's harmful in unplugged status).
7752
7753         * elmo-pop3.el (elmo-pop3-folder-exists-p): Ditto.
7754
7755         * mmelmo-1.el: Removed.
7756
7757         * mmelmo-2.el: Ditto.
7758
7759         * mmelmo-imap4-1.el: Ditto.
7760
7761         * mmelmo-imap4-2.el: Ditto.
7762
7763         * mmelmo-imap4.el: Merged mmelmo-imap4-2.el
7764
7765         * mmelmo.el: Merged mmelmo-2.el.
7766
7767         * elmo-version.el (elmo-version): Up to 2.3.92.
7768
7769 2000-10-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7770
7771         * elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
7772         elmo-update-number): Remove last period in "...done." message.
7773         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
7774         Ditto.
7775         * elmo-cache.el (elmo-cache-expire-by-size,
7776         elmo-cache-get-sorted-cache-file-list,
7777         elmo-cache-msgdb-create-as-numlist): Ditto.
7778         * elmo-dop.el (elmo-dop-save-pending-messages,
7779         (elmo-dop-flush-pending-append-operations): Ditto.
7780         * elmo-imap4.el (elmo-imap4-msgdb-create): Ditto.
7781         * elmo-internal.el (elmo-internal-msgdb-create): Ditto.
7782         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist,
7783         (elmo-localdir-pack-number): Ditto.
7784         * elmo-maildir.el (elmo-maildir-msgdb-create): Ditto.
7785         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Ditto.
7786         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer,
7787         mime-write-entity-content): Ditto.
7788         * pldap.el (ldap-search-basic): Ditto.
7789
7790 2000-10-18  Yuuichi Teranishi  <teranisi@gohome.org>
7791
7792         * elmo-version.el (elmo-version): Up to 2.3.91.
7793
7794         * elmo-filter.el (elmo-filter-folder-diff): Use target folder's diff
7795         Only when filter is 'last'.
7796
7797         * elmo-util.el (elmo-condition-atom-regexp): New constant.
7798         (elmo-condition-parse-search-value): Use it.
7799         (elmo-read-search-condition-internal): Quote value only when
7800         it is not an atom.
7801
7802 2000-10-18  Kenichi OKADA  <okada@opaopa.org>
7803
7804         * elmo2.el (elmo-generic-folder-diff): Fix.
7805
7806 2000-10-17  Kenichi OKADA  <okada@opaopa.org>
7807
7808         * elmo-msgdb.el (elmo-msgdb-killed-list-length): New function.
7809         * elmo-localdir.el (elmo-localdir-list-folder-subr): Fix.
7810         * elmo-maildir.el (elmo-maildir-list-folder-subr): Fix.
7811         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
7812         * elmo-internal.el (elmo-internal-list-folder-subr): Fix.
7813         * elmo-imap4.el (elmo-imap4-max-of-folder): Fix.
7814
7815 2000-10-17  Akihiro MOTOKI <motoki@da.jp.nec.com>
7816
7817         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Search by
7818         extra-fields.
7819
7820 2000-10-17  Yuuichi Teranishi  <teranisi@gohome.org>
7821
7822         * elmo-version.el (elmo-version): Up to 2.3.90.
7823
7824         * elmo-imap4.el (elmo-imap4-list-folder-unread): Check plugged status.
7825         (elmo-imap4-list-folder-important): Ditto.
7826
7827 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
7828
7829         * elmo-nntp.el (elmo-network-initialize-session): Fix.
7830
7831 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
7832
7833         * elmo-nntp.el (elmo-nntp-read-msg): Don't error.
7834
7835 2000-10-15  Kenichi OKADA  <okada@opaopa.org>
7836
7837         * elmo-nntp.el (elmo-network-initialize-session):
7838         Add starttls negotiation.
7839
7840 2000-10-15  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
7841
7842         * elmo-nntp.el (elmo-network-initialize-session): Read greeting
7843         response.
7844         (elmo-network-setup-session): Define.
7845         Call `elmo-nntp-send-mode-reader' when session opened.
7846
7847 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
7848
7849         * elmo-multi.el (elmo-multi-list-folder-unread): Fixed.
7850
7851 2000-10-13  OKAZAKI Tetsurou  <okazaki@be.to>
7852
7853         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Remove
7854         an invalid SPACE character ahead of `SEARCH' command.  Move
7855         a valid SPACE character following `SEARCH' from conditional
7856         `format' arguments to control-strings.
7857
7858 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
7859
7860         * elmo2.el (elmo-call-func-on-markable-msgs): Return t if marking
7861         was succeeded.
7862
7863         * elmo-util.el (elmo-folder-get-spec): Enclose with save-match-data.
7864
7865 2000-10-12  Yuuichi Teranishi  <teranisi@gohome.org>
7866
7867         * elmo-localdir.el (elmo-localdir-list-folders-subr): Bind
7868         `w32-get-true-file-link-count' as t.
7869
7870         * elmo-imap4.el (elmo-imap4-read): Abolished.
7871         (Renamed to `elmo-read' and moved to elmo-util.el)
7872         All other related portions are changed.
7873
7874         * elmo-util.el (elmo-read): New function.
7875         (elmo-condition-parse-search-value): Use it.
7876
7877 2000-10-11  Yuuichi Teranishi  <teranisi@gohome.org>
7878
7879         * elmo2.el (elmo-quit): Don't use `elmo-nntp-flush-connection'.
7880
7881         * elmo-nntp.el (elmo-nntp-session): Define.
7882         (elmo-nntp-setting): Abolished.
7883         All other related portions are changed.
7884         (elmo-nntp-get-server-command): Changed argument.
7885         (elmo-nntp-set-server-command): Ditto.
7886         (elmo-nntp-xover-p): Ditto.
7887         (elmo-nntp-set-xover): Ditto.
7888         (elmo-nntp-listgroup-p): Ditto.
7889         (elmo-nntp-set-listgroup): Ditto.
7890         (elmo-nntp-list-active-p): Ditto.
7891         (elmo-nntp-set-list-active): Ditto.
7892         (elmo-nntp-xhdr-p): Ditto.
7893         (elmo-nntp-set-xhdr): Ditto.
7894         (elmo-nntp-flush-connection): Abolished.
7895         (elmo-nntp-get-connection): Abolished.
7896         (elmo-nntp-get-session): New function.
7897         (elmo-network-initialize-session): Defined.
7898         (elmo-network-authenticate-session): Ditto.
7899         (elmo-nntp-send-mode-reader): Changed argument.
7900         (elmo-nntp-send-command): Changed argument.
7901         All other related portions are changed.
7902         (elmo-nntp-read-response): Ditto.
7903         (elmo-nntp-read-raw-response): Ditto.
7904         (elmo-nntp-read-contents): Ditto.
7905         (elmo-nntp-read-body): Ditto.
7906         (elmo-nntp-goto-folder): Abolished.
7907         (elmo-nntp-select-group): New function.
7908         All other related portions are changed.
7909         (This function substitutes `elmo-nntp-goto-folder')
7910         (elmo-nntp-msgdb-create-by-header): Rewrite.
7911         (elmo-nntp-get-overview): Eliminated.
7912         (elmo-nntp-get-message): Ditto.
7913         (elmo-nntp-open-connection) Abolished.
7914         (elmo-nntp-read-msg): Rewrite.
7915         (elmo-nntp-post): Ditto.
7916         (elmo-nntp-send-data): Abolished.
7917         (elmo-nntp-send-buffer): New function.
7918         (elmo-nntp-send-data-line): Define as inline function.
7919         (elmo-nntp-get-folders-info-prepare): Use session as key.
7920         (elmo-nntp-groups-read-response): Changed argument.
7921         (elmo-nntp-retrieve-headers): Ditto.
7922         (elmo-nntp-msgdb-create-message): Ditto.
7923
7924         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Fixed problem
7925         when searching by 'since' or 'before'.
7926
7927 2000-10-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7928
7929         * elmo-version.el (toplevel): Use product-version-as-string for set
7930         verstion-string, if defined.
7931
7932 2000-10-11  OKAZAKI Tetsurou  <okazaki@be.to>
7933
7934         * elmo-util.el: Doc fixes.
7935
7936 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7937
7938         * elmo-archive.el (toplevel): Use product-provide.
7939         * elmo-cache.el (toplevel): Ditto.
7940         * elmo-database.el (toplevel): Ditto.
7941         * elmo-date.el (toplevel): Ditto.
7942         * elmo-dop.el (toplevel): Ditto.
7943         * elmo-filter.el (toplevel): Ditto.
7944         * elmo-imap4.el (toplevel): Ditto.
7945         * elmo-internal.el (toplevel): Ditto.
7946         * elmo-localdir.el (toplevel): Ditto.
7947         * elmo-localnews.el (toplevel): Ditto.
7948         * elmo-maildir.el (toplevel): Ditto.
7949         * elmo-msgdb.el (toplevel): Ditto.
7950         * elmo-multi.el (toplevel): Ditto.
7951         * elmo-net.el (toplevel): Ditto.
7952         * elmo-nntp.el (toplevel): Ditto.
7953         * elmo-pipe.el (toplevel): Ditto.
7954         * elmo-pop3.el (toplevel): Ditto.
7955         * elmo-util.el (toplevel): Ditto.
7956         * elmo-vars.el (toplevel): Ditto.
7957         * elmo2.el (toplevel): Ditto.
7958         * mmelmo-1.el (toplevel): Ditto.
7959         * mmelmo-2.el (toplevel): Ditto.
7960         * mmelmo-imap4-1.el (toplevel): Ditto.
7961         * mmelmo-imap4-2.el (toplevel): Ditto.
7962         * mmelmo-imap4.el (toplevel): Ditto.
7963         * mmelmo.el (toplevel): Ditto.
7964
7965 2000-10-10  Kenichi OKADA  <okada@opaopa.org>
7966
7967         * elmo-dop.el (elmo-dop-flush-pending-append-operations): Add no-see.
7968         (elmo-dop-call-func-on-msgs): Don't delete appends from msgs.
7969
7970 2000-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
7971
7972         * elmo-multi.el (elmo-multi-split-mark-alist): Copy and sort alist
7973         before splitting.
7974         (elmo-multi-split-number-alist): Ditto.
7975
7976 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
7977
7978         * elmo-version.el: New file.  Use product.el.
7979         * elmo2.el: Add (require 'elmo-version).
7980         * elmo-vars.el (elmo-appname, elmo-version): Move to
7981         elmo-version.el
7982
7983 2000-10-09  Yuuichi Teranishi  <teranisi@gohome.org>
7984
7985         * elmo2.el (elmo-copy-msgs): Set `spec' as 1st argument for
7986         `elmo-msgdb-expand-path'.
7987         (elmo-msgdb-load): Ditto.
7988         Abolished 2nd argument. If 1st argument is not string, treat as spec.
7989         (elmo-generic-list-folder-unread): Rewrite.
7990         (elmo-generic-list-folder-important): Changed argument.
7991         (elmo-list-folder-unread): Ditto.
7992         (elmo-list-folder-important): Ditto.
7993         (elmo-folder-diff): Rewrite.
7994         (elmo-generic-folder-diff): New function.
7995         (elmo-multi-get-number-alist-list): Abolished
7996         (Renamed to elmo-multi-split-number-alist and moved to elmo-multi.el)
7997         (elmo-multi-folder-diff): Moved to elmo-multi.el
7998         (toplevel): Removed autoload setting of `elmo-multi-folder-diff'.
7999
8000         * elmo-pop3.el (elmo-pop3-list-folder): Set `spec' as 1st argument for
8001         `elmo-msgdb-expand-path'.
8002         (elmo-pop3-msgdb-create-as-numlist): Ditto.
8003         (elmo-pop3-read-msg): Ditto.
8004         (elmo-pop3-delete-msgs): Ditto.
8005         (elmo-pop3-folder-diff): New alias.
8006
8007         * elmo-pipe.el (elmo-pipe-list-folder): Set `spec' as 1st argument for
8008         `elmo-msgdb-expand-path'.
8009         (elmo-pipe-list-folder-unread): Changed arguments.
8010         (elmo-pipe-list-folder-important): Ditto.
8011         (elmo-pipe-folder-diff): New alias.
8012
8013         * elmo-nntp.el (elmo-nntp-list-folder): Set `spec' as 1st argument for
8014         `elmo-msgdb-expand-path'.
8015         (elmo-nntp-max-of-folder): Ditto.
8016         (elmo-nntp-msgdb-create): Ditto.
8017         (elmo-nntp-delete-msgs): Ditto.
8018         (elmo-nntp-folder-diff): New alias.
8019
8020         * elmo-multi.el (elmo-multi-folder-diff): New function.
8021         (elmo-multi-split-mark-alist): Ditto.
8022         (elmo-multi-split-number-alist): Ditto.
8023         (elmo-multi-mark-alist-list): Abolished (Renamed to
8024         elmo-multi-split-mark-alist).
8025         (elmo-multi-list-folder-unread): Rewrite.
8026         (elmo-multi-list-folder-important): Ditto.
8027         (elmo-multi-list-folder): Set `spec' as 1st argument for
8028         `elmo-msgdb-expand-path'.
8029         (elmo-multi-sync-number-alist): Use `elmo-multi-split-number-alist'
8030         instead of `elmo-multi-get-number-alist-list'.
8031
8032         * elmo-msgdb.el (elmo-msgdb-expand-path): Abolished 2nd argument.
8033         If 1st argument is not string, treat as spec.
8034         (elmo-list-folder-by-location): Set `spec' as 1st argument for
8035         `elmo-msgdb-expand-path'.
8036         (elmo-msgdb-flist-load): Ditto.
8037         (elmo-msgdb-flist-save): Ditto.
8038         (elmo-msgdb-delete-path): Ditto.
8039         (elmo-msgdb-rename-path): Ditto.
8040
8041         * elmo-maildir.el (elmo-maildir-set-mark-msgs):
8042         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8043         (elmo-maildir-delete-mark-msgs): Ditto.
8044         (elmo-maildir-msgdb-create): Ditto.
8045         (elmo-maildir-read-msg): Ditto.
8046         (elmo-maildir-delete-msgs): Ditto.
8047         (elmo-maildir-list-folder-subr): Ditto.
8048         (elmo-maildir-search): Ditto.
8049         (elmo-maildir-get-msg-filename): Ditto.
8050         (elmo-maildir-pack-number): Ditto.
8051         (elmo-maildir-folder-diff): New alias.
8052
8053         * elmo-localnews.el (elmo-localnews-folder-diff): New alias.
8054
8055         * elmo-localdir.el (elmo-localdir-list-folder-subr):
8056         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8057         (elmo-localdir-folder-diff): New alias.
8058
8059         * elmo-internal.el (elmo-internal-list-folder-subr):
8060         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8061         (elmo-internal-list-folder-by-location): Ditto.
8062         (elmo-internal-msgdb-create): Ditto.
8063         (elmo-internal-delete-msgs): Ditto.
8064         (elmo-internal-read-msg): Ditto.
8065         (elmo-internal-folder-diff): New alias.
8066
8067         * elmo-imap4.el (elmo-imap4-folder-diff): New function.
8068         (elmo-imap4-list-folder): Set `spec' as 1st argument for
8069         `elmo-msgdb-expand-path'.
8070         (elmo-imap4-list-folder-unread): Changed arguments.
8071         (elmo-imap4-list-folder-important): Ditto.
8072
8073         * elmo-filter.el (elmo-filter-list-folder-unread): Changed arguments.
8074         (elmo-filter-list-folder-important): Ditto.
8075         (elmo-filter-folder-diff): New function.
8076
8077         * elmo-dop.el (elmo-dop-folder-exists-p): Check elmo directory first.
8078
8079         * elmo-cache.el (elmo-cache-list-folder):
8080         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8081         (elmo-cache-copy-msgs): Ditto.
8082         (elmo-cache-folder-diff): New alias.
8083
8084         * elmo-archive.el (elmo-archive-list-folder-subr):
8085         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
8086         (elmo-archive-get-archive-name): Ditto.
8087         (elmo-archive-create-file): Ditto.
8088         (elmo-archive-append-msg): Ditto.
8089         (elmo-archive-copy-msgs): Ditto.
8090         (elmo-archive-copy-msgs-froms): Ditto.
8091         (elmo-archive-get-msg-filename): Ditto.
8092         (elmo-archive-folder-diff): New alias.
8093
8094 2000-10-06   Daiki Ueno  <ueno@unixuser.org>
8095
8096         * elmo-vars.el (elmo-imap4-stream-type-alist): New variable.
8097         (elmo-pop3-stream-type-alist): New variable.
8098         (elmo-nntp-stream-type-alist): New variable.
8099
8100         * elmo-util.el (elmo-buffer-exists-p): Rewrite as function.
8101         (elmo-kill-buffer): Ditto.
8102         (elmo-get-network-stream-type): Add 2nd argument `stream-type-alist'.
8103         (elmo-network-get-spec): Add 5th argument `stream-type-alist'.
8104         (elmo-nntp-get-spec): Take into account `elmo-nntp-stream-type-alist'.
8105         (elmo-pop3-get-spec): Take into account `elmo-pop3-stream-type-alist'.
8106         (elmo-imap4-get-spec): Take into account
8107         `elmo-imap4-stream-type-alist'.
8108
8109 2000-10-06  Kenichi OKADA  <okada@opaopa.org>
8110
8111         * elmo-nntp.el (elmo-nntp-list-folders): Fix for `-/'
8112         (elmo-nntp-list-folders-get-cache): Ditto.
8113
8114 2000-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
8115
8116         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added space
8117         character before 'uid'.
8118
8119 2000-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
8120
8121         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Don't save location data.
8122
8123         * elmo-nntp.el (elmo-nntp-max-of-folder): Fixed.
8124
8125         * elmo-util.el (elmo-number-set-member): New function.
8126         (elmo-number-set-append-list): Ditto.
8127         (elmo-number-set-append): Ditto.
8128
8129         * elmo-msgdb.el (elmo-msgdb-killed-message-p):
8130         Use `elmo-number-set-member'.
8131         (elmo-living-messages): Ditto.
8132         (elmo-msgdb-set-as-killed): Use `elmo-number-set-append'.
8133         (elmo-msgdb-append-to-killed-list): Use `elmo-number-set-append-list'.
8134
8135         * elmo-imap4.el (elmo-imap4-folder-exists-p): Rewrite.
8136         (elmo-imap4-add-to-cont-list): Abolished.
8137         (elmo-imap4-make-number-set-list): Use `elmo-number-set-append'
8138         instead of elmo-imap4-add-to-cont-list.
8139
8140         * elmo2.el (elmo-msgdb-search): Moved from elmo-msgdb.el.
8141         (toplevel): Removed autoload setting for `elmo-imap4-get-connection'.
8142
8143         * elmo-msgdb.el (elmo-msgdb-search): Moved to elmo2.el.
8144
8145 2000-10-03  Hiroya Murata      <lapis-lazuli@pop06.odn.ne.jp>
8146
8147         * elmo-util.el (elmo-condition-parse-search-value):
8148         Fixed date parsing.
8149
8150 2000-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
8151
8152         * elmo-util.el (elmo-condition-find-key-internal): New function.
8153         (elmo-condition-find-key): Ditto.
8154
8155         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): New function.
8156         (elmo-msgdb-search-internal): Ditto.
8157         (elmo-msgdb-search): Ditto.
8158
8159 2000-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
8160
8161         * elmo-util.el (elmo-cross-device-link-error-p): Abolished.
8162         (elmo-copy-file): Uncheck error condition for `add-name-to-file'.
8163
8164         * elmo-nntp.el (elmo-nntp-search-primitive): Decode header field.
8165         (elmo-nntp-search-primitive): Fixed problem when condition is
8166         'unmatch'.
8167
8168         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed.
8169
8170         * elmo-nntp.el (elmo-nntp-default-use-xhdr): New variable.
8171         (elmo-nntp-xhdr-p): New macro.
8172         (elmo-nntp-set-xhdr): Ditto.
8173         (elmo-nntp-parse-xhdr-response): New function.
8174         (elmo-nntp-retrieve-field): Ditto.
8175         (elmo-nntp-search-primitive): Ditto.
8176         (elmo-nntp-search): Implemented.
8177
8178         * elmo-date.el (elmo-date-make-sortable-string): New macro.
8179
8180         * elmo-archive.el (elmo-archive-search): Set all number list to
8181         `elmo-archive-field-condition-match'
8182
8183         * elmo-localdir.el (elmo-localdir-search): Likewise.
8184
8185         * elmo-maildir.el (elmo-maildir-search): Likewise.
8186
8187 2000-10-01  OKAZAKI Tetsurou  <okazaki@be.to>
8188
8189         * elmo-msgdb.el (elmo-living-messages): New function.
8190         * elmo-archive.el (elmo-archive-list-folder-subr): Use it.
8191         * elmo-cache.el (elmo-cache-list-folder): Ditto.
8192         * elmo-dop.el (elmo-dop-list-folder): Ditto.
8193         * elmo-imap4.el (elmo-imap4-list-folder): Ditto.
8194         * elmo-internal.el (elmo-internal-list-folder-subr): Ditto.
8195         * elmo-localdir.el (elmo-localdir-list-folder-subr): Ditto.
8196         * elmo-maildir.el (elmo-maildir-list-folder-subr): Ditto.
8197         * elmo-multi.el (elmo-multi-list-folder): Ditto.
8198         * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
8199         * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
8200         * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
8201
8202 2000-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
8203
8204         * elmo-maildir.el (elmo-maildir-pack-number): Implemented.
8205
8206         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.
8207
8208         * elmo2.el (elmo-pack-number): Added 'maildir as allowd type.
8209
8210         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
8211         arguments for `SEARCH' command.
8212         (elmo-imap4-parse-string): Set `POS' argument for char-after.
8213         All other related portions are changed.
8214
8215         * elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.
8216
8217         * elmo2.el (elmo-generic-list-folder-unread): Rewrite.
8218         (elmo-list-folder-unread): Rewrite.
8219         (elmo-list-folder-important): Ditto.
8220
8221         * elmo-util.el (elmo-filter-get-spec): Rewrite.
8222         (elmo-condition-parse-error): New inline function.
8223         (elmo-read-search-condition): New function.
8224         (elmo-read-search-condition-internal): Ditto.
8225         (elmo-parse-search-condition): Rewrite.
8226         (elmo-condition-parse): New function.
8227         (elmo-condition-parse-or-expr): Ditto.
8228         (elmo-condition-parse-and-expr): Ditto.
8229         (elmo-condition-parse-primitive): Ditto.
8230         (elmo-condition-parse-search-value): Ditto.
8231         (elmo-buffer-field-primitive-condition-match): Ditto.
8232         (elmo-buffer-field-condition-match): Rewrite.
8233         (elmo-file-field-condition-match): Ditto.
8234
8235         * elmo-msgdb.el (elmo-msgdb-expand-path): Use
8236         `elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.
8237
8238         * elmo-internal.el (elmo-internal-search): Set `number' and
8239         `number-list' argument of `elmo-file-field-condition-match'.
8240
8241         * elmo-maildir.el (elmo-maildir-search): Ditto.
8242
8243         * elmo-imap4.el (elmo-imap4-list-folder-unread): Use
8244         `msgdb' as argument instead of `mark-alist'.
8245         (elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
8246         `overview'.
8247
8248         * elmo-multi.el: Likewise.
8249
8250         * elmo-pipe.el: Likewise.
8251
8252         * elmo-imap4.el (elmo-imap4-search-internal-primitive): New function.
8253         (elmo-imap4-search-internal): Rewrite.
8254         (elmo-imap4-search): Ditto.
8255
8256         * elmo-filter.el (elmo-filter-list-folder): Rewrite.
8257         (elmo-filter-list-folder-unread): Ditto.
8258         (elmo-filter-list-folder-important): Ditto.
8259         (elmo-filter-search): Rewrite.
8260
8261         * elmo-cache.el (elmo-cache-search-all): Set `number' and
8262         `number-list' argument of `elmo-file-field-condition-match'.
8263         (elmo-cache-search): Ditto.
8264
8265         * elmo-localdir.el: Likewise.
8266
8267         * elmo-archive.el (elmo-archive-field-condition-match): Added argument
8268         number-list and pass it to `elmo-buffer-field-condition-match'.
8269         (elmo-archive-field-condition-match): Pass `number-list' to
8270         `elmo-archive-field-condition-match'
8271
8272 2000-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
8273
8274         * elmo-nntp.el (elmo-nntp-list-folder): Set current group after
8275         `listgroup'.
8276
8277         * elmo2.el (elmo-folder-diff-async-callback): New variable.
8278         (elmo-folder-diff-async-callback-data): Ditto.
8279         (elmo-folder-diff-async): New function.
8280
8281         * elmo-net.el (elmo-network-session-name-prefix): New variable.
8282         (elmo-network-session-cache-key): Use it as a prefix of the session
8283         name.
8284         (elmo-network-open-session): Ditto.
8285
8286         * elmo-imap4.el (elmo-imap4-status-callback): New local variable.
8287         (elmo-imap4-status-callback-data): Ditto.
8288         (elmo-imap4-server-diff-async-callback): New variable.
8289         (elmo-imap4-server-diff-async-callback-data): Ditto.
8290         (elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
8291         `elmo-imap4-status-callback-data'.
8292         (elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
8293         `elmo-imap4-status-callback-data' as nil.
8294         (elmo-imap4-server-diff): Ditto.
8295         (elmo-imap4-server-diff-async-callback-1): New function.
8296         (elmo-imap4-server-diff-async): Ditto.
8297         (elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.
8298
8299 2000-09-24  OKAZAKI Tetsurou  <okazaki@be.to>
8300
8301         * elmo-util.el (elmo-list-delete): Doc fix.
8302         (elmo-delete-lists): Abolish.
8303         * elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
8304         instead of `elmo-delete-lists'.
8305
8306 2000-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
8307
8308         * elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
8309         before `sort'.
8310
8311 2000-09-18  OKAZAKI Tetsurou  <okazaki@be.to>
8312
8313         * elmo-imap4.el (elmo-imap4-literal-1): Renamed from
8314         `elmo-imap4-literal-subr'.
8315         (elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
8316         (elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.
8317
8318 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
8319
8320         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
8321         (elmo-archive-list-folder): Fix.
8322         (elmo-archive-max-of-folder): Fix.
8323
8324 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
8325
8326         * elmo-localdir.el (elmo-localdir-copy-msgs): Use
8327          `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
8328         (elmo-localdir-append-msg): Ditto.
8329         (elmo-localdir-list-folder): Fix for `nonsort'.
8330         (elmo-localdir-list-folder-subr): Fix for `killed'.
8331         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
8332         (elmo-maildir-list-folder-subr): Ditto.
8333         * elmo-archive.el (elmo-archive-list-folder): Ditto.
8334         (elmo-archive-list-folder-subr): Ditto.
8335         * elmo-internal.el (elmo-internal-list-folder): Ditto.
8336         (elmo-internal-list-folder-subr): Ditto.
8337
8338 2000-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
8339
8340         * elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.
8341
8342 2000-09-12  Katsumi Yamaoka    <yamaoka@jpl.org>
8343
8344         * elmo-util.el (elmo-delete-plugged): Fix parenthesis.
8345
8346 2000-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
8347
8348         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
8349         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
8350
8351         * elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
8352         before greeting.
8353         (elmo-imap4-read-part): Use "body.peek" to fetch part.
8354         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
8355
8356 2000-09-06  Yuuichi Teranishi  <teranisi@gohome.org>
8357
8358         * mmelmo-imap4-2.el (mime-entity-children): Defined.
8359
8360         * elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
8361         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
8362         before STORE command.
8363
8364 2000-09-04  Yuuichi Teranishi  <teranisi@gohome.org>
8365
8366         * elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.
8367
8368         * elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
8369         (elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
8370         of `response'.
8371         (elmo-imap4-list-folders): Removed unused local variable.
8372         (elmo-network-initialize-session): Ditto.
8373         (elmo-imap4-delete-msg-by-id): Ditto.
8374         (elmo-imap4-parse-fetch): Ditto.
8375         (elmo-imap4-copy-msgs): Ditto.
8376         Use `dst-spec' instead of `dst-folder'.
8377         (elmo-network-authenticate-session): Check authenticate type `plain'.
8378
8379 2000-09-01  Yuuichi Teranishi  <teranisi@gohome.org>
8380
8381         * elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
8382         garbage checking.
8383         (elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
8384         `elmo-imap4-response-value'.
8385         (elmo-imap4-parse-response): Return value of `EXPUNGE'.
8386
8387 2000-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
8388
8389         * elmo-imap4.el (elmo-imap4-send-command):
8390         Cause elmo-imap4-bye-error when current response is BYE.
8391         (elmo-imap4-arrival-filter): Changed greeting response value.
8392
8393         * elmo2.el (elmo-imap4-bye-error): Define.
8394
8395         * elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
8396         (elmo-imap4-server-diff): Ditto.
8397         (elmo-imap4-response-bye-p): New macro.
8398         (elmo-imap4-response-error-text): Get text from BYE response.
8399         (elmo-imap4-read-response): Return if BYE response.
8400         (elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
8401         (elmo-imap4-folder-exists-p): Ditto.
8402         (elmo-imap4-commit): Do nothing when different mailbox is selected.
8403         (elmo-imap4-parse-bye): New function.
8404         (elmo-imap4-parse-response): Remove needless let.
8405         Call `elmo-imap4-parse-bye'.
8406
8407 2000-08-30  Yuuichi Teranishi  <teranisi@gohome.org>
8408
8409         * elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
8410         the mailbox does not exist.
8411         (elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.
8412
8413 2000-08-30  OKAZAKI Tetsurou  <okazaki@be.to>
8414
8415         * elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.
8416
8417 2000-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
8418
8419         * elmo-vars.el (elmo-search-mime-charset): Abolished.
8420
8421         * elmo-pop3.el (elmo-pop3-local-variables): New variable.
8422         (elmo-network-initialize-session-buffer): Defined.
8423
8424         * mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
8425         Abolished.
8426         (mmelmo-imap4-get-mime-entity): Rewrite.
8427
8428         * elmo2.el (elmo-error): Capitalize error message.
8429
8430         * elmo-net.el (elmo-network-initialize-session-buffer): New method.
8431         (elmo-network-session-buffer): New macro.
8432         (elmo-network-open-session): Use it.
8433
8434         * elmo-imap4.el: Rewrite.
8435
8436 2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
8437
8438         * elmo-nntp.el (Toplevel): Require 'elmo-net.
8439
8440 2000-08-27   Daiki Ueno  <ueno@unixuser.org>
8441
8442         * elmo-imap4.el (elmo-imap4-make-address): Abolish.
8443         (elmo-imap4-msgdb-create): Don't request ENVELOPE.
8444         (elmo-imap4-create-msgdb-from-overview-string): Use
8445         `elmo-msgdb-create-overview-from-buffer'.
8446
8447 2000-08-26   Daiki Ueno  <ueno@unixuser.org>
8448
8449         * elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
8450         (elmo-imap4-default-hierarchy-delimiter): New variable.
8451         (elmo-imap4-list-folders): Use it.
8452
8453 2000-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
8454
8455         * elmo-net.el (elmo-network-open-session): Add user and
8456         stream-type for process-buffer name.
8457
8458         * elmo-pop3.el (elmo-network-initialize-session): Call
8459         buffer-disable-undo.
8460
8461         * elmo-imap4.el (elmo-network-initialize-session):
8462         Set current-buffer as an argument for `buffer-disable-undo'.
8463
8464         * elmo-pop3.el (elmo-network-close-session): Don't use
8465         `process-live-p'.
8466
8467         * elmo-vars.el (elmo-default-pop3-authenticate-type):
8468         Set default as 'user.
8469
8470         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.
8471
8472         * elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
8473         and `elmo-imap4-flush-connection'.
8474
8475         * elmo-util.el (toplevel): Removed workaround for timezone y2k.
8476         (elmo-pop3-get-spec): Assume auth as symbol.
8477         (elmo-open-network-stream): Moved to `elmo-net'.
8478
8479         * elmo-pop3.el (toplevel): Require 'elmo-net.
8480         Define `sasl-cram-md5' to silence byte compilier.
8481         (elmo-pop3-connection-cache) Abolished.
8482         (elmo-pop3-authenticator-alist) New variable.
8483         (elmo-pop3-session): Define.
8484         (elmo-pop3-connection-get-process): Abolished.
8485         (elmo-pop3-connection-get-buffer): Ditto.
8486         (elmo-pop3-close-connection): Ditto.
8487         (elmo-pop3-flush-connection): Ditto.
8488         (elmo-pop3-get-connection): Ditto.
8489         (elmo-pop3-get-session): New function.
8490         (Replacement for `elmo-pop3-get-connection').
8491         All other related modules are changed.
8492         (elmo-network-close-session): Define.
8493         (elmo-pop3-send-command): Abolished argument `buffer'.
8494         All other related modules are changed.
8495         (elmo-pop3-read-response): Likewise.
8496         (elmo-pop3-open-connection): Abolished.
8497         (elmo-pop3-auth-user): New function.
8498         (elmo-pop3-auth-apop): Ditto.
8499         (elmo-pop3-auth-cram-md5): Ditto.
8500         (elmo-pop3-auth-scram-md5): Ditto.
8501         (elmo-pop3-auth-digest-md5): Ditto.
8502         (elmo-network-initialize-session): Define.
8503         (elmo-network-authenticate-session): Ditto.
8504         (elmo-network-setup-session): Ditto.
8505
8506         * elmo-imap4.el (toplevel): Require 'elmo-net.
8507         (elmo-imap4-session): Define.
8508         (elmo-imap4-connection-cache): Abolished.
8509         (elmo-imap4-password-key): Ditto.
8510         (elmo-imap4-flush-connection): Ditto.
8511         (elmo-imap4-get-connection): Ditto.
8512         All other related modules are changed.
8513         (elmo-imap4-get-session): New function
8514         (Replacement for `elmo-imap4-get-connection').
8515         (elmo-imap4-read-response): Abolished argument `buffer'.
8516         All other related modules are changed.
8517         (elmo-imap4-send-command): Likewise.
8518         (elmo-imap4-select-folder): Abolished.
8519         All other related modules are changed.
8520         (elmo-imap4-select-mailbox): New function.
8521         (Replacement for `elmo-imap4-select-folder').
8522         (elmo-imap4-auth-login): Simplify.
8523         (Assume current buffer as process buffer)
8524         (elmo-imap4-auth-cram-md5): Ditto.
8525         (elmo-imap4-auth-digest-md5): Ditto.
8526         (elmo-imap4-login): Ditto.
8527         (elmo-imap4-open-connection): Abolished.
8528         (elmo-imap4-open-connection-1): Abolished.
8529         (elmo-network-initialize-sessoin): Define.
8530         (elmo-network-authenticate-session): Ditto.
8531         (elmo-network-setup-session): Ditto.
8532
8533         * elmo-net.el: New module.
8534
8535 2000-08-22   Daiki Ueno  <ueno@unixuser.org>
8536
8537         * elmo-util.el (elmo-define-error): New function.
8538
8539         * elmo2.el (elmo-error): Define.
8540         (elmo-open-error): Define.
8541         (elmo-authenticate-error): Define.
8542
8543         * elmo-imap4.el (elmo-imap4-error): Abolish.
8544         (elmo-imap4-error-type): Abolish.
8545         (elmo-imap4-error-process): Abolish.
8546         (elmo-imap4-error-message): Abolish
8547         (elmo-imap4-list-folders): Don't quote lambda.
8548         (elmo-imap4-create-msgdb-from-overview-string): Ditto.
8549         (elmo-imap4-parse-namespace): Ditto.
8550         (elmo-imap4-open-connection): Rewrite.
8551         (elmo-imap4-open-connection-1): Simplified (authenticate only).
8552         (elmo-imap4-get-connection): Abolish local variable `result'.
8553
8554 2000-08-21  Kaoru Takahashi  <kaoru@kaisei.org>
8555
8556         * elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
8557         wrong-type-argument error when auth is nil.
8558
8559 2000-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
8560
8561         * elmo-vars.el (elmo-default-imap4-stream-type): New variable.
8562         (elmo-default-nntp-stream-type): Ditto.
8563         (elmo-default-pop3-stream-type): Ditto.
8564         (elmo-network-stream-type-alist): Ditto.
8565         (elmo-default-imap4-ssl): Abolished.
8566         (elmo-default-nntp-ssl): Ditto.
8567         (elmo-default-pop3-ssl): Ditto.
8568
8569         * elmo-util.el: (toplevel): Removed needless requires.
8570         (elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
8571         (elmo-open-network-stream): Open network stream according to
8572         the value of `elmo-network-stream-type-alist'.
8573         (elmo-get-network-stream-type): New function.
8574         (elmo-network-stream-type-spec-string): New macro.
8575         (elmo-network-stream-type-symbol): Ditto.
8576         (elmo-network-stream-type-function): Ditto.
8577
8578         * elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
8579         network-stream-type. All other related portions are changed.
8580         (elmo-pop3-open-connection): Ditto.
8581
8582         * elmo-nntp.el (elmo-nntp-setting): Follow up changes for
8583         network-stream-type. All other related portions are changed.
8584
8585         * elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
8586         network-stream-type.All other related portions are changed.
8587         (elmo-imap4-error): New macro.
8588         (elmo-imap4-error-type): Ditto.
8589         (elmo-imap4-error-process): Ditto.
8590         (elmo-imap4-error-message): Ditto.
8591         (elmo-imap4-auth-login): Use `elmo-imap4-error'.
8592         (elmo-imap4-auth-cram-md5): Ditto.
8593         (elmo-imap4-auth-digest-md5): Ditto.
8594         (elmo-imap4-login): Ditto.
8595         (elmo-imap4-open-connection): Remove password entry if authentication
8596         was in vain.
8597         (elmo-imap4-user-at-host): Abolished.
8598         (elmo-imap4-password-key): New buffer local variable.
8599         (elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
8600         using protocol, port, auth and stream-type.
8601
8602         * elmo-dop.el (elmo-dop-list-folder): Use killed list.
8603
8604 2000-08-13   Daiki Ueno  <ueno@unixuser.org>
8605
8606         * elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.
8607
8608         * elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.
8609
8610         * elmo-imap4.el (elmo-imap4-user-at-host): New variable.
8611         (elmo-imap4-authenticator-alist): New variable.
8612         (elmo-imap4-open-connection-1): Rename from
8613         elmo-imap4-open-connection.
8614         (elmo-imap4-open-connection): Abolish 5th argument `passphrase';
8615         only wraps elmo-imap4-open-connection-1.
8616         (elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
8617         user-at-host.
8618         (elmo-imap4-auth-login): New function.
8619         (elmo-imap4-auth-cram-md5): New function.
8620         (elmo-imap4-auth-digest-md5): New function.
8621         (elmo-imap4-login): New function.
8622
8623 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
8624
8625         * elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
8626         function `error'.
8627
8628 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
8629
8630         * elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.
8631
8632 2000-08-08  Yuuichi Teranishi  <teranisi@gohome.org>
8633
8634         * elmo2.el (elmo-move-msgs): Set value of `unseen'.
8635
8636 2000-08-06  OKAZAKI Tetsurou  <okazaki@be.to>
8637
8638         * elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
8639         for server responses, quote `*' regardless of where it appears.
8640
8641 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
8642
8643         * elmo-maildir.el (elmo-maildir-commit): New alias.
8644
8645 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
8646
8647         * elmo-util.el (elmo-display-progress):
8648                 Use `progress-feedback-with-label'.
8649
8650 2000-08-02  OKAZAKI Tetsurou  <okazaki@be.to>
8651
8652         * elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
8653         (elmo-imap4-non-atom-char-regex): Ditto.
8654         (elmo-imap4-non-text-char-regex): Ditto.
8655         (elmo-imap4-literal-threshold): Ditto.
8656         (elmo-imap4-atom-p): New function.
8657         (elmo-imap4-quotable-p): Ditto.
8658         (elmo-imap4-nil): Ditto.
8659         (elmo-imap4-atom): Ditto.
8660         (elmo-imap4-quoted): Ditto.
8661         (elmo-imap4-literal-subr): Ditto.
8662         (elmo-imap4-literal): Ditto.
8663         (elmo-imap4-buffer-literal): Ditto.
8664         (elmo-imap4-string-subr): Ditto.
8665         (elmo-imap4-string): Ditto.
8666         (elmo-imap4-buffer-string): Ditto.
8667         (elmo-imap4-astring-subr): Ditto.
8668         (elmo-imap4-astring): Ditto.
8669         (elmo-imap4-buffer-astring): Ditto.
8670         (elmo-imap4-nstring): Ditto.
8671         (elmo-imap4-buffer-nstring): Ditto.
8672         (elmo-imap4-mailbox): New alias.
8673         (elmo-imap4-field-body): Ditto.
8674         (elmo-imap4-userid): Ditto.
8675         (elmo-imap4-password): Ditto.
8676         (elmo-imap4-format-quoted): New function.
8677         (elmo-imap4-send-command): Rewritten.  Accept a list of command
8678         arguments and handle "atom", "quoted" and "literal" string here.
8679         (elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
8680         `elmo-imap4-send-command'.
8681         (elmo-imap4-folder-exists-p): Likewise.
8682         (elmo-imap4-create-folder): Likewise.
8683         (elmo-imap4-delete-folder): Likewise.
8684         (elmo-imap4-rename-folder): Likewise.
8685         (elmo-imap4-max-of-folder): Likewise.
8686         (elmo-imap4-check-validity): Likewise.
8687         (elmo-imap4-sync-validity): Likewise.
8688         (elmo-imap4-server-diff): Likewise.
8689         (elmo-imap4-select-folder): Likewise.
8690         (elmo-imap4-copy-msgs): Likewise.
8691         (elmo-imap4-search-internal): Use `elmo-imap4-astring'.
8692         (elmo-imap4-mark-set-on-msgs): Likewise.
8693         (elmo-imap4-read-part): Likewise.
8694         (elmo-imap4-read-msg): Likewise.
8695         (elmo-imap4-open-connection): Use `elmo-imap4-userid' and
8696         `elmo-imap4-password' for `elmo-imap4-send-command'.
8697         (elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
8698         (elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
8699         `elmo-imap4-buffer-literal'.
8700         (elmo-imap4-append-msg): Likewise.
8701
8702         * elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
8703         `delete' for removing dead connection from the connection cache.
8704         Move deletion of the process buffer after that.
8705         (elmo-imap4-list): Change `defsubst' to `defun'.
8706         (elmo-imap4-commit): Make error message verbose.
8707         (elmo-imap4-search): Ditto.
8708         (elmo-imap4-list): Ditto.
8709         (elmo-imap4-select-folder): Ditto.
8710         (elmo-imap4-copy-msgs): Ditto.
8711         (elmo-imap4-delete-msg-by-id): Ditto.
8712         (elmo-imap4-append-msg-by-id): Ditto.
8713         (elmo-imap4-append-msg): Ditto.
8714
8715 2000-07-26  Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
8716
8717         * elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
8718         when dired is used on XEmacs.
8719
8720 2000-07-25  OKAZAKI Tetsurou  <okazaki@be.to>
8721
8722         * elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
8723         instead of `append'.
8724         (elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
8725         `elmo-plugged-p' directly.
8726         * elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
8727         of `elmo-plugged-p' directly.
8728
8729         * elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
8730         Eliminate unused variable.  Use `memq' for checking a process status.
8731         Use `cons' instead of `append' for updating the connection cache.
8732         * elmo-nntp.el (elmo-nntp-get-connection): Likewise.
8733         * elmo-imap4.el (elmo-imap4-get-connection): Likewise.
8734
8735 2000-07-22  OKAZAKI Tetsurou  <okazaki@be.to>
8736
8737         * elmo-imap4.el (elmo-imap4-read-bytes): Advance
8738         `elmo-imap4-read-point' exactly.
8739
8740         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
8741         the local variable `folder' to `mailbox'.
8742         Rename the argument `fld' to `folder'.
8743
8744 2000-07-20  Kenichi OKADA  <okada@opaopa.org>
8745
8746         * elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
8747         * elmo-imap4.el (elmo-imap4-commit): Ditto.
8748
8749 2000-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
8750
8751         * elmo-pop3.el (elmo-pop3-use-uidl): New variable.
8752         (elmo-pop3-number-uidl-hash): New buffer-local variable.
8753         (elmo-pop3-uidl-number-hash): Ditto.
8754         (elmo-pop3-size-hash): Ditto.
8755         (elmo-pop3-uidl-done): Ditto.
8756         (elmo-pop3-list-done): Ditto.
8757         (elmo-pop3-connection-get-process): New defmacro.
8758         (elmo-pop3-connection-get-buffer): Ditto.
8759         (elmo-pop3-close-connection): Delete buffer and process.
8760         (elmo-pop3-flush-connection): Don't delete buffer and process.
8761         (elmo-pop3-get-connection): Added optional argument `if-exists'.
8762         Setup UIDL and size hash.
8763         (elmo-pop3-send-command-no-erase): Deleted
8764         (elmo-pop3-send-command): Added optional argument `no-erase'.
8765         (elmo-pop3-parse-uidl-response): New function.
8766         (elmo-pop3-parse-list-response): Set size hash.
8767         (elmo-pop3-list-location): New function.
8768         (elmo-pop3-list-by-uidl-subr): Ditto.
8769         (elmo-pop3-list-by-list): Ditto.
8770         (elmo-pop3-list-folder): Call `elmo-pop3-commit'.
8771         Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
8772         (elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
8773         Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
8774         (elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
8775         Use uidl.
8776         (elmo-pop3-uidl-to-number): New function.
8777         (elmo-pop3-number-to-uidl): Ditto.
8778         (elmo-pop3-number-to-size): Ditto.
8779         (elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
8780         Set number by use of uidl.
8781         (elmo-pop3-msgdb-create-message): Likewise.
8782         Set size, loc-alist in msgdb.
8783         (elmo-pop3-read-msg): Set number by use of uidl.
8784         Added optional argument `msgdb'.
8785         (elmo-pop3-delete-msg): Ditto.
8786         (elmo-pop3-delete-msgs): Added optional argument `msgdb'.
8787         (elmo-pop3-commit): Close connection.
8788
8789         * elmo-pipe.el (elmo-pipe-max-of-folder):
8790         Bind `elmo-pop3-use-uidl' as nil.
8791         (elmo-pipe-drain): Ditto.
8792         Call `elmo-commit'.
8793
8794         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
8795         (elmo-msgdb-overview-entity-set-size): New defsubst.
8796
8797 2000-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
8798
8799         * elmo-vars.el (elmo-use-killed-list): New variable
8800         (Renamed from `elmo-nntp-use-killed-list').
8801         (elmo-nntp-use-killed-list): Eliminated.
8802
8803         * elmo-msgdb.el (elmo-msgdb-expand-path):
8804         Changed expanding msgdb path for elmo-multi.
8805
8806         * elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
8807         elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
8808         elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
8809         elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
8810         elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
8811         mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
8812         (toplevel): Deleted time-stamp line.
8813
8814         * elmo2.el (elmo-clear-killed ): Defined as function
8815         (Abolished defining as a backend function).
8816         All other related modules are changed.
8817
8818 2000-07-14  Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>
8819
8820         * elmo-cache.el (elmo-cache-clear-killed): Fixed.
8821
8822 2000-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
8823
8824         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.
8825
8826 2000-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
8827
8828         * elmo-pop3.el (elmo-pop3-clear-killed): New alias.
8829
8830 2000-07-11  Yuuichi Teranishi  <teranisi@gohome.org>
8831
8832         * elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
8833         asynchronous folder check.
8834
8835         * elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.
8836
8837         * elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
8838         `elmo-nntp-use-killed-list'.
8839         (elmo-nntp-list-folder): Use killed list.
8840         (elmo-nntp-max-of-folder): Ditto.
8841         (elmo-nntp-msgdb-create): Set killed list.
8842
8843         * elmo-vars.el (elmo-nntp-use-killed-list): New user option.
8844
8845         * elmo2.el (elmo-clear-killed): New backend function.
8846         All other related modules are changed.
8847
8848 2000-07-07  OKAZAKI Tetsurou  <okazaki@be.to>
8849
8850         * elmo-util.el (elmo-imap4-spec-folder): Use
8851         `elmo-imap4-spec-mailbox'; Mark as obsolete.
8852         All callers changed.
8853
8854 2000-06-22  Yuuichi Teranishi  <teranisi@gohome.org>
8855
8856         * mmelmo-2.el (initialize-instance):
8857         Use `mime-buffer-entity-buffer-internal' instead of
8858         `mime-entity-buffer'.
8859
8860         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
8861         (mime-entity-body): Implemented.
8862         (mime-goto-header-start-point): Deleted.
8863         (mime-goto-body-end-point): Ditto.
8864         (mime-entity-point-min): Ditto.
8865         (mime-entity-point-max): Ditto.
8866         (mime-entity-children): Ditto.
8867         (mime-insert-header): Use `mime-buffer-entity-buffer-internal'
8868         instead of `mime-entity-buffer'.
8869         (mime-entity-header-buffer): Ditto.
8870         (mime-entity-body-buffer): Ditto.
8871         (mime-write-entity-content): Ditto.
8872
8873         * pldap.el (ldap-static-if): New macro.
8874         (toplevel): Use it instead of `static-if'.
8875
8876 2000-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
8877
8878         * pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
8879         included in `attrs' argument.
8880
8881 2000-06-16  Yuuichi Teranishi  <teranisi@gohome.org>
8882
8883         * elmo-util.el (elmo-get-passwd): Use old backquote style.
8884
8885         * pldap.el (ldap-ldif-safe-char-regexp): New constant.
8886         (ldap-ldif-safe-init-char-regexp): Ditto.
8887         (ldap-ldif-safe-string-regexp): Ditto.
8888         (ldap/ldif-safe-string-p): New macro.
8889         (ldap/ldif-insert-field): Ditto.
8890         (ldap-modify): Use it.
8891         (ldap-add): Ditto.
8892         (ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
8893         (ldap-decode-attribute): Decode only when `attr' is consp.
8894         (ldap-delete): Bind `ret'.
8895         (toplevel): Require 'cl at compile time.
8896         Removed (require 'poe) and (require 'std11).
8897         (pldap-version): Eliminated.
8898         (ldap-search-basic): Removed auth and dn binding.
8899         (ldap-ldif-field-name-regexp): New constant.
8900         (ldap-ldif-field-head-regexp): Ditto.
8901         (ldap-ldif-next-field-head-regexp): Ditto.
8902         (ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
8903         (ldap/field-end): New function.
8904         (ldap/field-body): Use it.
8905         (ldap/collect-field): Ditto.
8906         (ldap-search-basic): Use `ldap/field-body'.
8907
8908 2000-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
8909
8910         * pldap.el (ldap-default-attribute-encoder): New user option.
8911         (ldap/field-body): Decode base64 string.
8912         (ldap/collect-field): Ditto.
8913         (ldap-encode-attribute): New function.
8914         (ldap-add-entries): Use it.
8915         (ldap-modify-entries): Ditto.
8916         (ldap-search-entries): Enclosed decoding function with
8917         `with-temp-buffer' and set as unibyte.
8918         (ldap-search-basic): Set process buffer as unibyte.
8919
8920         * elmo-util.el (elmo-folder-identical-system-p):
8921         Eliminated name space checking.
8922
8923         * pldap.el: New module.
8924         toplevel: Changed condition to detect built-in ldap feature.
8925         (ldap-delete): Enclosed call-process with `with-temp-buffer'.
8926         (ldap-add): Added error handling.
8927         (ldap-modify): Ditto.
8928         (ldap-delete): Ditto.
8929
8930 2000-06-03  OKAZAKI Tetsurou  <okazaki@be.to>
8931
8932         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
8933         Initialize local variables with `let'.  Inline a temporary
8934         variable for the progress percentage.  Sort `setq' to reduce
8935         function call in the while-loop.
8936
8937         * mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
8938         into the conditional branch.
8939
8940 2000-05-30  OKAZAKI Tetsurou  <okazaki@be.to>
8941
8942         * elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
8943         Move a conditional out of the while-loop.
8944
8945 2000-05-27  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8946
8947         * elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
8948         elmo-msgdb-overview-get-entity-by-number.
8949         (elmo-msgdb-overview-get-entity-by-number): Don't use catch and
8950         throw.
8951
8952 2000-05-26  OKAZAKI Tetsurou  <okazaki@be.to>
8953
8954         * elmo-localdir.el (elmo-localdir-pack-number): Renamed
8955         the local variable for a packed number self descriptively.
8956
8957 2000-05-21  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8958
8959         * elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
8960         * elmo-localdir.el (elmo-localdir-pack-number): Use
8961         `elmo-msgdb-overview-get-entity' instead of
8962         `elmo-msgdb-overview-get-entity-by-number'.
8963         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
8964         (elmo-msgdb-search-overview-entity): Removed.
8965         (elmo-msgdb-overview-get-entity): Change argument. Get overview entity
8966         by message-id or number.
8967         (elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
8968         instead of `elmo-msgdb-overview-get-entity-by-number'.
8969
8970 2000-05-20  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8971
8972         * elmo-vars.el (elmo-use-overview-hashtb): New variable. If
8973         non-nil, use hash table for overview.
8974         (elmo-hash-maximum-size): New variable.
8975         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
8976         (elmo-msgdb-make-overview-hashtb): New function.
8977         (elmo-msgdb-clear-overview-hashtb): New function.
8978         (elmo-clear-hash-val): New macro.
8979         All other related modules are changed.
8980
8981 2000-05-18  Yuuichi Teranishi  <teranisi@gohome.org>
8982
8983         * elmo2.el (elmo-move-msgs): If there's other message with
8984         same message-id, don't use cache.
8985
8986 2000-05-18  Nishimoto Masaki <nishimoto@gaju.org>
8987
8988         * elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
8989         number is already packed.
8990
8991 2000-05-15  OKAZAKI Tetsurou  <okazaki@be.to>
8992
8993         * elmo-vars.el: Doc fixes. Trim trailing whitespace.
8994
8995 2000-05-12  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
8996
8997         * elmo-vars.el (elmo-display-progress-threshold): New variable.
8998         All other related modules are changed.
8999
9000 2000-05-11  Yuuichi Teranishi  <teranisi@gohome.org>
9001
9002         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
9003         of refiling failure on Maildir.
9004
9005 2000-05-10  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
9006
9007         * elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
9008         decoded mime-charset with cache.
9009         (elmo-msgdb-overview-entity-get-from): Ditto.
9010         (elmo-msgdb-overview-entity-get-subject): Ditto.
9011         * elmo-vars.el (elmo-use-decoded-cache): New variable.
9012
9013 2000-05-10  Kenichi OKADA  <okada@opaopa.org>
9014
9015         * elmo-utils.el (elmo-get-passwd): Set timeout of password.
9016         (elmo-remove-passwd): Fill password with 0 before erase.
9017         * elmo-vars.el (elmo-passwd-life-time): New variable.
9018
9019 \f
9020 2000-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
9021
9022         * elmo-cache.el (elmo-buffer-cache-add):
9023         Set message cache buffer as unibyte.
9024
9025 2000-05-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
9026
9027         * elmo-archive.el (elmo-archive-list-folders): Fix base-folder
9028         become nil.
9029
9030 2000-04-28  Yuuichi Teranishi  <teranisi@gohome.org>
9031
9032         * elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
9033         when display is finished.
9034         (elmo-nntp-msgdb-create): Ditto.
9035         (elmo-nntp-groups-read-response): Ditto.
9036         (elmo-nntp-retrieve-headers): Ditto.
9037         (elmo-nntp-msgdb-create-message): Ditto.
9038         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
9039         (elmo-pop3-msgdb-create-message): Ditto.
9040
9041 2000-04-24  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
9042
9043         * elmo-maildir.el (elmo-maildir-msgdb-create):
9044         Use `elmo-msgdb-sort-by-date'.
9045
9046 2000-04-20  Yuuichi Teranishi  <teranisi@gohome.org>
9047
9048         * elmo2.el (elmo-read-msg-no-cache):
9049         Eliminated arguments after `outbuf'.
9050         Don't use cache even if it exists.
9051         (elmo-read-msg): Don't pass arguments after `outbuf' to
9052         `elmo-read-msg-no-cache'.
9053
9054 2000-04-15  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
9055
9056         * elmo-archive.el (elmo-archive-list-folders):
9057         Use `file-name-directory' if base folder does not exist.
9058
9059 2000-04-14  Nishimoto Masaki <nishimoto@gaju.org>
9060
9061         * elmo-archive.el (elmo-archive-list-folders): Don't use
9062         `file-name-directory'.
9063
9064 2000-04-07  Yuuichi Teranishi  <teranisi@gohome.org>
9065
9066         * elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
9067         If `force' is non-nil, try flushing all operation queues.
9068
9069 2000-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
9070
9071         * elmo-pop3.el (elmo-pop3-open-connection): Enclose with
9072         as-binary-process.
9073
9074 2000-03-29  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
9075
9076         * elmo-util.el (elmo-display-progress): Fixed.
9077
9078 2000-03-27  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
9079
9080         * elmo-util.el (elmo-display-progress): New function.
9081         All other related modules are changed.