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