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