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