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