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