* elmo-maildir.el (elmo-maildir-pack-number): Implemented.
[elisp/wanderlust.git] / elmo / ChangeLog
1 2000-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
2
3         * elmo-maildir.el (elmo-maildir-pack-number): Implemented.
4
5         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.
6
7         * elmo2.el (elmo-pack-number): Added 'maildir as allowd type.
8
9         * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
10         arguments for `SEARCH' command.
11         (elmo-imap4-parse-string): Set `POS' argument for char-after.
12         All other related portions are changed.
13
14         * elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.
15
16         * elmo2.el (elmo-generic-list-folder-unread): Rewrite.
17         (elmo-list-folder-unread): Rewrite.
18         (elmo-list-folder-important): Ditto.
19
20         * elmo-util.el (elmo-filter-get-spec): Rewrite.
21         (elmo-condition-parse-error): New inline function.
22         (elmo-read-search-condition): New function.
23         (elmo-read-search-condition-internal): Ditto.
24         (elmo-parse-search-condition): Rewrite.
25         (elmo-condition-parse): New function.
26         (elmo-condition-parse-or-expr): Ditto.
27         (elmo-condition-parse-and-expr): Ditto.
28         (elmo-condition-parse-primitive): Ditto.
29         (elmo-condition-parse-search-value): Ditto.
30         (elmo-buffer-field-primitive-condition-match): Ditto.
31         (elmo-buffer-field-condition-match): Rewrite.
32         (elmo-file-field-condition-match): Ditto.
33
34         * elmo-msgdb.el (elmo-msgdb-expand-path): Use
35         `elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.
36
37         * elmo-internal.el (elmo-internal-search): Set `number' and
38         `number-list' argument of `elmo-file-field-condition-match'.
39
40         * elmo-maildir.el (elmo-maildir-search): Ditto.
41
42         * elmo-imap4.el (elmo-imap4-list-folder-unread): Use
43         `msgdb' as argument instead of `mark-alist'.
44         (elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
45         `overview'.
46
47         * elmo-multi.el: Likewise.
48
49         * elmo-pipe.el: Likewise.
50
51         * elmo-imap4.el (elmo-imap4-search-internal-primitive): New function.
52         (elmo-imap4-search-internal): Rewrite.
53         (elmo-imap4-search): Ditto.
54
55         * elmo-filter.el (elmo-filter-list-folder): Rewrite.
56         (elmo-filter-list-folder-unread): Ditto.
57         (elmo-filter-list-folder-important): Ditto.
58         (elmo-filter-search): Rewrite.
59
60         * elmo-cache.el (elmo-cache-search-all): Set `number' and
61         `number-list' argument of `elmo-file-field-condition-match'.
62         (elmo-cache-search): Ditto.
63
64         * elmo-localdir.el: Likewise.
65
66         * elmo-archive.el (elmo-archive-field-condition-match): Added argument
67         number-list and pass it to `elmo-buffer-field-condition-match'.
68         (elmo-archive-field-condition-match): Pass `number-list' to
69         `elmo-archive-field-condition-match'
70
71 2000-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
72
73         * elmo-nntp.el (elmo-nntp-list-folder): Set current group after
74         `listgroup'.
75
76         * elmo2.el (elmo-folder-diff-async-callback): New variable.
77         (elmo-folder-diff-async-callback-data): Ditto.
78         (elmo-folder-diff-async): New function.
79
80         * elmo-net.el (elmo-network-session-name-prefix): New variable.
81         (elmo-network-session-cache-key): Use it as a prefix of the session
82         name.
83         (elmo-network-open-session): Ditto.
84
85         * elmo-imap4.el (elmo-imap4-status-callback): New local variable.
86         (elmo-imap4-status-callback-data): Ditto.
87         (elmo-imap4-server-diff-async-callback): New variable.
88         (elmo-imap4-server-diff-async-callback-data): Ditto.
89         (elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
90         `elmo-imap4-status-callback-data'.
91         (elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
92         `elmo-imap4-status-callback-data' as nil.
93         (elmo-imap4-server-diff): Ditto.
94         (elmo-imap4-server-diff-async-callback-1): New function.
95         (elmo-imap4-server-diff-async): Ditto.
96         (elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.
97
98 2000-09-24  OKAZAKI Tetsurou  <okazaki@be.to>
99
100         * elmo-util.el (elmo-list-delete): Doc fix.
101         (elmo-delete-lists): Abolish.
102         * elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
103         instead of `elmo-delete-lists'.
104
105 2000-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
106
107         * elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
108         before `sort'.
109
110 2000-09-18  OKAZAKI Tetsurou  <okazaki@be.to>
111
112         * elmo-imap4.el (elmo-imap4-literal-1): Renamed from
113         `elmo-imap4-literal-subr'.
114         (elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
115         (elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.
116
117 2000-09-15  Kenichi OKADA <okada@opaopa.org>
118
119         * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
120         (elmo-archive-list-folder): Fix.
121         (elmo-archive-max-of-folder): Fix.
122
123 2000-09-15  Kenichi OKADA <okada@opaopa.org>
124
125         * elmo-localdir.el (elmo-localdir-copy-msgs): Use
126          `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
127         (elmo-localdir-append-msg): Ditto.
128         (elmo-localdir-list-folder): Fix for `nonsort'.
129         (elmo-localdir-list-folder-subr): Fix for `killed'.
130         * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
131         (elmo-maildir-list-folder-subr): Ditto.
132         * elmo-archive.el (elmo-archive-list-folder): Ditto.
133         (elmo-archive-list-folder-subr): Ditto.
134         * elmo-internal.el (elmo-internal-list-folder): Ditto.
135         (elmo-internal-list-folder-subr): Ditto.
136
137 2000-09-13  Yuuichi Teranishi  <teranisi@gohome.org>
138
139         * elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.
140
141 2000-09-12  Katsumi Yamaoka    <yamaoka@jpl.org>
142
143         * elmo-util.el (elmo-delete-plugged): Fix parenthesis.
144
145 2000-09-11  Yuuichi Teranishi  <teranisi@gohome.org>
146
147         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
148         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
149
150         * elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
151         before greeting.
152         (elmo-imap4-read-part): Use "body.peek" to fetch part.
153         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
154
155 2000-09-06  Yuuichi Teranishi  <teranisi@gohome.org>
156
157         * mmelmo-imap4-2.el (mime-entity-children): Defined.
158
159         * elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
160         Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
161         before STORE command.
162
163 2000-09-04  Yuuichi Teranishi  <teranisi@gohome.org>
164
165         * elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.
166
167         * elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
168         (elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
169         of `response'.
170         (elmo-imap4-list-folders): Removed unused local variable.
171         (elmo-network-initialize-session): Ditto.
172         (elmo-imap4-delete-msg-by-id): Ditto.
173         (elmo-imap4-parse-fetch): Ditto.
174         (elmo-imap4-copy-msgs): Ditto.
175         Use `dst-spec' instead of `dst-folder'.
176         (elmo-network-authenticate-session): Check authenticate type `plain'.
177
178 2000-09-01  Yuuichi Teranishi  <teranisi@gohome.org>
179
180         * elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
181         garbage checking.
182         (elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
183         `elmo-imap4-response-value'.
184         (elmo-imap4-parse-response): Return value of `EXPUNGE'.
185
186 2000-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
187
188         * elmo-imap4.el (elmo-imap4-send-command):
189         Cause elmo-imap4-bye-error when current response is BYE.
190         (elmo-imap4-arrival-filter): Changed greeting response value.
191
192         * elmo2.el (elmo-imap4-bye-error): Define.
193
194         * elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
195         (elmo-imap4-server-diff): Ditto.
196         (elmo-imap4-response-bye-p): New macro.
197         (elmo-imap4-response-error-text): Get text from BYE response.
198         (elmo-imap4-read-response): Return if BYE response.
199         (elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
200         (elmo-imap4-folder-exists-p): Ditto.
201         (elmo-imap4-commit): Do nothing when different mailbox is selected.
202         (elmo-imap4-parse-bye): New function.
203         (elmo-imap4-parse-response): Remove needless let.
204         Call `elmo-imap4-parse-bye'.
205
206 2000-08-30  Yuuichi Teranishi  <teranisi@gohome.org>
207
208         * elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
209         the mailbox does not exist.
210         (elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.
211
212 2000-08-30  OKAZAKI Tetsurou  <okazaki@be.to>
213
214         * elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.
215
216 2000-08-29  Yuuichi Teranishi  <teranisi@gohome.org>
217
218         * elmo-vars.el (elmo-search-mime-charset): Abolished.
219
220         * elmo-pop3.el (elmo-pop3-local-variables): New variable.
221         (elmo-network-initialize-session-buffer): Defined.
222
223         * mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
224         Abolished.
225         (mmelmo-imap4-get-mime-entity): Rewrite.
226
227         * elmo2.el (elmo-error): Capitalize error message.
228
229         * elmo-net.el (elmo-network-initialize-session-buffer): New method.
230         (elmo-network-session-buffer): New macro.
231         (elmo-network-open-session): Use it.
232
233         * elmo-imap4.el: Rewrite.
234
235 2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
236
237         * elmo-nntp.el (Toplevel): Require 'elmo-net.
238
239 2000-08-27   Daiki Ueno  <ueno@unixuser.org>
240
241         * elmo-imap4.el (elmo-imap4-make-address): Abolish.
242         (elmo-imap4-msgdb-create): Don't request ENVELOPE.
243         (elmo-imap4-create-msgdb-from-overview-string): Use
244         `elmo-msgdb-create-overview-from-buffer'.
245
246 2000-08-26   Daiki Ueno  <ueno@unixuser.org>
247
248         * elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
249         (elmo-imap4-default-hierarchy-delimiter): New variable.
250         (elmo-imap4-list-folders): Use it.
251
252 2000-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
253
254         * elmo-net.el (elmo-network-open-session): Add user and
255         stream-type for process-buffer name.
256
257         * elmo-pop3.el (elmo-network-initialize-session): Call
258         buffer-disable-undo.
259
260         * elmo-imap4.el (elmo-network-initialize-session):
261         Set current-buffer as an argument for `buffer-disable-undo'.
262
263         * elmo-pop3.el (elmo-network-close-session): Don't use
264         `process-live-p'.
265
266         * elmo-vars.el (elmo-default-pop3-authenticate-type):
267         Set default as 'user.
268
269         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.
270
271         * elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
272         and `elmo-imap4-flush-connection'.
273
274         * elmo-util.el (toplevel): Removed workaround for timezone y2k.
275         (elmo-pop3-get-spec): Assume auth as symbol.
276         (elmo-open-network-stream): Moved to `elmo-net'.
277
278         * elmo-pop3.el (toplevel): Require 'elmo-net.
279         Define `sasl-cram-md5' to silence byte compilier.
280         (elmo-pop3-connection-cache) Abolished.
281         (elmo-pop3-authenticator-alist) New variable.
282         (elmo-pop3-session): Define.
283         (elmo-pop3-connection-get-process): Abolished.
284         (elmo-pop3-connection-get-buffer): Ditto.
285         (elmo-pop3-close-connection): Ditto.
286         (elmo-pop3-flush-connection): Ditto.
287         (elmo-pop3-get-connection): Ditto.
288         (elmo-pop3-get-session): New function.
289         (Replacement for `elmo-pop3-get-connection').
290         All other related modules are changed.
291         (elmo-network-close-session): Define.
292         (elmo-pop3-send-command): Abolished argument `buffer'.
293         All other related modules are changed.
294         (elmo-pop3-read-response): Likewise.
295         (elmo-pop3-open-connection): Abolished.
296         (elmo-pop3-auth-user): New function.
297         (elmo-pop3-auth-apop): Ditto.
298         (elmo-pop3-auth-cram-md5): Ditto.
299         (elmo-pop3-auth-scram-md5): Ditto.
300         (elmo-pop3-auth-digest-md5): Ditto.
301         (elmo-network-initialize-session): Define.
302         (elmo-network-authenticate-session): Ditto.
303         (elmo-network-setup-session): Ditto.
304
305         * elmo-imap4.el (toplevel): Require 'elmo-net.
306         (elmo-imap4-session): Define.
307         (elmo-imap4-connection-cache): Abolished.
308         (elmo-imap4-password-key): Ditto.
309         (elmo-imap4-flush-connection): Ditto.
310         (elmo-imap4-get-connection): Ditto.
311         All other related modules are changed.
312         (elmo-imap4-get-session): New function
313         (Replacement for `elmo-imap4-get-connection').
314         (elmo-imap4-read-response): Abolished argument `buffer'.
315         All other related modules are changed.
316         (elmo-imap4-send-command): Likewise.
317         (elmo-imap4-select-folder): Abolished.
318         All other related modules are changed.
319         (elmo-imap4-select-mailbox): New function.
320         (Replacement for `elmo-imap4-select-folder').
321         (elmo-imap4-auth-login): Simplify.
322         (Assume current buffer as process buffer)
323         (elmo-imap4-auth-cram-md5): Ditto.
324         (elmo-imap4-auth-digest-md5): Ditto.
325         (elmo-imap4-login): Ditto.
326         (elmo-imap4-open-connection): Abolished.
327         (elmo-imap4-open-connection-1): Abolished.
328         (elmo-network-initialize-sessoin): Define.
329         (elmo-network-authenticate-session): Ditto.
330         (elmo-network-setup-session): Ditto.
331
332         * elmo-net.el: New module.
333
334 2000-08-22   Daiki Ueno  <ueno@unixuser.org>
335
336         * elmo-util.el (elmo-define-error): New function.
337
338         * elmo2.el (elmo-error): Define.
339         (elmo-open-error): Define.
340         (elmo-authenticate-error): Define.
341
342         * elmo-imap4.el (elmo-imap4-error): Abolish.
343         (elmo-imap4-error-type): Abolish.
344         (elmo-imap4-error-process): Abolish.
345         (elmo-imap4-error-message): Abolish
346         (elmo-imap4-list-folders): Don't quote lambda.
347         (elmo-imap4-create-msgdb-from-overview-string): Ditto.
348         (elmo-imap4-parse-namespace): Ditto.    
349         (elmo-imap4-open-connection): Rewrite.
350         (elmo-imap4-open-connection-1): Simplified (authenticate only).
351         (elmo-imap4-get-connection): Abolish local variable `result'.
352
353 2000-08-21  Kaoru Takahashi  <kaoru@kaisei.org>
354
355         * elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
356         wrong-type-argument error when auth is nil.
357
358 2000-08-21  Yuuichi Teranishi  <teranisi@gohome.org>
359
360         * elmo-vars.el (elmo-default-imap4-stream-type): New variable.
361         (elmo-default-nntp-stream-type): Ditto.
362         (elmo-default-pop3-stream-type): Ditto.
363         (elmo-network-stream-type-alist): Ditto.
364         (elmo-default-imap4-ssl): Abolished.
365         (elmo-default-nntp-ssl): Ditto.
366         (elmo-default-pop3-ssl): Ditto.
367
368         * elmo-util.el: (toplevel): Removed needless requires.
369         (elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
370         (elmo-open-network-stream): Open network stream according to
371         the value of `elmo-network-stream-type-alist'.
372         (elmo-get-network-stream-type): New function.
373         (elmo-network-stream-type-spec-string): New macro.
374         (elmo-network-stream-type-symbol): Ditto.
375         (elmo-network-stream-type-function): Ditto.
376
377         * elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
378         network-stream-type. All other related portions are changed.
379         (elmo-pop3-open-connection): Ditto.
380
381         * elmo-nntp.el (elmo-nntp-setting): Follow up changes for
382         network-stream-type. All other related portions are changed.
383
384         * elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
385         network-stream-type.All other related portions are changed.
386         (elmo-imap4-error): New macro.
387         (elmo-imap4-error-type): Ditto.
388         (elmo-imap4-error-process): Ditto.
389         (elmo-imap4-error-message): Ditto.
390         (elmo-imap4-auth-login): Use `elmo-imap4-error'.
391         (elmo-imap4-auth-cram-md5): Ditto.
392         (elmo-imap4-auth-digest-md5): Ditto.
393         (elmo-imap4-login): Ditto.
394         (elmo-imap4-open-connection): Remove password entry if authentication
395         was in vain.
396         (elmo-imap4-user-at-host): Abolished.
397         (elmo-imap4-password-key): New buffer local variable.
398         (elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
399         using protocol, port, auth and stream-type.
400
401         * elmo-dop.el (elmo-dop-list-folder): Use killed list.
402
403 2000-08-13   Daiki Ueno  <ueno@unixuser.org>
404
405         * elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.
406
407         * elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.
408
409         * elmo-imap4.el (elmo-imap4-user-at-host): New variable.
410         (elmo-imap4-authenticator-alist): New variable.
411         (elmo-imap4-open-connection-1): Rename from
412         elmo-imap4-open-connection.
413         (elmo-imap4-open-connection): Abolish 5th argument `passphrase';
414         only wraps elmo-imap4-open-connection-1.
415         (elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
416         user-at-host.
417         (elmo-imap4-auth-login): New function.
418         (elmo-imap4-auth-cram-md5): New function.
419         (elmo-imap4-auth-digest-md5): New function.
420         (elmo-imap4-login): New function.
421
422 2000-08-12  Kenichi OKADA <okada@opaopa.org>
423
424         * elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
425         function `error'.
426
427 2000-08-12  Kenichi OKADA <okada@opaopa.org>
428
429         * elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.
430
431 2000-08-08  Yuuichi Teranishi  <teranisi@gohome.org>
432
433         * elmo2.el (elmo-move-msgs): Set value of `unseen'.
434
435 2000-08-06  OKAZAKI Tetsurou  <okazaki@be.to>
436
437         * elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
438         for server responses, quote `*' regardless of where it appears.
439
440 2000-08-03  Kenichi OKADA <okada@opaopa.org>
441
442         * elmo-maildir.el (elmo-maildir-commit): New alias.
443
444 2000-08-03  Kenichi OKADA <okada@opaopa.org>
445
446         * elmo-util.el (elmo-display-progress):
447                 Use `progress-feedback-with-label'.
448
449 2000-08-02  OKAZAKI Tetsurou  <okazaki@be.to>
450
451         * elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
452         (elmo-imap4-non-atom-char-regex): Ditto.
453         (elmo-imap4-non-text-char-regex): Ditto.
454         (elmo-imap4-literal-threshold): Ditto.
455         (elmo-imap4-atom-p): New function.
456         (elmo-imap4-quotable-p): Ditto.
457         (elmo-imap4-nil): Ditto.
458         (elmo-imap4-atom): Ditto.
459         (elmo-imap4-quoted): Ditto.
460         (elmo-imap4-literal-subr): Ditto.
461         (elmo-imap4-literal): Ditto.
462         (elmo-imap4-buffer-literal): Ditto.
463         (elmo-imap4-string-subr): Ditto.
464         (elmo-imap4-string): Ditto.
465         (elmo-imap4-buffer-string): Ditto.
466         (elmo-imap4-astring-subr): Ditto.
467         (elmo-imap4-astring): Ditto.
468         (elmo-imap4-buffer-astring): Ditto.
469         (elmo-imap4-nstring): Ditto.
470         (elmo-imap4-buffer-nstring): Ditto.
471         (elmo-imap4-mailbox): New alias.
472         (elmo-imap4-field-body): Ditto.
473         (elmo-imap4-userid): Ditto.
474         (elmo-imap4-password): Ditto.
475         (elmo-imap4-format-quoted): New function.
476         (elmo-imap4-send-command): Rewritten.  Accept a list of command
477         arguments and handle "atom", "quoted" and "literal" string here.
478         (elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
479         `elmo-imap4-send-command'.
480         (elmo-imap4-folder-exists-p): Likewise.
481         (elmo-imap4-create-folder): Likewise.
482         (elmo-imap4-delete-folder): Likewise.
483         (elmo-imap4-rename-folder): Likewise.
484         (elmo-imap4-max-of-folder): Likewise.
485         (elmo-imap4-check-validity): Likewise.
486         (elmo-imap4-sync-validity): Likewise.
487         (elmo-imap4-server-diff): Likewise.
488         (elmo-imap4-select-folder): Likewise.
489         (elmo-imap4-copy-msgs): Likewise.
490         (elmo-imap4-search-internal): Use `elmo-imap4-astring'.
491         (elmo-imap4-mark-set-on-msgs): Likewise.
492         (elmo-imap4-read-part): Likewise.
493         (elmo-imap4-read-msg): Likewise.
494         (elmo-imap4-open-connection): Use `elmo-imap4-userid' and
495         `elmo-imap4-password' for `elmo-imap4-send-command'.
496         (elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
497         (elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
498         `elmo-imap4-buffer-literal'.
499         (elmo-imap4-append-msg): Likewise.
500
501         * elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
502         `delete' for removing dead connection from the connection cache.
503         Move deletion of the process buffer after that.
504         (elmo-imap4-list): Change `defsubst' to `defun'.
505         (elmo-imap4-commit): Make error message verbose.
506         (elmo-imap4-search): Ditto.
507         (elmo-imap4-list): Ditto.
508         (elmo-imap4-select-folder): Ditto.
509         (elmo-imap4-copy-msgs): Ditto.
510         (elmo-imap4-delete-msg-by-id): Ditto.
511         (elmo-imap4-append-msg-by-id): Ditto.
512         (elmo-imap4-append-msg): Ditto.
513
514 2000-07-26  Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
515
516         * elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
517         when dired is used on XEmacs.
518
519 2000-07-25  OKAZAKI Tetsurou  <okazaki@be.to>
520
521         * elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
522         instead of `append'.
523         (elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
524         `elmo-plugged-p' directly.
525         * elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
526         of `elmo-plugged-p' directly.
527
528         * elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
529         Eliminate unused variable.  Use `memq' for checking a process status.
530         Use `cons' instead of `append' for updating the connection cache.
531         * elmo-nntp.el (elmo-nntp-get-connection): Likewise.
532         * elmo-imap4.el (elmo-imap4-get-connection): Likewise.
533
534 2000-07-22  OKAZAKI Tetsurou  <okazaki@be.to>
535
536         * elmo-imap4.el (elmo-imap4-read-bytes): Advance
537         `elmo-imap4-read-point' exactly.
538
539         * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
540         the local variable `folder' to `mailbox'.
541         Rename the argument `fld' to `folder'.
542
543 2000-07-20  Kenichi OKADA <okada@opaopa.org>
544
545         * elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
546         * elmo-imap4.el (elmo-imap4-commit): Ditto.
547
548 2000-07-18  Yuuichi Teranishi  <teranisi@gohome.org>
549
550         * elmo-pop3.el (elmo-pop3-use-uidl): New variable.
551         (elmo-pop3-number-uidl-hash): New buffer-local variable.
552         (elmo-pop3-uidl-number-hash): Ditto.
553         (elmo-pop3-size-hash): Ditto.
554         (elmo-pop3-uidl-done): Ditto.
555         (elmo-pop3-list-done): Ditto.
556         (elmo-pop3-connection-get-process): New defmacro.
557         (elmo-pop3-connection-get-buffer): Ditto.
558         (elmo-pop3-close-connection): Delete buffer and process.
559         (elmo-pop3-flush-connection): Don't delete buffer and process.
560         (elmo-pop3-get-connection): Added optional argument `if-exists'.
561         Setup UIDL and size hash.
562         (elmo-pop3-send-command-no-erase): Deleted
563         (elmo-pop3-send-command): Added optional argument `no-erase'.
564         (elmo-pop3-parse-uidl-response): New function.
565         (elmo-pop3-parse-list-response): Set size hash.
566         (elmo-pop3-list-location): New function.
567         (elmo-pop3-list-by-uidl-subr): Ditto.
568         (elmo-pop3-list-by-list): Ditto.
569         (elmo-pop3-list-folder): Call `elmo-pop3-commit'.
570         Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
571         (elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
572         Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
573         (elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
574         Use uidl.
575         (elmo-pop3-uidl-to-number): New function.
576         (elmo-pop3-number-to-uidl): Ditto.
577         (elmo-pop3-number-to-size): Ditto.
578         (elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
579         Set number by use of uidl.
580         (elmo-pop3-msgdb-create-message): Likewise.
581         Set size, loc-alist in msgdb.
582         (elmo-pop3-read-msg): Set number by use of uidl.
583         Added optional argument `msgdb'.
584         (elmo-pop3-delete-msg): Ditto.
585         (elmo-pop3-delete-msgs): Added optional argument `msgdb'.
586         (elmo-pop3-commit): Close connection.
587
588         * elmo-pipe.el (elmo-pipe-max-of-folder):
589         Bind `elmo-pop3-use-uidl' as nil.
590         (elmo-pipe-drain): Ditto.
591         Call `elmo-commit'.
592
593         * elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
594         (elmo-msgdb-overview-entity-set-size): New defsubst.
595
596 2000-07-17  Yuuichi Teranishi  <teranisi@gohome.org>
597
598         * elmo-vars.el (elmo-use-killed-list): New variable
599         (Renamed from `elmo-nntp-use-killed-list').
600         (elmo-nntp-use-killed-list): Eliminated.
601
602         * elmo-msgdb.el (elmo-msgdb-expand-path):
603         Changed expanding msgdb path for elmo-multi.
604
605         * elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
606         elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
607         elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
608         elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
609         elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
610         mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
611         (toplevel): Deleted time-stamp line.
612
613         * elmo2.el (elmo-clear-killed ): Defined as function
614         (Abolished defining as a backend function).
615         All other related modules are changed.
616
617 2000-07-14  Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>
618
619         * elmo-cache.el (elmo-cache-clear-killed): Fixed.
620
621 2000-07-13  Yuuichi Teranishi  <teranisi@gohome.org>
622
623         * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.
624
625 2000-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
626
627         * elmo-pop3.el (elmo-pop3-clear-killed): New alias.
628
629 2000-07-11  Yuuichi Teranishi  <teranisi@gohome.org>
630
631         * elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
632         asynchronous folder check.
633
634         * elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.
635
636         * elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
637         `elmo-nntp-use-killed-list'.
638         (elmo-nntp-list-folder): Use killed list.
639         (elmo-nntp-max-of-folder): Ditto.
640         (elmo-nntp-msgdb-create): Set killed list.
641
642         * elmo-vars.el (elmo-nntp-use-killed-list): New user option.
643
644         * elmo2.el (elmo-clear-killed): New backend function.
645         All other related modules are changed.
646
647 2000-07-07  OKAZAKI Tetsurou  <okazaki@be.to>
648
649         * elmo-util.el (elmo-imap4-spec-folder): Use
650         `elmo-imap4-spec-mailbox'; Mark as obsolete.
651         All callers changed.
652
653 2000-06-22  Yuuichi Teranishi  <teranisi@gohome.org>
654
655         * mmelmo-2.el (initialize-instance):
656         Use `mime-buffer-entity-buffer-internal' instead of
657         `mime-entity-buffer'.
658
659         * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
660         (mime-entity-body): Implemented.
661         (mime-goto-header-start-point): Deleted.
662         (mime-goto-body-end-point): Ditto.
663         (mime-entity-point-min): Ditto.
664         (mime-entity-point-max): Ditto.
665         (mime-entity-children): Ditto.
666         (mime-insert-header): Use `mime-buffer-entity-buffer-internal'
667         instead of `mime-entity-buffer'.
668         (mime-entity-header-buffer): Ditto.
669         (mime-entity-body-buffer): Ditto.
670         (mime-write-entity-content): Ditto.
671
672         * pldap.el (ldap-static-if): New macro.
673         (toplevel): Use it instead of `static-if'.
674
675 2000-06-19  Yuuichi Teranishi  <teranisi@gohome.org>
676
677         * pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
678         included in `attrs' argument.
679
680 2000-06-16  Yuuichi Teranishi  <teranisi@gohome.org>
681
682         * elmo-util.el (elmo-get-passwd): Use old backquote style.
683
684         * pldap.el (ldap-ldif-safe-char-regexp): New constant.
685         (ldap-ldif-safe-init-char-regexp): Ditto.
686         (ldap-ldif-safe-string-regexp): Ditto.
687         (ldap/ldif-safe-string-p): New macro.
688         (ldap/ldif-insert-field): Ditto.
689         (ldap-modify): Use it.
690         (ldap-add): Ditto.
691         (ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
692         (ldap-decode-attribute): Decode only when `attr' is consp.
693         (ldap-delete): Bind `ret'.
694         (toplevel): Require 'cl at compile time.
695         Removed (require 'poe) and (require 'std11).
696         (pldap-version): Eliminated.
697         (ldap-search-basic): Removed auth and dn binding.
698         (ldap-ldif-field-name-regexp): New constant.
699         (ldap-ldif-field-head-regexp): Ditto.
700         (ldap-ldif-next-field-head-regexp): Ditto.
701         (ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
702         (ldap/field-end): New function.
703         (ldap/field-body): Use it.
704         (ldap/collect-field): Ditto.
705         (ldap-search-basic): Use `ldap/field-body'.
706
707 2000-06-15  Yuuichi Teranishi  <teranisi@gohome.org>
708
709         * pldap.el (ldap-default-attribute-encoder): New user option.
710         (ldap/field-body): Decode base64 string.
711         (ldap/collect-field): Ditto.
712         (ldap-encode-attribute): New function.
713         (ldap-add-entries): Use it.
714         (ldap-modify-entries): Ditto.
715         (ldap-search-entries): Enclosed decoding function with
716         `with-temp-buffer' and set as unibyte.
717         (ldap-search-basic): Set process buffer as unibyte.
718
719         * elmo-util.el (elmo-folder-identical-system-p):
720         Eliminated name space checking.
721
722         * pldap.el: New module.
723         toplevel: Changed condition to detect built-in ldap feature.
724         (ldap-delete): Enclosed call-process with `with-temp-buffer'.
725         (ldap-add): Added error handling.
726         (ldap-modify): Ditto.
727         (ldap-delete): Ditto.
728
729 2000-06-03  OKAZAKI Tetsurou  <okazaki@be.to>
730
731         * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
732         Initialize local variables with `let'.  Inline a temporary
733         variable for the progress percentage.  Sort `setq' to reduce
734         function call in the while-loop.
735
736         * mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
737         into the conditional branch.
738
739 2000-05-30  OKAZAKI Tetsurou  <okazaki@be.to>
740
741         * elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
742         Move a conditional out of the while-loop.
743
744 2000-05-27  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
745
746         * elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
747         elmo-msgdb-overview-get-entity-by-number.
748         (elmo-msgdb-overview-get-entity-by-number): Don't use catch and
749         throw.
750
751 2000-05-26  OKAZAKI Tetsurou  <okazaki@be.to>
752
753         * elmo-localdir.el (elmo-localdir-pack-number): Renamed
754         the local variable for a packed number self descriptively.
755
756 2000-05-21  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
757
758         * elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
759         * elmo-localdir.el (elmo-localdir-pack-number): Use
760         `elmo-msgdb-overview-get-entity' instead of
761         `elmo-msgdb-overview-get-entity-by-number'.
762         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
763         (elmo-msgdb-search-overview-entity): Removed.
764         (elmo-msgdb-overview-get-entity): Change argument. Get overview entity
765         by message-id or number.
766         (elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
767         instead of `elmo-msgdb-overview-get-entity-by-number'.
768
769 2000-05-20  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
770
771         * elmo-vars.el (elmo-use-overview-hashtb): New variable. If
772         non-nil, use hash table for overview.
773         (elmo-hash-maximum-size): New variable.
774         * elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
775         (elmo-msgdb-make-overview-hashtb): New function.
776         (elmo-msgdb-clear-overview-hashtb): New function.
777         (elmo-clear-hash-val): New macro.
778         All other related modules are changed.
779
780 2000-05-18  Yuuichi Teranishi  <teranisi@gohome.org>
781
782         * elmo2.el (elmo-move-msgs): If there's other message with
783         same message-id, don't use cache.
784
785 2000-05-18  Nishimoto Masaki <nishimoto@gaju.org>
786
787         * elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
788         number is already packed.
789
790 2000-05-15  OKAZAKI Tetsurou  <okazaki@be.to>
791
792         * elmo-vars.el: Doc fixes. Trim trailing whitespace.
793
794 2000-05-12  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
795
796         * elmo-vars.el (elmo-display-progress-threshold): New variable.
797         All other related modules are changed.
798
799 2000-05-11  Yuuichi Teranishi  <teranisi@gohome.org>
800
801         * elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
802         of refiling failure on Maildir.
803
804 2000-05-10  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
805
806         * elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
807         decoded mime-charset with cache.
808         (elmo-msgdb-overview-entity-get-from): Ditto.
809         (elmo-msgdb-overview-entity-get-subject): Ditto.
810         * elmo-vars.el (elmo-use-decoded-cache): New variable.
811
812 2000-05-10  Kenichi OKADA <okada@opaopa.org>
813
814         * elmo-utils.el (elmo-get-passwd): Set timeout of password.
815         (elmo-remove-passwd): Fill password with 0 before erase.
816         * elmo-vars.el (elmo-passwd-life-time): New variable.
817
818 \f
819 2000-05-10  Yuuichi Teranishi  <teranisi@gohome.org>
820
821         * elmo-cache.el (elmo-buffer-cache-add):
822         Set message cache buffer as unibyte.
823
824 2000-05-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>
825
826         * elmo-archive.el (elmo-archive-list-folders): Fix base-folder
827         become nil.
828
829 2000-04-28  Yuuichi Teranishi  <teranisi@gohome.org>
830
831         * elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
832         when display is finished.
833         (elmo-nntp-msgdb-create): Ditto.
834         (elmo-nntp-groups-read-response): Ditto.
835         (elmo-nntp-retrieve-headers): Ditto.
836         (elmo-nntp-msgdb-create-message): Ditto.
837         * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
838         (elmo-pop3-msgdb-create-message): Ditto.
839
840 2000-04-24  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
841
842         * elmo-maildir.el (elmo-maildir-msgdb-create):
843         Use `elmo-msgdb-sort-by-date'.
844
845 2000-04-20  Yuuichi Teranishi  <teranisi@gohome.org>
846
847         * elmo2.el (elmo-read-msg-no-cache):
848         Eliminated arguments after `outbuf'.
849         Don't use cache even if it exists.
850         (elmo-read-msg): Don't pass arguments after `outbuf' to
851         `elmo-read-msg-no-cache'.
852
853 2000-04-15  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>
854
855         * elmo-archive.el (elmo-archive-list-folders):
856         Use `file-name-directory' if base folder does not exist.
857
858 2000-04-14  Nishimoto Masaki <nishimoto@gaju.org>
859
860         * elmo-archive.el (elmo-archive-list-folders): Don't use
861         `file-name-directory'.
862
863 2000-04-07  Yuuichi Teranishi  <teranisi@gohome.org>
864
865         * elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
866         If `force' is non-nil, try flushing all operation queues.
867
868 2000-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
869
870         * elmo-pop3.el (elmo-pop3-open-connection): Enclose with
871         as-binary-process.
872
873 2000-03-29  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
874
875         * elmo-util.el (elmo-display-progress): Fixed.
876
877 2000-03-27  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
878
879         * elmo-util.el (elmo-display-progress): New function.
880         All other related modules are changed.
881