* elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
[elisp/wanderlust.git] / elmo / ChangeLog
1 2000-10-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
2
3         * elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
4         elmo-update-number): Remove last period in "...done." message.
5         * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
6         Ditto.
7         * elmo-cache.el (elmo-cache-expire-by-size,
8         elmo-cache-get-sorted-cache-file-list,
9         elmo-cache-msgdb-create-as-numlist): Ditto.
10         * elmo-dop.el (elmo-dop-save-pending-messages,
11         (elmo-dop-flush-pending-append-operations): Ditto.
12         * elmo-imap4.el (elmo-imap4-msgdb-create): Ditto.
13         * elmo-internal.el (elmo-internal-msgdb-create): Ditto.
14         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist,
15         (elmo-localdir-pack-number): Ditto.
16         * elmo-maildir.el (elmo-maildir-msgdb-create): Ditto.
17         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Ditto.
18         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer,
19         mime-write-entity-content): Ditto.
20         * pldap.el (ldap-search-basic): Ditto.
21
22 2000-10-18  Yuuichi Teranishi  <teranisi@gohome.org>
23
24         * elmo-version.el (elmo-version): Up to 2.3.91.
25
26         * elmo-filter.el (elmo-filter-folder-diff): Use target folder's diff
27         Only when filter is 'last'.
28
29         * elmo-util.el (elmo-condition-atom-regexp): New constant.
30         (elmo-condition-parse-search-value): Use it.
31         (elmo-read-search-condition-internal): Quote value only when
32         it is not an atom.
33
34 2000-10-18  Kenichi OKADA  <okada@opaopa.org>
35
36         * elmo2.el (elmo-generic-folder-diff): Fix.
37
38 2000-10-17  Kenichi OKADA  <okada@opaopa.org>
39
40         * elmo-msgdb.el (elmo-msgdb-killed-list-length): New function.
41         * elmo-localdir.el (elmo-localdir-list-folder-subr): Fix.
42         * elmo-maildir.el (elmo-maildir-list-folder-subr): Fix.
43         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
44         * elmo-internal.el (elmo-internal-list-folder-subr): Fix.
45         * elmo-imap4.el (elmo-imap4-max-of-folder): Fix.
46
47 2000-10-17  Akihiro MOTOKI <motoki@da.jp.nec.com>
48
49         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Search by
50         extra-fields.
51
52 2000-10-17  Yuuichi Teranishi  <teranisi@gohome.org>
53
54         * elmo-version.el (elmo-version): Up to 2.3.90.
55
56         * elmo-imap4.el (elmo-imap4-list-folder-unread): Check plugged status.
57         (elmo-imap4-list-folder-important): Ditto.
58
59 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
60
61         * elmo-nntp.el (elmo-network-initialize-session): Fix.
62
63 2000-10-16  Kenichi OKADA  <okada@opaopa.org>
64
65         * elmo-nntp.el (elmo-nntp-read-msg): Don't error.
66
67 2000-10-15  Kenichi OKADA  <okada@opaopa.org>
68
69         * elmo-nntp.el (elmo-network-initialize-session):
70         Add starttls negotiation.
71
72 2000-10-15  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
73
74         * elmo-nntp.el (elmo-network-initialize-session): Read greeting
75         response.
76         (elmo-network-setup-session): Define.
77         Call `elmo-nntp-send-mode-reader' when session opened.
78
79 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
80
81         * elmo-multi.el (elmo-multi-list-folder-unread): Fixed.
82
83 2000-10-13  OKAZAKI Tetsurou  <okazaki@be.to>
84
85         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Remove
86         an invalid SPACE character ahead of `SEARCH' command.  Move
87         a valid SPACE character following `SEARCH' from conditional
88         `format' arguments to control-strings.
89
90 2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>
91
92         * elmo2.el (elmo-call-func-on-markable-msgs): Return t if marking
93         was succeeded.
94
95         * elmo-util.el (elmo-folder-get-spec): Enclose with save-match-data.
96
97 2000-10-12  Yuuichi Teranishi  <teranisi@gohome.org>
98
99         * elmo-localdir.el (elmo-localdir-list-folders-subr): Bind
100         `w32-get-true-file-link-count' as t.
101
102         * elmo-imap4.el (elmo-imap4-read): Abolished.
103         (Renamed to `elmo-read' and moved to elmo-util.el)
104         All other related portions are changed.
105
106         * elmo-util.el (elmo-read): New function.
107         (elmo-condition-parse-search-value): Use it.
108
109 2000-10-11  Yuuichi Teranishi  <teranisi@gohome.org>
110
111         * elmo2.el (elmo-quit): Don't use `elmo-nntp-flush-connection'.
112
113         * elmo-nntp.el (elmo-nntp-session): Define.
114         (elmo-nntp-setting): Abolished.
115         All other related portions are changed.
116         (elmo-nntp-get-server-command): Changed argument.
117         (elmo-nntp-set-server-command): Ditto.
118         (elmo-nntp-xover-p): Ditto.
119         (elmo-nntp-set-xover): Ditto.
120         (elmo-nntp-listgroup-p): Ditto.
121         (elmo-nntp-set-listgroup): Ditto.
122         (elmo-nntp-list-active-p): Ditto.
123         (elmo-nntp-set-list-active): Ditto.
124         (elmo-nntp-xhdr-p): Ditto.
125         (elmo-nntp-set-xhdr): Ditto.
126         (elmo-nntp-flush-connection): Abolished.
127         (elmo-nntp-get-connection): Abolished.
128         (elmo-nntp-get-session): New function.
129         (elmo-network-initialize-session): Defined.
130         (elmo-network-authenticate-session): Ditto.
131         (elmo-nntp-send-mode-reader): Changed argument.
132         (elmo-nntp-send-command): Changed argument.
133         All other related portions are changed.
134         (elmo-nntp-read-response): Ditto.
135         (elmo-nntp-read-raw-response): Ditto.
136         (elmo-nntp-read-contents): Ditto.
137         (elmo-nntp-read-body): Ditto.
138         (elmo-nntp-goto-folder): Abolished.
139         (elmo-nntp-select-group): New function.
140         All other related portions are changed.
141         (This function substitutes `elmo-nntp-goto-folder')
142         (elmo-nntp-msgdb-create-by-header): Rewrite.
143         (elmo-nntp-get-overview): Eliminated.
144         (elmo-nntp-get-message): Ditto.
145         (elmo-nntp-open-connection) Abolished.
146         (elmo-nntp-read-msg): Rewrite.
147         (elmo-nntp-post): Ditto.
148         (elmo-nntp-send-data): Abolished.
149         (elmo-nntp-send-buffer): New function.
150         (elmo-nntp-send-data-line): Define as inline function.
151         (elmo-nntp-get-folders-info-prepare): Use session as key.
152         (elmo-nntp-groups-read-response): Changed argument.
153         (elmo-nntp-retrieve-headers): Ditto.
154         (elmo-nntp-msgdb-create-message): Ditto.
155
156         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Fixed problem
157         when searching by 'since' or 'before'.
158
159 2000-10-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
160
161         * elmo-version.el (toplevel): Use product-version-as-string for set
162         verstion-string, if defined.
163
164 2000-10-11  OKAZAKI Tetsurou  <okazaki@be.to>
165
166         * elmo-util.el: Doc fixes.
167
168 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
169
170         * elmo-archive.el (toplevel): Use product-provide.
171         * elmo-cache.el (toplevel): Ditto.
172         * elmo-database.el (toplevel): Ditto.
173         * elmo-date.el (toplevel): Ditto.
174         * elmo-dop.el (toplevel): Ditto.
175         * elmo-filter.el (toplevel): Ditto.
176         * elmo-imap4.el (toplevel): Ditto.
177         * elmo-internal.el (toplevel): Ditto.
178         * elmo-localdir.el (toplevel): Ditto.
179         * elmo-localnews.el (toplevel): Ditto.
180         * elmo-maildir.el (toplevel): Ditto.
181         * elmo-msgdb.el (toplevel): Ditto.
182         * elmo-multi.el (toplevel): Ditto.
183         * elmo-net.el (toplevel): Ditto.
184         * elmo-nntp.el (toplevel): Ditto.
185         * elmo-pipe.el (toplevel): Ditto.
186         * elmo-pop3.el (toplevel): Ditto.
187         * elmo-util.el (toplevel): Ditto.
188         * elmo-vars.el (toplevel): Ditto.
189         * elmo2.el (toplevel): Ditto.
190         * mmelmo-1.el (toplevel): Ditto.
191         * mmelmo-2.el (toplevel): Ditto.
192         * mmelmo-imap4-1.el (toplevel): Ditto.
193         * mmelmo-imap4-2.el (toplevel): Ditto.
194         * mmelmo-imap4.el (toplevel): Ditto.
195         * mmelmo.el (toplevel): Ditto.
196
197 2000-10-10  Kenichi OKADA  <okada@opaopa.org>
198
199         * elmo-dop.el (elmo-dop-flush-pending-append-operations): Add no-see.
200         (elmo-dop-call-func-on-msgs): Don't delete appends from msgs.
201
202 2000-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
203
204         * elmo-multi.el (elmo-multi-split-mark-alist): Copy and sort alist
205         before splitting.
206         (elmo-multi-split-number-alist): Ditto.
207
208 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
209
210         * elmo-version.el: New file.  Use product.el.
211         * elmo2.el: Add (require 'elmo-version).
212         * elmo-vars.el (elmo-appname, elmo-version): Move to
213         elmo-version.el
214
215 2000-10-09  Yuuichi Teranishi  <teranisi@gohome.org>
216
217         * elmo2.el (elmo-copy-msgs): Set `spec' as 1st argument for
218         `elmo-msgdb-expand-path'.
219         (elmo-msgdb-load): Ditto.
220         Abolished 2nd argument. If 1st argument is not string, treat as spec.
221         (elmo-generic-list-folder-unread): Rewrite.
222         (elmo-generic-list-folder-important): Changed argument.
223         (elmo-list-folder-unread): Ditto.
224         (elmo-list-folder-important): Ditto.
225         (elmo-folder-diff): Rewrite.
226         (elmo-generic-folder-diff): New function.
227         (elmo-multi-get-number-alist-list): Abolished
228         (Renamed to elmo-multi-split-number-alist and moved to elmo-multi.el)
229         (elmo-multi-folder-diff): Moved to elmo-multi.el
230         (toplevel): Removed autoload setting of `elmo-multi-folder-diff'.
231
232         * elmo-pop3.el (elmo-pop3-list-folder): Set `spec' as 1st argument for
233         `elmo-msgdb-expand-path'.
234         (elmo-pop3-msgdb-create-as-numlist): Ditto.
235         (elmo-pop3-read-msg): Ditto.
236         (elmo-pop3-delete-msgs): Ditto.
237         (elmo-pop3-folder-diff): New alias.
238
239         * elmo-pipe.el (elmo-pipe-list-folder): Set `spec' as 1st argument for
240         `elmo-msgdb-expand-path'.
241         (elmo-pipe-list-folder-unread): Changed arguments.
242         (elmo-pipe-list-folder-important): Ditto.
243         (elmo-pipe-folder-diff): New alias.
244
245         * elmo-nntp.el (elmo-nntp-list-folder): Set `spec' as 1st argument for
246         `elmo-msgdb-expand-path'.
247         (elmo-nntp-max-of-folder): Ditto.
248         (elmo-nntp-msgdb-create): Ditto.
249         (elmo-nntp-delete-msgs): Ditto.
250         (elmo-nntp-folder-diff): New alias.
251
252         * elmo-multi.el (elmo-multi-folder-diff): New function.
253         (elmo-multi-split-mark-alist): Ditto.
254         (elmo-multi-split-number-alist): Ditto.
255         (elmo-multi-mark-alist-list): Abolished (Renamed to
256         elmo-multi-split-mark-alist).
257         (elmo-multi-list-folder-unread): Rewrite.
258         (elmo-multi-list-folder-important): Ditto.
259         (elmo-multi-list-folder): Set `spec' as 1st argument for
260         `elmo-msgdb-expand-path'.
261         (elmo-multi-sync-number-alist): Use `elmo-multi-split-number-alist'
262         instead of `elmo-multi-get-number-alist-list'.
263
264         * elmo-msgdb.el (elmo-msgdb-expand-path): Abolished 2nd argument.
265         If 1st argument is not string, treat as spec.
266         (elmo-list-folder-by-location): Set `spec' as 1st argument for
267         `elmo-msgdb-expand-path'.
268         (elmo-msgdb-flist-load): Ditto.
269         (elmo-msgdb-flist-save): Ditto.
270         (elmo-msgdb-delete-path): Ditto.
271         (elmo-msgdb-rename-path): Ditto.
272
273         * elmo-maildir.el (elmo-maildir-set-mark-msgs):
274         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
275         (elmo-maildir-delete-mark-msgs): Ditto.
276         (elmo-maildir-msgdb-create): Ditto.
277         (elmo-maildir-read-msg): Ditto.
278         (elmo-maildir-delete-msgs): Ditto.
279         (elmo-maildir-list-folder-subr): Ditto.
280         (elmo-maildir-search): Ditto.
281         (elmo-maildir-get-msg-filename): Ditto.
282         (elmo-maildir-pack-number): Ditto.
283         (elmo-maildir-folder-diff): New alias.
284
285         * elmo-localnews.el (elmo-localnews-folder-diff): New alias.
286
287         * elmo-localdir.el (elmo-localdir-list-folder-subr):
288         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
289         (elmo-localdir-folder-diff): New alias.
290
291         * elmo-internal.el (elmo-internal-list-folder-subr):
292         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
293         (elmo-internal-list-folder-by-location): Ditto.
294         (elmo-internal-msgdb-create): Ditto.
295         (elmo-internal-delete-msgs): Ditto.
296         (elmo-internal-read-msg): Ditto.
297         (elmo-internal-folder-diff): New alias.
298
299         * elmo-imap4.el (elmo-imap4-folder-diff): New function.
300         (elmo-imap4-list-folder): Set `spec' as 1st argument for
301         `elmo-msgdb-expand-path'.
302         (elmo-imap4-list-folder-unread): Changed arguments.
303         (elmo-imap4-list-folder-important): Ditto.
304
305         * elmo-filter.el (elmo-filter-list-folder-unread): Changed arguments.
306         (elmo-filter-list-folder-important): Ditto.
307         (elmo-filter-folder-diff): New function.
308
309         * elmo-dop.el (elmo-dop-folder-exists-p): Check elmo directory first.
310
311         * elmo-cache.el (elmo-cache-list-folder):
312         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
313         (elmo-cache-copy-msgs): Ditto.
314         (elmo-cache-folder-diff): New alias.
315
316         * elmo-archive.el (elmo-archive-list-folder-subr):
317         Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
318         (elmo-archive-get-archive-name): Ditto.
319         (elmo-archive-create-file): Ditto.
320         (elmo-archive-append-msg): Ditto.
321         (elmo-archive-copy-msgs): Ditto.
322         (elmo-archive-copy-msgs-froms): Ditto.
323         (elmo-archive-get-msg-filename): Ditto.
324         (elmo-archive-folder-diff): New alias.
325
326 2000-10-06   Daiki Ueno  <ueno@unixuser.org>
327
328         * elmo-vars.el (elmo-imap4-stream-type-alist): New variable.
329         (elmo-pop3-stream-type-alist): New variable.
330         (elmo-nntp-stream-type-alist): New variable.
331
332         * elmo-util.el (elmo-buffer-exists-p): Rewrite as function.
333         (elmo-kill-buffer): Ditto.
334         (elmo-get-network-stream-type): Add 2nd argument `stream-type-alist'.
335         (elmo-network-get-spec): Add 5th argument `stream-type-alist'.
336         (elmo-nntp-get-spec): Take into account `elmo-nntp-stream-type-alist'.
337         (elmo-pop3-get-spec): Take into account `elmo-pop3-stream-type-alist'.
338         (elmo-imap4-get-spec): Take into account
339         `elmo-imap4-stream-type-alist'.
340
341 2000-10-06  Kenichi OKADA  <okada@opaopa.org>
342
343         * elmo-nntp.el (elmo-nntp-list-folders): Fix for `-/'
344         (elmo-nntp-list-folders-get-cache): Ditto.
345
346 2000-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
347
348         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added space
349         character before 'uid'.
350
351 2000-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
352
353         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Don't save location data.
354
355         * elmo-nntp.el (elmo-nntp-max-of-folder): Fixed.
356
357         * elmo-util.el (elmo-number-set-member): New function.
358         (elmo-number-set-append-list): Ditto.
359         (elmo-number-set-append): Ditto.
360
361         * elmo-msgdb.el (elmo-msgdb-killed-message-p):
362         Use `elmo-number-set-member'.
363         (elmo-living-messages): Ditto.
364         (elmo-msgdb-set-as-killed): Use `elmo-number-set-append'.
365         (elmo-msgdb-append-to-killed-list): Use `elmo-number-set-append-list'.
366
367         * elmo-imap4.el (elmo-imap4-folder-exists-p): Rewrite.
368         (elmo-imap4-add-to-cont-list): Abolished.
369         (elmo-imap4-make-number-set-list): Use `elmo-number-set-append'
370         instead of elmo-imap4-add-to-cont-list.
371
372         * elmo2.el (elmo-msgdb-search): Moved from elmo-msgdb.el.
373         (toplevel): Removed autoload setting for `elmo-imap4-get-connection'.
374
375         * elmo-msgdb.el (elmo-msgdb-search): Moved to elmo2.el.
376
377 2000-10-03  Hiroya Murata      <lapis-lazuli@pop06.odn.ne.jp>
378
379         * elmo-util.el (elmo-condition-parse-search-value):
380         Fixed date parsing.
381
382 2000-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
383
384         * elmo-util.el (elmo-condition-find-key-internal): New function.
385         (elmo-condition-find-key): Ditto.
386
387         * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): New function.
388         (elmo-msgdb-search-internal): Ditto.
389         (elmo-msgdb-search): Ditto.
390
391 2000-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
392
393         * elmo-util.el (elmo-cross-device-link-error-p): Abolished.
394         (elmo-copy-file): Uncheck error condition for `add-name-to-file'.
395
396         * elmo-nntp.el (elmo-nntp-search-primitive): Decode header field.
397         (elmo-nntp-search-primitive): Fixed problem when condition is
398         'unmatch'.
399
400         * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed.
401
402         * elmo-nntp.el (elmo-nntp-default-use-xhdr): New variable.
403         (elmo-nntp-xhdr-p): New macro.
404         (elmo-nntp-set-xhdr): Ditto.
405         (elmo-nntp-parse-xhdr-response): New function.
406         (elmo-nntp-retrieve-field): Ditto.
407         (elmo-nntp-search-primitive): Ditto.
408         (elmo-nntp-search): Implemented.
409
410         * elmo-date.el (elmo-date-make-sortable-string): New macro.
411
412         * elmo-archive.el (elmo-archive-search): Set all number list to
413         `elmo-archive-field-condition-match'
414
415         * elmo-localdir.el (elmo-localdir-search): Likewise.
416
417         * elmo-maildir.el (elmo-maildir-search): Likewise.
418
419 2000-10-01  OKAZAKI Tetsurou  <okazaki@be.to>
420
421         * elmo-msgdb.el (elmo-living-messages): New function.
422         * elmo-archive.el (elmo-archive-list-folder-subr): Use it.
423         * elmo-cache.el (elmo-cache-list-folder): Ditto.
424         * elmo-dop.el (elmo-dop-list-folder): Ditto.
425         * elmo-imap4.el (elmo-imap4-list-folder): Ditto.
426         * elmo-internal.el (elmo-internal-list-folder-subr): Ditto.
427         * elmo-localdir.el (elmo-localdir-list-folder-subr): Ditto.
428         * elmo-maildir.el (elmo-maildir-list-folder-subr): Ditto.
429         * elmo-multi.el (elmo-multi-list-folder): Ditto.
430         * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
431         * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
432         * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
433
434 2000-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
435
436         * elmo-maildir.el (elmo-maildir-pack-number): Implemented.
437
438         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.
439
440         * elmo2.el (elmo-pack-number): Added 'maildir as allowd type.
441
442         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
443         arguments for `SEARCH' command.
444         (elmo-imap4-parse-string): Set `POS' argument for char-after.
445         All other related portions are changed.
446
447         * elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.
448
449         * elmo2.el (elmo-generic-list-folder-unread): Rewrite.
450         (elmo-list-folder-unread): Rewrite.
451         (elmo-list-folder-important): Ditto.
452
453         * elmo-util.el (elmo-filter-get-spec): Rewrite.
454         (elmo-condition-parse-error): New inline function.
455         (elmo-read-search-condition): New function.
456         (elmo-read-search-condition-internal): Ditto.
457         (elmo-parse-search-condition): Rewrite.
458         (elmo-condition-parse): New function.
459         (elmo-condition-parse-or-expr): Ditto.
460         (elmo-condition-parse-and-expr): Ditto.
461         (elmo-condition-parse-primitive): Ditto.
462         (elmo-condition-parse-search-value): Ditto.
463         (elmo-buffer-field-primitive-condition-match): Ditto.
464         (elmo-buffer-field-condition-match): Rewrite.
465         (elmo-file-field-condition-match): Ditto.
466
467         * elmo-msgdb.el (elmo-msgdb-expand-path): Use
468         `elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.
469
470         * elmo-internal.el (elmo-internal-search): Set `number' and
471         `number-list' argument of `elmo-file-field-condition-match'.
472
473         * elmo-maildir.el (elmo-maildir-search): Ditto.
474
475         * elmo-imap4.el (elmo-imap4-list-folder-unread): Use
476         `msgdb' as argument instead of `mark-alist'.
477         (elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
478         `overview'.
479
480         * elmo-multi.el: Likewise.
481
482         * elmo-pipe.el: Likewise.
483
484         * elmo-imap4.el (elmo-imap4-search-internal-primitive): New function.
485         (elmo-imap4-search-internal): Rewrite.
486         (elmo-imap4-search): Ditto.
487
488         * elmo-filter.el (elmo-filter-list-folder): Rewrite.
489         (elmo-filter-list-folder-unread): Ditto.
490         (elmo-filter-list-folder-important): Ditto.
491         (elmo-filter-search): Rewrite.
492
493         * elmo-cache.el (elmo-cache-search-all): Set `number' and
494         `number-list' argument of `elmo-file-field-condition-match'.
495         (elmo-cache-search): Ditto.
496
497         * elmo-localdir.el: Likewise.
498
499         * elmo-archive.el (elmo-archive-field-condition-match): Added argument
500         number-list and pass it to `elmo-buffer-field-condition-match'.
501         (elmo-archive-field-condition-match): Pass `number-list' to
502         `elmo-archive-field-condition-match'
503
504 2000-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
505
506         * elmo-nntp.el (elmo-nntp-list-folder): Set current group after
507         `listgroup'.
508
509         * elmo2.el (elmo-folder-diff-async-callback): New variable.
510         (elmo-folder-diff-async-callback-data): Ditto.
511         (elmo-folder-diff-async): New function.
512
513         * elmo-net.el (elmo-network-session-name-prefix): New variable.
514         (elmo-network-session-cache-key): Use it as a prefix of the session
515         name.
516         (elmo-network-open-session): Ditto.
517
518         * elmo-imap4.el (elmo-imap4-status-callback): New local variable.
519         (elmo-imap4-status-callback-data): Ditto.
520         (elmo-imap4-server-diff-async-callback): New variable.
521         (elmo-imap4-server-diff-async-callback-data): Ditto.
522         (elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
523         `elmo-imap4-status-callback-data'.
524         (elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
525         `elmo-imap4-status-callback-data' as nil.
526         (elmo-imap4-server-diff): Ditto.
527         (elmo-imap4-server-diff-async-callback-1): New function.
528         (elmo-imap4-server-diff-async): Ditto.
529         (elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.
530
531 2000-09-24  OKAZAKI Tetsurou  <okazaki@be.to>
532
533         * elmo-util.el (elmo-list-delete): Doc fix.
534         (elmo-delete-lists): Abolish.
535         * elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
536         instead of `elmo-delete-lists'.
537
538 2000-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
539
540         * elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
541         before `sort'.
542
543 2000-09-18  OKAZAKI Tetsurou  <okazaki@be.to>
544
545         * elmo-imap4.el (elmo-imap4-literal-1): Renamed from
546         `elmo-imap4-literal-subr'.
547         (elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
548         (elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.
549
550 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
551
552         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
553         (elmo-archive-list-folder): Fix.
554         (elmo-archive-max-of-folder): Fix.
555
556 2000-09-15  Kenichi OKADA  <okada@opaopa.org>
557
558         * elmo-localdir.el (elmo-localdir-copy-msgs): Use
559          `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
560         (elmo-localdir-append-msg): Ditto.
561         (elmo-localdir-list-folder): Fix for `nonsort'.
562         (elmo-localdir-list-folder-subr): Fix for `killed'.
563         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
564         (elmo-maildir-list-folder-subr): Ditto.
565         * elmo-archive.el (elmo-archive-list-folder): Ditto.
566         (elmo-archive-list-folder-subr): Ditto.
567         * elmo-internal.el (elmo-internal-list-folder): Ditto.
568         (elmo-internal-list-folder-subr): Ditto.
569
570 2000-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
571
572         * elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.
573
574 2000-09-12  Katsumi Yamaoka    <yamaoka@jpl.org>
575
576         * elmo-util.el (elmo-delete-plugged): Fix parenthesis.
577
578 2000-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
579
580         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
581         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
582
583         * elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
584         before greeting.
585         (elmo-imap4-read-part): Use "body.peek" to fetch part.
586         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
587
588 2000-09-06  Yuuichi Teranishi  <teranisi@gohome.org>
589
590         * mmelmo-imap4-2.el (mime-entity-children): Defined.
591
592         * elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
593         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
594         before STORE command.
595
596 2000-09-04  Yuuichi Teranishi  <teranisi@gohome.org>
597
598         * elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.
599
600         * elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
601         (elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
602         of `response'.
603         (elmo-imap4-list-folders): Removed unused local variable.
604         (elmo-network-initialize-session): Ditto.
605         (elmo-imap4-delete-msg-by-id): Ditto.
606         (elmo-imap4-parse-fetch): Ditto.
607         (elmo-imap4-copy-msgs): Ditto.
608         Use `dst-spec' instead of `dst-folder'.
609         (elmo-network-authenticate-session): Check authenticate type `plain'.
610
611 2000-09-01  Yuuichi Teranishi  <teranisi@gohome.org>
612
613         * elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
614         garbage checking.
615         (elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
616         `elmo-imap4-response-value'.
617         (elmo-imap4-parse-response): Return value of `EXPUNGE'.
618
619 2000-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
620
621         * elmo-imap4.el (elmo-imap4-send-command):
622         Cause elmo-imap4-bye-error when current response is BYE.
623         (elmo-imap4-arrival-filter): Changed greeting response value.
624
625         * elmo2.el (elmo-imap4-bye-error): Define.
626
627         * elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
628         (elmo-imap4-server-diff): Ditto.
629         (elmo-imap4-response-bye-p): New macro.
630         (elmo-imap4-response-error-text): Get text from BYE response.
631         (elmo-imap4-read-response): Return if BYE response.
632         (elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
633         (elmo-imap4-folder-exists-p): Ditto.
634         (elmo-imap4-commit): Do nothing when different mailbox is selected.
635         (elmo-imap4-parse-bye): New function.
636         (elmo-imap4-parse-response): Remove needless let.
637         Call `elmo-imap4-parse-bye'.
638
639 2000-08-30  Yuuichi Teranishi  <teranisi@gohome.org>
640
641         * elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
642         the mailbox does not exist.
643         (elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.
644
645 2000-08-30  OKAZAKI Tetsurou  <okazaki@be.to>
646
647         * elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.
648
649 2000-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
650
651         * elmo-vars.el (elmo-search-mime-charset): Abolished.
652
653         * elmo-pop3.el (elmo-pop3-local-variables): New variable.
654         (elmo-network-initialize-session-buffer): Defined.
655
656         * mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
657         Abolished.
658         (mmelmo-imap4-get-mime-entity): Rewrite.
659
660         * elmo2.el (elmo-error): Capitalize error message.
661
662         * elmo-net.el (elmo-network-initialize-session-buffer): New method.
663         (elmo-network-session-buffer): New macro.
664         (elmo-network-open-session): Use it.
665
666         * elmo-imap4.el: Rewrite.
667
668 2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
669
670         * elmo-nntp.el (Toplevel): Require 'elmo-net.
671
672 2000-08-27   Daiki Ueno  <ueno@unixuser.org>
673
674         * elmo-imap4.el (elmo-imap4-make-address): Abolish.
675         (elmo-imap4-msgdb-create): Don't request ENVELOPE.
676         (elmo-imap4-create-msgdb-from-overview-string): Use
677         `elmo-msgdb-create-overview-from-buffer'.
678
679 2000-08-26   Daiki Ueno  <ueno@unixuser.org>
680
681         * elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
682         (elmo-imap4-default-hierarchy-delimiter): New variable.
683         (elmo-imap4-list-folders): Use it.
684
685 2000-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
686
687         * elmo-net.el (elmo-network-open-session): Add user and
688         stream-type for process-buffer name.
689
690         * elmo-pop3.el (elmo-network-initialize-session): Call
691         buffer-disable-undo.
692
693         * elmo-imap4.el (elmo-network-initialize-session):
694         Set current-buffer as an argument for `buffer-disable-undo'.
695
696         * elmo-pop3.el (elmo-network-close-session): Don't use
697         `process-live-p'.
698
699         * elmo-vars.el (elmo-default-pop3-authenticate-type):
700         Set default as 'user.
701
702         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.
703
704         * elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
705         and `elmo-imap4-flush-connection'.
706
707         * elmo-util.el (toplevel): Removed workaround for timezone y2k.
708         (elmo-pop3-get-spec): Assume auth as symbol.
709         (elmo-open-network-stream): Moved to `elmo-net'.
710
711         * elmo-pop3.el (toplevel): Require 'elmo-net.
712         Define `sasl-cram-md5' to silence byte compilier.
713         (elmo-pop3-connection-cache) Abolished.
714         (elmo-pop3-authenticator-alist) New variable.
715         (elmo-pop3-session): Define.
716         (elmo-pop3-connection-get-process): Abolished.
717         (elmo-pop3-connection-get-buffer): Ditto.
718         (elmo-pop3-close-connection): Ditto.
719         (elmo-pop3-flush-connection): Ditto.
720         (elmo-pop3-get-connection): Ditto.
721         (elmo-pop3-get-session): New function.
722         (Replacement for `elmo-pop3-get-connection').
723         All other related modules are changed.
724         (elmo-network-close-session): Define.
725         (elmo-pop3-send-command): Abolished argument `buffer'.
726         All other related modules are changed.
727         (elmo-pop3-read-response): Likewise.
728         (elmo-pop3-open-connection): Abolished.
729         (elmo-pop3-auth-user): New function.
730         (elmo-pop3-auth-apop): Ditto.
731         (elmo-pop3-auth-cram-md5): Ditto.
732         (elmo-pop3-auth-scram-md5): Ditto.
733         (elmo-pop3-auth-digest-md5): Ditto.
734         (elmo-network-initialize-session): Define.
735         (elmo-network-authenticate-session): Ditto.
736         (elmo-network-setup-session): Ditto.
737
738         * elmo-imap4.el (toplevel): Require 'elmo-net.
739         (elmo-imap4-session): Define.
740         (elmo-imap4-connection-cache): Abolished.
741         (elmo-imap4-password-key): Ditto.
742         (elmo-imap4-flush-connection): Ditto.
743         (elmo-imap4-get-connection): Ditto.
744         All other related modules are changed.
745         (elmo-imap4-get-session): New function
746         (Replacement for `elmo-imap4-get-connection').
747         (elmo-imap4-read-response): Abolished argument `buffer'.
748         All other related modules are changed.
749         (elmo-imap4-send-command): Likewise.
750         (elmo-imap4-select-folder): Abolished.
751         All other related modules are changed.
752         (elmo-imap4-select-mailbox): New function.
753         (Replacement for `elmo-imap4-select-folder').
754         (elmo-imap4-auth-login): Simplify.
755         (Assume current buffer as process buffer)
756         (elmo-imap4-auth-cram-md5): Ditto.
757         (elmo-imap4-auth-digest-md5): Ditto.
758         (elmo-imap4-login): Ditto.
759         (elmo-imap4-open-connection): Abolished.
760         (elmo-imap4-open-connection-1): Abolished.
761         (elmo-network-initialize-sessoin): Define.
762         (elmo-network-authenticate-session): Ditto.
763         (elmo-network-setup-session): Ditto.
764
765         * elmo-net.el: New module.
766
767 2000-08-22   Daiki Ueno  <ueno@unixuser.org>
768
769         * elmo-util.el (elmo-define-error): New function.
770
771         * elmo2.el (elmo-error): Define.
772         (elmo-open-error): Define.
773         (elmo-authenticate-error): Define.
774
775         * elmo-imap4.el (elmo-imap4-error): Abolish.
776         (elmo-imap4-error-type): Abolish.
777         (elmo-imap4-error-process): Abolish.
778         (elmo-imap4-error-message): Abolish
779         (elmo-imap4-list-folders): Don't quote lambda.
780         (elmo-imap4-create-msgdb-from-overview-string): Ditto.
781         (elmo-imap4-parse-namespace): Ditto.
782         (elmo-imap4-open-connection): Rewrite.
783         (elmo-imap4-open-connection-1): Simplified (authenticate only).
784         (elmo-imap4-get-connection): Abolish local variable `result'.
785
786 2000-08-21  Kaoru Takahashi  <kaoru@kaisei.org>
787
788         * elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
789         wrong-type-argument error when auth is nil.
790
791 2000-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
792
793         * elmo-vars.el (elmo-default-imap4-stream-type): New variable.
794         (elmo-default-nntp-stream-type): Ditto.
795         (elmo-default-pop3-stream-type): Ditto.
796         (elmo-network-stream-type-alist): Ditto.
797         (elmo-default-imap4-ssl): Abolished.
798         (elmo-default-nntp-ssl): Ditto.
799         (elmo-default-pop3-ssl): Ditto.
800
801         * elmo-util.el: (toplevel): Removed needless requires.
802         (elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
803         (elmo-open-network-stream): Open network stream according to
804         the value of `elmo-network-stream-type-alist'.
805         (elmo-get-network-stream-type): New function.
806         (elmo-network-stream-type-spec-string): New macro.
807         (elmo-network-stream-type-symbol): Ditto.
808         (elmo-network-stream-type-function): Ditto.
809
810         * elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
811         network-stream-type. All other related portions are changed.
812         (elmo-pop3-open-connection): Ditto.
813
814         * elmo-nntp.el (elmo-nntp-setting): Follow up changes for
815         network-stream-type. All other related portions are changed.
816
817         * elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
818         network-stream-type.All other related portions are changed.
819         (elmo-imap4-error): New macro.
820         (elmo-imap4-error-type): Ditto.
821         (elmo-imap4-error-process): Ditto.
822         (elmo-imap4-error-message): Ditto.
823         (elmo-imap4-auth-login): Use `elmo-imap4-error'.
824         (elmo-imap4-auth-cram-md5): Ditto.
825         (elmo-imap4-auth-digest-md5): Ditto.
826         (elmo-imap4-login): Ditto.
827         (elmo-imap4-open-connection): Remove password entry if authentication
828         was in vain.
829         (elmo-imap4-user-at-host): Abolished.
830         (elmo-imap4-password-key): New buffer local variable.
831         (elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
832         using protocol, port, auth and stream-type.
833
834         * elmo-dop.el (elmo-dop-list-folder): Use killed list.
835
836 2000-08-13   Daiki Ueno  <ueno@unixuser.org>
837
838         * elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.
839
840         * elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.
841
842         * elmo-imap4.el (elmo-imap4-user-at-host): New variable.
843         (elmo-imap4-authenticator-alist): New variable.
844         (elmo-imap4-open-connection-1): Rename from
845         elmo-imap4-open-connection.
846         (elmo-imap4-open-connection): Abolish 5th argument `passphrase';
847         only wraps elmo-imap4-open-connection-1.
848         (elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
849         user-at-host.
850         (elmo-imap4-auth-login): New function.
851         (elmo-imap4-auth-cram-md5): New function.
852         (elmo-imap4-auth-digest-md5): New function.
853         (elmo-imap4-login): New function.
854
855 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
856
857         * elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
858         function `error'.
859
860 2000-08-12  Kenichi OKADA  <okada@opaopa.org>
861
862         * elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.
863
864 2000-08-08  Yuuichi Teranishi  <teranisi@gohome.org>
865
866         * elmo2.el (elmo-move-msgs): Set value of `unseen'.
867
868 2000-08-06  OKAZAKI Tetsurou  <okazaki@be.to>
869
870         * elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
871         for server responses, quote `*' regardless of where it appears.
872
873 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
874
875         * elmo-maildir.el (elmo-maildir-commit): New alias.
876
877 2000-08-03  Kenichi OKADA  <okada@opaopa.org>
878
879         * elmo-util.el (elmo-display-progress):
880                 Use `progress-feedback-with-label'.
881
882 2000-08-02  OKAZAKI Tetsurou  <okazaki@be.to>
883
884         * elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
885         (elmo-imap4-non-atom-char-regex): Ditto.
886         (elmo-imap4-non-text-char-regex): Ditto.
887         (elmo-imap4-literal-threshold): Ditto.
888         (elmo-imap4-atom-p): New function.
889         (elmo-imap4-quotable-p): Ditto.
890         (elmo-imap4-nil): Ditto.
891         (elmo-imap4-atom): Ditto.
892         (elmo-imap4-quoted): Ditto.
893         (elmo-imap4-literal-subr): Ditto.
894         (elmo-imap4-literal): Ditto.
895         (elmo-imap4-buffer-literal): Ditto.
896         (elmo-imap4-string-subr): Ditto.
897         (elmo-imap4-string): Ditto.
898         (elmo-imap4-buffer-string): Ditto.
899         (elmo-imap4-astring-subr): Ditto.
900         (elmo-imap4-astring): Ditto.
901         (elmo-imap4-buffer-astring): Ditto.
902         (elmo-imap4-nstring): Ditto.
903         (elmo-imap4-buffer-nstring): Ditto.
904         (elmo-imap4-mailbox): New alias.
905         (elmo-imap4-field-body): Ditto.
906         (elmo-imap4-userid): Ditto.
907         (elmo-imap4-password): Ditto.
908         (elmo-imap4-format-quoted): New function.
909         (elmo-imap4-send-command): Rewritten.  Accept a list of command
910         arguments and handle "atom", "quoted" and "literal" string here.
911         (elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
912         `elmo-imap4-send-command'.
913         (elmo-imap4-folder-exists-p): Likewise.
914         (elmo-imap4-create-folder): Likewise.
915         (elmo-imap4-delete-folder): Likewise.
916         (elmo-imap4-rename-folder): Likewise.
917         (elmo-imap4-max-of-folder): Likewise.
918         (elmo-imap4-check-validity): Likewise.
919         (elmo-imap4-sync-validity): Likewise.
920         (elmo-imap4-server-diff): Likewise.
921         (elmo-imap4-select-folder): Likewise.
922         (elmo-imap4-copy-msgs): Likewise.
923         (elmo-imap4-search-internal): Use `elmo-imap4-astring'.
924         (elmo-imap4-mark-set-on-msgs): Likewise.
925         (elmo-imap4-read-part): Likewise.
926         (elmo-imap4-read-msg): Likewise.
927         (elmo-imap4-open-connection): Use `elmo-imap4-userid' and
928         `elmo-imap4-password' for `elmo-imap4-send-command'.
929         (elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
930         (elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
931         `elmo-imap4-buffer-literal'.
932         (elmo-imap4-append-msg): Likewise.
933
934         * elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
935         `delete' for removing dead connection from the connection cache.
936         Move deletion of the process buffer after that.
937         (elmo-imap4-list): Change `defsubst' to `defun'.
938         (elmo-imap4-commit): Make error message verbose.
939         (elmo-imap4-search): Ditto.
940         (elmo-imap4-list): Ditto.
941         (elmo-imap4-select-folder): Ditto.
942         (elmo-imap4-copy-msgs): Ditto.
943         (elmo-imap4-delete-msg-by-id): Ditto.
944         (elmo-imap4-append-msg-by-id): Ditto.
945         (elmo-imap4-append-msg): Ditto.
946
947 2000-07-26  Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
948
949         * elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
950         when dired is used on XEmacs.
951
952 2000-07-25  OKAZAKI Tetsurou  <okazaki@be.to>
953
954         * elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
955         instead of `append'.
956         (elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
957         `elmo-plugged-p' directly.
958         * elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
959         of `elmo-plugged-p' directly.
960
961         * elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
962         Eliminate unused variable.  Use `memq' for checking a process status.
963         Use `cons' instead of `append' for updating the connection cache.
964         * elmo-nntp.el (elmo-nntp-get-connection): Likewise.
965         * elmo-imap4.el (elmo-imap4-get-connection): Likewise.
966
967 2000-07-22  OKAZAKI Tetsurou  <okazaki@be.to>
968
969         * elmo-imap4.el (elmo-imap4-read-bytes): Advance
970         `elmo-imap4-read-point' exactly.
971
972         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
973         the local variable `folder' to `mailbox'.
974         Rename the argument `fld' to `folder'.
975
976 2000-07-20  Kenichi OKADA  <okada@opaopa.org>
977
978         * elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
979         * elmo-imap4.el (elmo-imap4-commit): Ditto.
980
981 2000-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
982
983         * elmo-pop3.el (elmo-pop3-use-uidl): New variable.
984         (elmo-pop3-number-uidl-hash): New buffer-local variable.
985         (elmo-pop3-uidl-number-hash): Ditto.
986         (elmo-pop3-size-hash): Ditto.
987         (elmo-pop3-uidl-done): Ditto.
988         (elmo-pop3-list-done): Ditto.
989         (elmo-pop3-connection-get-process): New defmacro.
990         (elmo-pop3-connection-get-buffer): Ditto.
991         (elmo-pop3-close-connection): Delete buffer and process.
992         (elmo-pop3-flush-connection): Don't delete buffer and process.
993         (elmo-pop3-get-connection): Added optional argument `if-exists'.
994         Setup UIDL and size hash.
995         (elmo-pop3-send-command-no-erase): Deleted
996         (elmo-pop3-send-command): Added optional argument `no-erase'.
997         (elmo-pop3-parse-uidl-response): New function.
998         (elmo-pop3-parse-list-response): Set size hash.
999         (elmo-pop3-list-location): New function.
1000         (elmo-pop3-list-by-uidl-subr): Ditto.
1001         (elmo-pop3-list-by-list): Ditto.
1002         (elmo-pop3-list-folder): Call `elmo-pop3-commit'.
1003         Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
1004         (elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
1005         Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
1006         (elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
1007         Use uidl.
1008         (elmo-pop3-uidl-to-number): New function.
1009         (elmo-pop3-number-to-uidl): Ditto.
1010         (elmo-pop3-number-to-size): Ditto.
1011         (elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
1012         Set number by use of uidl.
1013         (elmo-pop3-msgdb-create-message): Likewise.
1014         Set size, loc-alist in msgdb.
1015         (elmo-pop3-read-msg): Set number by use of uidl.
1016         Added optional argument `msgdb'.
1017         (elmo-pop3-delete-msg): Ditto.
1018         (elmo-pop3-delete-msgs): Added optional argument `msgdb'.
1019         (elmo-pop3-commit): Close connection.
1020
1021         * elmo-pipe.el (elmo-pipe-max-of-folder):
1022         Bind `elmo-pop3-use-uidl' as nil.
1023         (elmo-pipe-drain): Ditto.
1024         Call `elmo-commit'.
1025
1026         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
1027         (elmo-msgdb-overview-entity-set-size): New defsubst.
1028
1029 2000-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
1030
1031         * elmo-vars.el (elmo-use-killed-list): New variable
1032         (Renamed from `elmo-nntp-use-killed-list').
1033         (elmo-nntp-use-killed-list): Eliminated.
1034
1035         * elmo-msgdb.el (elmo-msgdb-expand-path):
1036         Changed expanding msgdb path for elmo-multi.
1037
1038         * elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
1039         elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
1040         elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
1041         elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
1042         elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
1043         mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
1044         (toplevel): Deleted time-stamp line.
1045
1046         * elmo2.el (elmo-clear-killed ): Defined as function
1047         (Abolished defining as a backend function).
1048         All other related modules are changed.
1049
1050 2000-07-14  Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>
1051
1052         * elmo-cache.el (elmo-cache-clear-killed): Fixed.
1053
1054 2000-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
1055
1056         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.
1057
1058 2000-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
1059
1060         * elmo-pop3.el (elmo-pop3-clear-killed): New alias.
1061
1062 2000-07-11  Yuuichi Teranishi  <teranisi@gohome.org>
1063
1064         * elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
1065         asynchronous folder check.
1066
1067         * elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.
1068
1069         * elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
1070         `elmo-nntp-use-killed-list'.
1071         (elmo-nntp-list-folder): Use killed list.
1072         (elmo-nntp-max-of-folder): Ditto.
1073         (elmo-nntp-msgdb-create): Set killed list.
1074
1075         * elmo-vars.el (elmo-nntp-use-killed-list): New user option.
1076
1077         * elmo2.el (elmo-clear-killed): New backend function.
1078         All other related modules are changed.
1079
1080 2000-07-07  OKAZAKI Tetsurou  <okazaki@be.to>
1081
1082         * elmo-util.el (elmo-imap4-spec-folder): Use
1083         `elmo-imap4-spec-mailbox'; Mark as obsolete.
1084         All callers changed.
1085
1086 2000-06-22  Yuuichi Teranishi  <teranisi@gohome.org>
1087
1088         * mmelmo-2.el (initialize-instance):
1089         Use `mime-buffer-entity-buffer-internal' instead of
1090         `mime-entity-buffer'.
1091
1092         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
1093         (mime-entity-body): Implemented.
1094         (mime-goto-header-start-point): Deleted.
1095         (mime-goto-body-end-point): Ditto.
1096         (mime-entity-point-min): Ditto.
1097         (mime-entity-point-max): Ditto.
1098         (mime-entity-children): Ditto.
1099         (mime-insert-header): Use `mime-buffer-entity-buffer-internal'
1100         instead of `mime-entity-buffer'.
1101         (mime-entity-header-buffer): Ditto.
1102         (mime-entity-body-buffer): Ditto.
1103         (mime-write-entity-content): Ditto.
1104
1105         * pldap.el (ldap-static-if): New macro.
1106         (toplevel): Use it instead of `static-if'.
1107
1108 2000-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
1109
1110         * pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
1111         included in `attrs' argument.
1112
1113 2000-06-16  Yuuichi Teranishi  <teranisi@gohome.org>
1114
1115         * elmo-util.el (elmo-get-passwd): Use old backquote style.
1116
1117         * pldap.el (ldap-ldif-safe-char-regexp): New constant.
1118         (ldap-ldif-safe-init-char-regexp): Ditto.
1119         (ldap-ldif-safe-string-regexp): Ditto.
1120         (ldap/ldif-safe-string-p): New macro.
1121         (ldap/ldif-insert-field): Ditto.
1122         (ldap-modify): Use it.
1123         (ldap-add): Ditto.
1124         (ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
1125         (ldap-decode-attribute): Decode only when `attr' is consp.
1126         (ldap-delete): Bind `ret'.
1127         (toplevel): Require 'cl at compile time.
1128         Removed (require 'poe) and (require 'std11).
1129         (pldap-version): Eliminated.
1130         (ldap-search-basic): Removed auth and dn binding.
1131         (ldap-ldif-field-name-regexp): New constant.
1132         (ldap-ldif-field-head-regexp): Ditto.
1133         (ldap-ldif-next-field-head-regexp): Ditto.
1134         (ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
1135         (ldap/field-end): New function.
1136         (ldap/field-body): Use it.
1137         (ldap/collect-field): Ditto.
1138         (ldap-search-basic): Use `ldap/field-body'.
1139
1140 2000-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
1141
1142         * pldap.el (ldap-default-attribute-encoder): New user option.
1143         (ldap/field-body): Decode base64 string.
1144         (ldap/collect-field): Ditto.
1145         (ldap-encode-attribute): New function.
1146         (ldap-add-entries): Use it.
1147         (ldap-modify-entries): Ditto.
1148         (ldap-search-entries): Enclosed decoding function with
1149         `with-temp-buffer' and set as unibyte.
1150         (ldap-search-basic): Set process buffer as unibyte.
1151
1152         * elmo-util.el (elmo-folder-identical-system-p):
1153         Eliminated name space checking.
1154
1155         * pldap.el: New module.
1156         toplevel: Changed condition to detect built-in ldap feature.
1157         (ldap-delete): Enclosed call-process with `with-temp-buffer'.
1158         (ldap-add): Added error handling.
1159         (ldap-modify): Ditto.
1160         (ldap-delete): Ditto.
1161
1162 2000-06-03  OKAZAKI Tetsurou  <okazaki@be.to>
1163
1164         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
1165         Initialize local variables with `let'.  Inline a temporary
1166         variable for the progress percentage.  Sort `setq' to reduce
1167         function call in the while-loop.
1168
1169         * mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
1170         into the conditional branch.
1171
1172 2000-05-30  OKAZAKI Tetsurou  <okazaki@be.to>
1173
1174         * elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
1175         Move a conditional out of the while-loop.
1176
1177 2000-05-27  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
1178
1179         * elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
1180         elmo-msgdb-overview-get-entity-by-number.
1181         (elmo-msgdb-overview-get-entity-by-number): Don't use catch and
1182         throw.
1183
1184 2000-05-26  OKAZAKI Tetsurou  <okazaki@be.to>
1185
1186         * elmo-localdir.el (elmo-localdir-pack-number): Renamed
1187         the local variable for a packed number self descriptively.
1188
1189 2000-05-21  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
1190
1191         * elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
1192         * elmo-localdir.el (elmo-localdir-pack-number): Use
1193         `elmo-msgdb-overview-get-entity' instead of
1194         `elmo-msgdb-overview-get-entity-by-number'.
1195         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
1196         (elmo-msgdb-search-overview-entity): Removed.
1197         (elmo-msgdb-overview-get-entity): Change argument. Get overview entity
1198         by message-id or number.
1199         (elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
1200         instead of `elmo-msgdb-overview-get-entity-by-number'.
1201
1202 2000-05-20  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
1203
1204         * elmo-vars.el (elmo-use-overview-hashtb): New variable. If
1205         non-nil, use hash table for overview.
1206         (elmo-hash-maximum-size): New variable.
1207         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
1208         (elmo-msgdb-make-overview-hashtb): New function.
1209         (elmo-msgdb-clear-overview-hashtb): New function.
1210         (elmo-clear-hash-val): New macro.
1211         All other related modules are changed.
1212
1213 2000-05-18  Yuuichi Teranishi  <teranisi@gohome.org>
1214
1215         * elmo2.el (elmo-move-msgs): If there's other message with
1216         same message-id, don't use cache.
1217
1218 2000-05-18  Nishimoto Masaki <nishimoto@gaju.org>
1219
1220         * elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
1221         number is already packed.
1222
1223 2000-05-15  OKAZAKI Tetsurou  <okazaki@be.to>
1224
1225         * elmo-vars.el: Doc fixes. Trim trailing whitespace.
1226
1227 2000-05-12  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
1228
1229         * elmo-vars.el (elmo-display-progress-threshold): New variable.
1230         All other related modules are changed.
1231
1232 2000-05-11  Yuuichi Teranishi  <teranisi@gohome.org>
1233
1234         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
1235         of refiling failure on Maildir.
1236
1237 2000-05-10  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
1238
1239         * elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
1240         decoded mime-charset with cache.
1241         (elmo-msgdb-overview-entity-get-from): Ditto.
1242         (elmo-msgdb-overview-entity-get-subject): Ditto.
1243         * elmo-vars.el (elmo-use-decoded-cache): New variable.
1244
1245 2000-05-10  Kenichi OKADA  <okada@opaopa.org>
1246
1247         * elmo-utils.el (elmo-get-passwd): Set timeout of password.
1248         (elmo-remove-passwd): Fill password with 0 before erase.
1249         * elmo-vars.el (elmo-passwd-life-time): New variable.
1250
1251 \f
1252 2000-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
1253
1254         * elmo-cache.el (elmo-buffer-cache-add):
1255         Set message cache buffer as unibyte.
1256
1257 2000-05-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
1258
1259         * elmo-archive.el (elmo-archive-list-folders): Fix base-folder
1260         become nil.
1261
1262 2000-04-28  Yuuichi Teranishi  <teranisi@gohome.org>
1263
1264         * elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
1265         when display is finished.
1266         (elmo-nntp-msgdb-create): Ditto.
1267         (elmo-nntp-groups-read-response): Ditto.
1268         (elmo-nntp-retrieve-headers): Ditto.
1269         (elmo-nntp-msgdb-create-message): Ditto.
1270         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
1271         (elmo-pop3-msgdb-create-message): Ditto.
1272
1273 2000-04-24  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
1274
1275         * elmo-maildir.el (elmo-maildir-msgdb-create):
1276         Use `elmo-msgdb-sort-by-date'.
1277
1278 2000-04-20  Yuuichi Teranishi  <teranisi@gohome.org>
1279
1280         * elmo2.el (elmo-read-msg-no-cache):
1281         Eliminated arguments after `outbuf'.
1282         Don't use cache even if it exists.
1283         (elmo-read-msg): Don't pass arguments after `outbuf' to
1284         `elmo-read-msg-no-cache'.
1285
1286 2000-04-15  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
1287
1288         * elmo-archive.el (elmo-archive-list-folders):
1289         Use `file-name-directory' if base folder does not exist.
1290
1291 2000-04-14  Nishimoto Masaki <nishimoto@gaju.org>
1292
1293         * elmo-archive.el (elmo-archive-list-folders): Don't use
1294         `file-name-directory'.
1295
1296 2000-04-07  Yuuichi Teranishi  <teranisi@gohome.org>
1297
1298         * elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
1299         If `force' is non-nil, try flushing all operation queues.
1300
1301 2000-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
1302
1303         * elmo-pop3.el (elmo-pop3-open-connection): Enclose with
1304         as-binary-process.
1305
1306 2000-03-29  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
1307
1308         * elmo-util.el (elmo-display-progress): Fixed.
1309
1310 2000-03-27  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
1311
1312         * elmo-util.el (elmo-display-progress): New function.
1313         All other related modules are changed.
1314