1 2001-07-13 Yuuichi Teranishi <teranisi@gohome.org>
3 * elmo2.el (elmo-msgdb-search): Use elmo-condition-in-msgdb-p instead
4 of elmo-condition-find-key.
6 * elmo-util.el (elmo-condition-in-msgdb-p-internal): New function.
7 (elmo-condition-in-msgdb-p): Ditto.
8 (elmo-read-search-condition-internal): Don't set REQUIRE-MATCH
11 2001-07-05 Yuuichi Teranishi <teranisi@gohome.org>
13 * elmo-imap4.el (elmo-imap4-find-next-line): Fixed
14 label for elmo-display-progress.
16 2001-07-04 Yuuichi Teranishi <teranisi@gohome.org>
20 2001-06-18 Yuuichi Teranishi <teranisi@gohome.org>
22 * elmo-pop3.el (elmo-network-close-session): Removed 3rd argument.
23 (elmo-network-setup-session): Ditto.
24 (elmo-message-fetch-plugged): Ditto.
25 (elmo-pop3-send-command): Don't call elmo-pop3-lock.
26 (elmo-network-initialize-session): Ditto.
27 (elmo-pop3-read-response): Abolish 3rd argument.
28 (elmo-pop3-read-response): Don't call elmo-pop3-unlock.
29 (elmo-pop3-read-contents): Ditto.
30 (elmo-pop3-read-body): Ditto.
31 (elmo-pop3-max-of-folder): Call elmo-pop3-commit.
32 (elmo-pop3-lock): Abolish.
33 (elmo-pop3-unlock): Ditto.
34 (elmo-pop3-locked-p): Ditto.
35 (elmo-folder-check): Don't call elmo-pop3-locked-p.
37 2001-06-15 Yuuichi Teranishi <teranisi@gohome.org>
39 * elmo-version.el (elmo-version): Up to 2.6.0.
41 * elmo-pop3.el (elmo-pop3-debug): New variable.
42 (elmo-pop3-debug-inhibit-logging): Ditto.
43 (elmo-pop3-debug): New function.
44 (elmo-pop3-send-command): Call elmo-pop3-debug.
45 (elmo-pop3-read-response): Added keep-lock optional argument;
46 Don't unlock if keep-lock is non-nil.
47 (elmo-pop3-process-filter): Call elmo-pop3-debug.
48 (elmo-network-authenticate-session): Bind
49 elmo-pop3-debug-inhibit-logging as t.
50 (elmo-network-setup-session): Call elmo-pop3-read-response with
52 (elmo-pop3-read-msg): Ditto.
53 (elmo-pop3-locked-p): Call elmo-pop3-debug.
54 (elmo-pop3-read-body): Call elmo-pop3-unlock.
55 (elmo-network-initialize-session): Call elmo-pop3-lock.
57 2001-06-13 Yuuichi Teranishi <teranisi@gohome.org>
59 * elmo-pop3.el (elmo-pop3-lock): New buffer local variable.
60 (elmo-pop3-send-command): Call elmo-pop3-lock.
61 (elmo-pop3-read-response): Call elmo-pop3-unlock.
62 (elmo-pop3-read-contents): Ditto.
63 (elmo-pop3-lock): New function.
64 (elmo-pop3-unlock): Ditto.
65 (elmo-pop3-locked-p): Ditto.
66 (elmo-pop3-commit): Don't delete process if elmo-pop3-locked-p
69 2001-06-11 Yuuichi Teranishi <teranisi@gohome.org>
71 * elmo-util.el (elmo-file-field-primitive-condition-match):
72 New inline function (Don't fetch file content if "first" or "last").
73 (elmo-file-field-condition-match): Use
74 elmo-file-field-primitive-condition-match.
76 * elmo-localdir.el (elmo-localdir-field-primitive-condition-match):
78 (elmo-localdir-field-condition-match):
79 Use elmo-localdir-field-primitive-condition-match.
80 (elmo-localdir-search): Speed up simple "last" and "first".
82 * elmo2.el (elmo-move-msgs): Bind
83 elmo-inhibit-display-retrieval-progress as t while moving messages.
85 * elmo-vars.el (elmo-display-retrieval-progress-threshold):
87 (elmo-inhibit-display-retrieval-progress): Ditto.
89 * elmo-pop3.el (elmo-pop3-process-filter): Use elmo-display-progress
90 for retrieval progress;
91 Don't display progress when total buffer size is smaller than
92 elmo-display-retrieval-progress-threshold.
93 (elmo-pop3-read-msg): Don't display progress when
94 elmo-inhibit-display-retrieval-progress is non-nil;
95 Remove progress bar after retrieval.
97 * elmo-imap4.el (elmo-imap4-find-next-line): Use elmo-display-progress
98 for retrieval progress;
99 Don't display progress when literal size is smaller than
100 elmo-display-retrieval-progress-threshold.
101 (elmo-imap4-read-msg): Don't display progress when
102 elmo-inhibit-display-retrieval-progress is non-nil;
103 Remove progress bar after retrieval.
104 * elmo-imap4.el (elmo-imap4-read-part): Ditto.
106 2001-06-07 Yuuichi Teranishi <teranisi@gohome.org>
108 * elmo-imap4.el (elmo-imap4-display-literal-progress): New variable.
109 (elmo-imap4-find-next-line): Display progress while literal fetching.
110 (elmo-imap4-read-msg): Likewise.
111 (elmo-imap4-read-part): Ditto.
113 2001-06-06 Yuuichi Teranishi <teranisi@gohome.org>
115 * elmo-pop3.el (elmo-pop3-process-filter): Show retrieve progress.
116 (elmo-pop3-total-size): New variable.
117 (elmo-pop3-read-msg): Bind elmo-pop3-total-size while fetching.
119 2001-03-27 Kenichi OKADA <okada@opaopa.org>
121 * elmo-imap4.el (elmo-imap4-list-folders): Fixed problem when
124 2001-03-07 TAKAHASHI Kaoru <kaoru@kaisei.org>
126 * elmo-version.el (elmo-appname): Fixed typo.
128 2001-02-27 Yuuichi Teranishi <teranisi@gohome.org>
130 * elmo-imap4.el (elmo-imap4-list-folders): Fixed problem when
131 elmo-default-imap4-authenticate-type is nil
132 (Reported by Bun Mizuhara <mizuhara@acm.org>).
134 * elmo-vars.el (elmo-pop3-use-uidl): Moved from `elmo-pop3.el'.
135 (Adviced by Akihiro MOTOKI <mokkun@iname.com>)
137 2001-02-22 Yuuichi Teranishi <teranisi@gohome.org>
139 * elmo-version.el (elmo-version): Up to 2.5.8.
141 * elmo2.el (elmo-msgdb-list-messages-mark-match): New function.
143 * elmo-util.el (elmo-list-insert): New function.
145 2001-02-21 OKAZAKI Tetsurou <okazaki@be.to>
147 * elmo-util.el (elmo-display-progress): Prefer
148 `progress-feedback-with-label' to `lprogress-display'.
150 2000-02-20 Kenichi OKADA <okada@opaopa.org>
152 * elmo-imap4.el (elmo-network-authenticate-session): Fix.
153 * elmo-pop3.el (elmo-network-authenticate-session): Add comments.
155 2000-02-20 Kenichi OKADA <okada@opaopa.org>
157 * elmo-imap4.el (elmo-imap4-list-folder): Added 'uid'
159 2000-02-19 Kenichi OKADA <okada@opaopa.org>
161 * elmo2.el (elmo-list-folder): Added optional argument `nohide'.
162 * elmo-imap4.el (elmo-imap4-list-folder): Added optional argument `nohide'.
163 * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
164 * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
165 * elmo-localdir.el (elmo-localdir-list-folder): Ditto.
166 * elmo-localnews.el (elmo-localnews-list-folder): Ditto.
167 * elmo-archive.el (elmo-archive-list-folder): Ditto.
168 * elmo-filter.el (elmo-filter-list-folder): Ditto.
169 * elmo-internal.el (elmo-internal-list-folder): Ditto.
170 * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
171 * elmo-multi.el (elmo-multi-list-folder): Ditto.
172 * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
173 * elmo-dop.el (elmo-dop-list-folder): Ditto.
175 2000-02-17 Kenichi OKADA <okada@opaopa.org>
177 * elmo-msgdb.el (elmo-msgdb-max-of-killed): New function.
178 * elmo-imap4.el (elmo-imap4-list-folder): Use killed-list.
180 2000-02-17 Kenichi OKADA <okada@opaopa.org>
182 * elmo-pop3.el (elmo-network-authenticate-session): Bind `sasl-mechanisms'
184 2001-02-16 Yuuichi Teranishi <teranisi@gohome.org>
186 * elmo-msgdb.el (elmo-msgdb-rename-path): Fix.
188 * elmo-imap4.el (elmo-imap4-rename-folder): Send select command
189 before rename command.
191 2001-02-14 Yuuichi Teranishi <teranisi@gohome.org>
193 * elmo2.el (elmo-buffer-cache-message): Added argument `unread'.
195 2001-02-13 OKAZAKI Tetsurou <okazaki@be.to>
197 * elmo-imap4.el (elmo-imap4-prefetch-msg): Set `msgdb'
198 argument of `elmo-imap4-read-msg' as nil.
200 2001-02-13 Yuuichi Teranishi <teranisi@gohome.org>
202 * elmo2.el (elmo-prefetch-msg): Set `unread' argument of
203 `elmo-read-msg' as 'unread.
204 (elmo-read-msg-with-cache): Set `msgdb' argument as nil.
206 * elmo-archive.el (elmo-archive-read-msg): Fixed arguments.
207 * elmo-cache.el (elmo-cache-read-msg): Ditto.
208 * elmo-filter.el (elmo-filter-read-msg): Ditto.
209 * elmo-imap4.el (elmo-imap4-read-msg): Ditto.
210 * elmo-internal.el (elmo-internal-read-msg): Ditto.
211 * elmo-localdir.el (elmo-localdir-read-msg): Ditto.
212 * elmo-localnews.el (elmo-localnews-read-msg): Ditto.
213 * elmo-maildir.el (elmo-maildir-read-msg): Ditto.
214 * elmo-multi.el (elmo-multi-read-msg): Ditto.
215 * elmo-nntp.el (elmo-nntp-read-msg): Ditto.
216 * elmo-pipe.el (elmo-pipe-read-msg): Ditto.
217 * elmo-pop3.el (elmo-pop3-read-msg): Ditto.
219 2001-02-09 Yuuichi Teranishi <teranisi@gohome.org>
221 * elmo2.el (elmo-buffer-cache-message): Call `elmo-read-msg' with
222 argument `unread' as non-nil.
223 (elmo-read-msg-with-cache): Added argument `unread'.
224 (elmo-read-msg-no-cache): Ditto.
225 (elmo-read-msg): Ditto.
227 2001-02-07 Yuuichi Teranishi <teranisi@gohome.org>
229 * elmo-pipe.el (elmo-pipe-drain): Bind `elmo-inhibit-read-cache' as t
230 while moving messages.
232 * elmo2.el (elmo-read-msg): Don't use cache if
233 `elmo-inhibit-read-cache' is non-nil.
235 * elmo-vars.el (elmo-inhibit-read-cache): New global switch.
237 2001-02-01 OKAZAKI Tetsurou <okazaki@be.to>
239 * elmo-cache.el (elmo-cache-expire-by-size): Count
240 a disk usage for a cache file entry in KB even when
241 its kind is a directory.
243 2001-02-01 Yuuichi Teranishi <teranisi@gohome.org>
245 * elmo-version.el (elmo-version): Up to 2.5.7.
247 2001-01-23 TAKAHASHI Kaoru <kaoru@kaisei.org>
249 * elmo-version.el (elmo-version): Up to 2.5.6.
251 2001-01-18 Yuuichi Teranishi <teranisi@gohome.org>
253 * elmo-version.el (elmo-version): Up to 2.5.5.
255 2000-12-22 Yuuichi Teranishi <teranisi@gohome.org>
257 * elmo-imap4.el (elmo-network-authenticate-session):
258 Fixed a logic for response checking.
260 2000-12-15 Daiki Ueno <ueno@unixuser.org>
262 * elmo-net.el: Add autoload settings for `starttls-negotiate',
263 `sasl-find-mechanism', `sasl-make-client', `sasl-mechanism-name',
264 `sasl-next-step', `sasl-step-data' and `sasl-step-set-data'; bind
267 * elmo-imap4.el: Don't require `sasl'; remove autoload settings
268 for `starttls-open-stream' and `starttls-negotiate'.
270 * elmo-nntp.el: Remove autoload settings for
271 `starttls-open-stream' and `starttls-negotiate'.
273 * elmo-pop3.el: Don't require `sasl'; remove autoload settings
274 for `starttls-open-stream' and `starttls-negotiate'; don't enclose
275 `luna-define-class' with `eval-and-compile'.
277 2000-12-01 Kenichi OKADA <okada@opaopa.org>
279 * elmo-util.el (elmo-read-search-condition-internal):
280 Require an element of table for searching field.
282 2000-11-30 Yuuichi Teranishi <teranisi@gohome.org>
284 * elmo-version.el (elmo-version): Up to 2.5.4.
286 2000-11-26 Kenichi OKADA <okada@opaopa.org>
288 * elmo-nntp.el (elmo-network-initialize-session): Accept response 20[01].
290 2000-11-24 Kenichi OKADA <okada@opaopa.org>
292 * elmo-nntp.el (elmo-network-initialize-session): omitted.
294 2000-11-22 Kenichi OKADA <okada@opaopa.org>
296 * elmo-nntp.el (elmo-network-initialize-session): Skip garbage output
299 2000-11-28 Yuuichi Teranishi <teranisi@gohome.org>
301 * elmo-imap4.el (elmo-imap4-delete-folder):
302 Send "close" before "delete" (Use commented out line).
303 (elmo-imap4-rename-folder): Ditto.
305 * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
306 folder string itself.
307 (elmo-dop-list-deleted): New function.
308 (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
311 * elmo-util.el (elmo-string-rassoc-all): New function.
313 2000-11-22 Yuuichi Teranishi <teranisi@gohome.org>
315 * elmo-version.el (elmo-version): Up to 2.5.3.
317 * elmo-net.el (elmo-network-get-session): Changed logic for
318 checking process status.
320 * elmo-pop3.el (elmo-network-close-session): Do nothing if session
322 Changed logic for checking process status.
324 2000-11-20 Yuuichi Teranishi <teranisi@gohome.org>
326 * elmo-pop3.el (elmo-network-initialize-session): Skip garbage output
328 (elmo-network-setup-session): Set UIDL hash size according to
329 the length of list response.
330 (elmo-pop3-parse-list-response): Setup elmo-pop3-size-hash
331 according to the length of list response;
332 Return the length of list response.
333 (Adviced by OKAZAKI Tetsurou <okazaki@be.to>)
335 2000-11-21 Kenichi OKADA <okada@opaopa.org>
337 * elmo-imap4.el (toplevel): Require 'ssl.
338 Add autoload 'starttls.
339 * elmo-pop3.el (toplevel): Ditto.
340 * elmo-nntp.el (toplevel): Ditto.
342 2000-11-20 Kenichi OKADA <okada@opaopa.org>
344 * elmo-imap4.el (toplevel): defun at compile time.
345 sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
346 sasl-next-step, sasl-step-data, sasl-step-set-data.
347 * elmo-pop3.el (toplevel): Ditto.
349 2000-11-20 Kenichi OKADA <okada@opaopa.org>
351 * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
353 2000-11-20 Kenichi OKADA <okada@opaopa.org>
355 * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
357 (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
358 and `elmo-pop-auth-apop'.
360 2000-11-20 Kenichi OKADA <okada@opaopa.org>
362 * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
364 2000-11-20 Kenichi OKADA <okada@opaopa.org>
366 * elmo-pop3.el (elmo-network-authenticate-session): Split
367 encoded response value.
369 2000-11-20 Kenichi OKADA <okada@opaopa.org>
371 * elmo-pop3.el (elmo-network-authenticate-session): Abolish
372 `elmo-pop3-force-login'.
373 Redefine `sasl-mechanisms'.
374 * elmo-vars.el (elmo-pop3-force-login): Ditto.
376 2000-11-20 Kenichi OKADA <okada@opaopa.org>
378 * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
379 Delete `elmo-imap4-authenticator-alist'.
380 (elmo-imap4-auth-cram-md5): Delete.
381 (elmo-imap4-auth-digest-md5): Delete.
383 2000-11-20 Kenichi OKADA <okada@opaopa.org>
385 * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
386 (elmo-pop3-auth-scram-md5): Ditto.
387 (elmo-pop3-auth-cram-md5): Ditto.
389 2000-11-19 Kenichi OKADA <okada@opaopa.org>
391 * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
392 Delete `elmo-pop3-authenticator-alist'.
394 2000-11-19 Kenichi OKADA <okada@opaopa.org>
396 * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
398 * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
400 2001-01-30 Yuuichi Teranishi <teranisi@gohome.org>
402 * elmo-util.el (elmo-folder-local-p): Treat pipe and filter.
404 2001-01-19 Yuuichi Teranishi <teranisi@gohome.org>
406 * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
407 Fixed problem when `elmo-pop3-use-uidl' is nil.
408 (Reported by Takenobu Sugiyama <sugiyama@ae.advantest.co.jp>)
410 2000-11-19 Kenichi OKADA <okada@opaopa.org>
412 * elmo-version.el (elmo-version): Up to 2.5.2.
414 2001-01-16 Yuuichi Teranishi <teranisi@gohome.org>
416 * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
418 (elmo-pop3-sort-msgdb-by-original-number): Ditto.
419 (elmo-pop3-msgdb-create-as-numlist): Use it.
421 * elmo-imap4.el (elmo-imap4-arrival-filter): Check process-buffer.
422 (Based on the report by AMAKAWA Shuhei <sa264@cam.ac.uk>)
424 * elmo-pop3.el (elmo-pop3-msgdb-create-as-numlist): Sort msgdb by date.
425 (Pointed out by Mikiya Tani <m-tani@hml.cl.nec.co.jp>)
427 2001-01-13 Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
429 * elmo2.el (elmo-make-folder-numbers-list): Fixed problem
430 when elmo-mark-as-read is called with second argument nil.
432 2001-01-12 Yuuichi Teranishi <teranisi@gohome.org>
434 * elmo-pipe.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
435 Moved to elmo-util.el.
437 * elmo-util.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
438 Moved from elmo-pipe.el
440 * elmo-archive.el (elmo-archive-call-process): Enclose with
443 * elmo-imap4.el (elmo-imap4-read-msg): Use "BODY[]" instead of
444 "RFC822" (because RFC822.PEEK is obsolete).
445 (Adviced by IMAI Takeshi <imai@on.rim.or.jp>)
447 2001-01-10 Katsumi Yamaoka <yamaoka@jpl.org>
449 * elmo-archive.el (elmo-archive-call-process): Don't check for
450 the exit status when Nemacs is running.
452 2001-01-09 Yuuichi Teranishi <teranisi@gohome.org>
454 * elmo-net.el (elmo-network-session-password-key): Don't set default to
457 * elmo-util.el (elmo-imap4-get-spec): Set default of auth to 'clear.
458 (elmo-pop3-get-spec): Set default of auth to 'user.
460 * elmo-imap4.el (elmo-imap4-session-check):
461 Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
462 (elmo-imap4-clear-login): New function; Renamed from `elmo-imap4-login'.
463 (elmo-imap4-auth-login): New function; Revival.
464 (elmo-network-authenticate-session): Use `elmo-imap4-clear-login' and
465 `elmo-imap4-auth-login'.
467 2000-12-29 TAKAHASHI Kaoru <kaoru@kaisei.org>
469 * elmo2.el (toplevel): Move `product-provide' declare.
470 * mmelmo.el (toplevel): Ditto.
472 2000-12-26 Yuuichi Teranishi <teranisi@gohome.org>
474 * elmo-util.el (elmo-folder-get-store-type): Rewrite.
476 2000-12-26 OKAZAKI Tetsurou <okazaki@be.to>
478 * elmo-util.el (elmo-folder-get-store-type): New function.
479 (elmo-folder-direct-copy-p): Use it.
481 2000-12-26 Yuuichi Teranishi <teranisi@gohome.org>
483 * elmo-imap4.el (elmo-imap4-msgdb-create): Set
484 `elmo-imap4-fetch-callback-data' as a cons cell of `args'
485 and result of `elmo-imap4-use-flag-p'.
486 (elmo-imap4-fetch-callback-1): Set mark according to
487 the result of `elmo-imap4-use-flag-p'.
489 2000-12-22 Yuuichi Teranishi <teranisi@gohome.org>
491 * elmo-msgdb.el (elmo-generic-folder-diff): Moved from elmo2.el
492 (elmo-generic-list-folder-unread): Ditto.
493 (elmo-folder-get-info): Ditto.
494 (elmo-folder-set-info-max-by-numdb): Ditto.
495 (elmo-folder-get-info-max): Ditto.
496 (elmo-folder-get-info-length): Ditto.
497 (elmo-folder-get-info-unread): Ditto.
498 (elmo-folder-info-make-hashtb): Ditto.
500 * elmo2.el: Removed above functions.
502 2000-11-21 Kenichi OKADA <okada@opaopa.org>
504 * elmo-imap4.el (toplevel): Require 'ssl.
505 Add autoload 'starttls.
506 * elmo-pop3.el (toplevel): Ditto.
507 * elmo-nntp.el (toplevel): Ditto.
509 2000-11-20 Kenichi OKADA <okada@opaopa.org>
511 * elmo-imap4.el (toplevel): defun at compile time.
512 sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
513 sasl-next-step, sasl-step-data, sasl-step-set-data.
514 * elmo-pop3.el (toplevel): Ditto.
516 2000-11-20 Kenichi OKADA <okada@opaopa.org>
518 * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
520 2000-11-20 Kenichi OKADA <okada@opaopa.org>
522 * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
524 (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
525 and `elmo-pop-auth-apop'.
527 2000-11-20 Kenichi OKADA <okada@opaopa.org>
529 * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
531 2000-11-20 Kenichi OKADA <okada@opaopa.org>
533 * elmo-pop3.el (elmo-network-authenticate-session): Split
534 encoded response value.
536 2000-11-20 Kenichi OKADA <okada@opaopa.org>
538 * elmo-pop3.el (elmo-network-authenticate-session): Abolish
539 `elmo-pop3-force-login'.
540 Redefine `sasl-mechanisms'.
541 * elmo-vars.el (elmo-pop3-force-login): Ditto.
543 2000-11-20 Kenichi OKADA <okada@opaopa.org>
545 * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
546 Delete `elmo-imap4-authenticator-alist'.
547 (elmo-imap4-auth-cram-md5): Delete.
548 (elmo-imap4-auth-digest-md5): Delete.
550 2000-11-20 Kenichi OKADA <okada@opaopa.org>
552 * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
553 (elmo-pop3-auth-scram-md5): Ditto.
554 (elmo-pop3-auth-cram-md5): Ditto.
556 2000-11-19 Kenichi OKADA <okada@opaopa.org>
558 * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
559 Delete `elmo-pop3-authenticator-alist'.
561 2000-11-19 Kenichi OKADA <okada@opaopa.org>
563 * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
565 * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
568 2000-12-18 Yuuichi Teranishi <teranisi@gohome.org>
570 * elmo-nntp.el (elmo-nntp-get-folders-info): Fixed last change.
572 2000-12-01 Yuuichi Teranishi <teranisi@gohome.org>
574 * elmo-nntp.el (elmo-nntp-get-folders-info):
575 Fixed problem when '\' character is contained in user-id.
576 (Reported by Yoichiro Okabe <okabe@wizsoft.co.jp>)
579 2000-11-28 Yuuichi Teranishi <teranisi@gohome.org>
581 * elmo-imap4.el (elmo-imap4-delete-folder):
582 Send "close" before "delete" (Use commented out line).
583 (elmo-imap4-rename-folder): Ditto.
585 * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
586 folder string itself.
587 (elmo-dop-list-deleted): New function.
588 (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
591 * elmo-util.el (elmo-string-rassoc-all): New function.
593 * elmo-version.el (elmo-version): Up to 2.5.1.
595 2000-11-13 Yuuichi Teranishi <teranisi@gohome.org>
597 * elmo-pop3.el (elmo-pop3-folder-exists-p): Don't use UIDL.
599 * elmo-internal.el (elmo-internal-search): Fix last change.
601 2000-11-08 Yuuichi Teranishi <teranisi@gohome.org>
603 * elmo-internal.el (elmo-internal-search): Rewrite.
604 (Fixed problem which is pointed out by Akihiro MOTOKI
605 <motoki@da.jp.nec.com>)
607 * elmo-version.el (elmo-version): Up to 2.5.0.
609 2000-11-06 Kenichi OKADA <okada@opaopa.org>
611 * elmo-imap4.el (elmo-imap4-list-folders): Append authenticate-type.
613 2000-11-06 Kenichi OKADA <okada@opaopa.org>
615 * elmo-imap4.el (elmo-imap4-list-folders): When hierarchy is
616 non-nil, make hierarchy.
618 2000-11-05 OKAZAKI Tetsurou <okazaki@be.to>
620 * elmo-pipe.el (elmo-pipe-drain): When calling `elmo-list-folder',
621 `elmo-pop3-use-uidl' must be bound to nil.
622 (Pointed out by Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>)
624 2000-11-02 Yuuichi Teranishi <teranisi@gohome.org>
626 * elmo-util.el (elmo-copy-file): Don't cause an error after
627 `add-name-to-file' failed.
629 * elmo-pipe.el (elmo-pipe-drain): List folder before loading msgdb.
630 (Fix by HIROSE Yuuji <yuuji@gentei.org>)
632 2000-11-01 TAKAHASHI Kaoru <kaoru@kaisei.org>
634 * elmo-version.el (elmo-version): Up to 2.3.93.
636 2000-11-01 Yuuichi Teranishi <teranisi@gohome.org>
638 * elmo-util.el (elmo-flatten): New function.
640 2000-10-31 TAKAHASHI Kaoru <kaoru@kaisei.org>
642 * elmo-archive.el (toplevel): Added (C) to copyright notice, and
644 * elmo-cache.el (toplevel): Ditto.
645 * elmo-database.el (toplevel): Ditto.
646 * elmo-date.el (toplevel): Ditto.
647 * elmo-dop.el (toplevel): Ditto.
648 * elmo-filter.el (toplevel): Ditto.
649 * elmo-imap4.el (toplevel): Ditto.
650 * elmo-internal.el (toplevel): Ditto.
651 * elmo-localdir.el (toplevel): Ditto.
652 * elmo-localnews.el (toplevel): Ditto.
653 * elmo-maildir.el (toplevel): Ditto.
654 * elmo-msgdb.el (toplevel): Ditto.
655 * elmo-multi.el (toplevel): Ditto.
656 * elmo-net.el (toplevel): Ditto.
657 * elmo-nntp.el (toplevel): Ditto.
658 * elmo-pipe.el (toplevel): Ditto.
659 * elmo-pop3.el (toplevel): Ditto.
660 * elmo-util.el (toplevel): Ditto.
661 * elmo-vars.el (toplevel): Ditto.
662 * elmo2.el (toplevel): Ditto.
663 * mmelmo-imap4.el (toplevel): Ditto.
664 * mmelmo.el (toplevel): Ditto.
666 * elmo-version.el (elmo-version): Move to top.
668 * elmo-cache.el (toplevel): Fixed multiple Author header format.
669 * elmo-imap4.el (toplevel): Ditto.
670 * elmo-localdir.el (toplevel): Ditto.
671 * elmo-msgdb.el (toplevel): Ditto.
672 * elmo-nntp.el (toplevel): Ditto.
673 * elmo-pop3.el (toplevel): Ditto.
674 * elmo-version.el (toplevel): Ditto.
676 * elmo-localnews.el (toplevel): Added Keyword header.
678 2000-10-31 Yuuichi Teranishi <teranisi@gohome.org>
680 * elmo-version.el (product-version-as-string): Defined using
684 * elmo-localdir.el (toplevel): Updated copyright notice.
685 * elmo-version.el (toplevel): Ditto.
686 * elmo-msgdb.el (toplevel): Ditto.
687 * elmo-imap4.el (toplevel): Ditto.
688 * elmo-nntp.el (toplevel): Ditto.
689 * elmo-pop3.el (toplevel): Ditto.
691 2000-10-30 Yuuichi Teranishi <teranisi@gohome.org>
693 * elmo-pipe.el (elmo-pipe-drain): Don't save msgdb after moving
696 * mmelmo.el (mime-parse-parameters-from-list): Don't downcase
697 parameter value (It sometimes contains raw kanji).
699 2000-10-28 Kenichi OKADA <okada@opaopa.org>
701 * elmo-imap4.el (elmo-network-initialize-session): Check capability.
702 * elmo-pop3.el (elmo-network-initialize-session): Ditto.
704 2000-10-28 Kenichi OKADA <okada@opaopa.org>
706 * elmo-imap4.el (elmo-network-initialize-session): Fix.
708 2000-10-28 Kenichi OKADA <okada@opaopa.org>
710 * elmo-imap4.el (elmo-network-initialize-session): Change error message.
711 * elmo-pop3.el (elmo-network-initialize-session): Change error message.
713 2000-10-27 Yuuichi Teranishi <teranisi@gohome.org>
715 * elmo-imap4.el (elmo-imap4-session-select-mailbox): Return response
716 value if selecting folder succceeded.
717 (Advised by MII Kazuyoshi <mii@isl.ntt.co.jp> for prom-wl.)
719 2000-10-26 TAKAHASHI Kaoru <kaoru@kaisei.org>
721 * elmo-util.el (elmo-make-directory): Fixed permission lateral
724 * elmo-util.el (elmo-string-matched-member): New function.
726 2000-10-26 Yuuichi Teranishi <teranisi@gohome.org>
728 * elmo-util.el (elmo-unintern): New macro.
729 (elmo-number-set-member): Fixed docstring.
731 * elmo-imap4.el (elmo-imap4-parse-response): Call `elmo-unintern' for
734 2000-10-25 OKAZAKI Tetsurou <okazaki@be.to>
736 * elmo-imap4.el (elmo-imap4-client-eol): Remove duplicated defvar
737 of `elmo-imap4-status' and `elmo-imap4-reached-tag'.
739 2000-10-24 Yuuichi Teranishi <teranisi@gohome.org>
741 * elmo-imap4.el (elmo-imap4-session-select-mailbox): Added argument
744 Return non-nil if selecting folder succeeded.
745 (elmo-imap4-folder-exists-p): Call with argument 'no-error.
747 2000-10-23 Yuuichi Teranishi <teranisi@gohome.org>
749 * elmo-maildir.el (elmo-maildir-get-filename): Fixed problem when
750 `file-name-completion' returns t.
751 (Reported by Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>)
752 (elmo-maildir-set-mark): Put `info' part to the files in the cur
753 directory if it does not exist.
754 (elmo-maildir-update-current): Use `while' instead of `mapcar'
757 2000-10-20 Yuuichi Teranishi <teranisi@gohome.org>
759 * elmo-imap4.el (elmo-imap4-folder-exists-p): Removed `condition-case'
760 enclosure (It's harmful in unplugged status).
762 * elmo-pop3.el (elmo-pop3-folder-exists-p): Ditto.
764 * mmelmo-1.el: Removed.
766 * mmelmo-2.el: Ditto.
768 * mmelmo-imap4-1.el: Ditto.
770 * mmelmo-imap4-2.el: Ditto.
772 * mmelmo-imap4.el: Merged mmelmo-imap4-2.el
774 * mmelmo.el: Merged mmelmo-2.el.
776 * elmo-version.el (elmo-version): Up to 2.3.92.
778 2000-10-19 TAKAHASHI Kaoru <kaoru@kaisei.org>
780 * elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
781 elmo-update-number): Remove last period in "...done." message.
782 * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
784 * elmo-cache.el (elmo-cache-expire-by-size,
785 elmo-cache-get-sorted-cache-file-list,
786 elmo-cache-msgdb-create-as-numlist): Ditto.
787 * elmo-dop.el (elmo-dop-save-pending-messages,
788 (elmo-dop-flush-pending-append-operations): Ditto.
789 * elmo-imap4.el (elmo-imap4-msgdb-create): Ditto.
790 * elmo-internal.el (elmo-internal-msgdb-create): Ditto.
791 * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist,
792 (elmo-localdir-pack-number): Ditto.
793 * elmo-maildir.el (elmo-maildir-msgdb-create): Ditto.
794 * elmo-msgdb.el (elmo-msgdb-sort-by-date): Ditto.
795 * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer,
796 mime-write-entity-content): Ditto.
797 * pldap.el (ldap-search-basic): Ditto.
799 2000-10-18 Yuuichi Teranishi <teranisi@gohome.org>
801 * elmo-version.el (elmo-version): Up to 2.3.91.
803 * elmo-filter.el (elmo-filter-folder-diff): Use target folder's diff
804 Only when filter is 'last'.
806 * elmo-util.el (elmo-condition-atom-regexp): New constant.
807 (elmo-condition-parse-search-value): Use it.
808 (elmo-read-search-condition-internal): Quote value only when
811 2000-10-18 Kenichi OKADA <okada@opaopa.org>
813 * elmo2.el (elmo-generic-folder-diff): Fix.
815 2000-10-17 Kenichi OKADA <okada@opaopa.org>
817 * elmo-msgdb.el (elmo-msgdb-killed-list-length): New function.
818 * elmo-localdir.el (elmo-localdir-list-folder-subr): Fix.
819 * elmo-maildir.el (elmo-maildir-list-folder-subr): Fix.
820 * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
821 * elmo-internal.el (elmo-internal-list-folder-subr): Fix.
822 * elmo-imap4.el (elmo-imap4-max-of-folder): Fix.
824 2000-10-17 Akihiro MOTOKI <motoki@da.jp.nec.com>
826 * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Search by
829 2000-10-17 Yuuichi Teranishi <teranisi@gohome.org>
831 * elmo-version.el (elmo-version): Up to 2.3.90.
833 * elmo-imap4.el (elmo-imap4-list-folder-unread): Check plugged status.
834 (elmo-imap4-list-folder-important): Ditto.
836 2000-10-16 Kenichi OKADA <okada@opaopa.org>
838 * elmo-nntp.el (elmo-network-initialize-session): Fix.
840 2000-10-16 Kenichi OKADA <okada@opaopa.org>
842 * elmo-nntp.el (elmo-nntp-read-msg): Don't error.
844 2000-10-15 Kenichi OKADA <okada@opaopa.org>
846 * elmo-nntp.el (elmo-network-initialize-session):
847 Add starttls negotiation.
849 2000-10-15 Masahiro MURATA <muse@ba2.so-net.ne.jp>
851 * elmo-nntp.el (elmo-network-initialize-session): Read greeting
853 (elmo-network-setup-session): Define.
854 Call `elmo-nntp-send-mode-reader' when session opened.
856 2000-10-13 Yuuichi Teranishi <teranisi@gohome.org>
858 * elmo-multi.el (elmo-multi-list-folder-unread): Fixed.
860 2000-10-13 OKAZAKI Tetsurou <okazaki@be.to>
862 * elmo-imap4.el (elmo-imap4-search-internal-primitive): Remove
863 an invalid SPACE character ahead of `SEARCH' command. Move
864 a valid SPACE character following `SEARCH' from conditional
865 `format' arguments to control-strings.
867 2000-10-13 Yuuichi Teranishi <teranisi@gohome.org>
869 * elmo2.el (elmo-call-func-on-markable-msgs): Return t if marking
872 * elmo-util.el (elmo-folder-get-spec): Enclose with save-match-data.
874 2000-10-12 Yuuichi Teranishi <teranisi@gohome.org>
876 * elmo-localdir.el (elmo-localdir-list-folders-subr): Bind
877 `w32-get-true-file-link-count' as t.
879 * elmo-imap4.el (elmo-imap4-read): Abolished.
880 (Renamed to `elmo-read' and moved to elmo-util.el)
881 All other related portions are changed.
883 * elmo-util.el (elmo-read): New function.
884 (elmo-condition-parse-search-value): Use it.
886 2000-10-11 Yuuichi Teranishi <teranisi@gohome.org>
888 * elmo2.el (elmo-quit): Don't use `elmo-nntp-flush-connection'.
890 * elmo-nntp.el (elmo-nntp-session): Define.
891 (elmo-nntp-setting): Abolished.
892 All other related portions are changed.
893 (elmo-nntp-get-server-command): Changed argument.
894 (elmo-nntp-set-server-command): Ditto.
895 (elmo-nntp-xover-p): Ditto.
896 (elmo-nntp-set-xover): Ditto.
897 (elmo-nntp-listgroup-p): Ditto.
898 (elmo-nntp-set-listgroup): Ditto.
899 (elmo-nntp-list-active-p): Ditto.
900 (elmo-nntp-set-list-active): Ditto.
901 (elmo-nntp-xhdr-p): Ditto.
902 (elmo-nntp-set-xhdr): Ditto.
903 (elmo-nntp-flush-connection): Abolished.
904 (elmo-nntp-get-connection): Abolished.
905 (elmo-nntp-get-session): New function.
906 (elmo-network-initialize-session): Defined.
907 (elmo-network-authenticate-session): Ditto.
908 (elmo-nntp-send-mode-reader): Changed argument.
909 (elmo-nntp-send-command): Changed argument.
910 All other related portions are changed.
911 (elmo-nntp-read-response): Ditto.
912 (elmo-nntp-read-raw-response): Ditto.
913 (elmo-nntp-read-contents): Ditto.
914 (elmo-nntp-read-body): Ditto.
915 (elmo-nntp-goto-folder): Abolished.
916 (elmo-nntp-select-group): New function.
917 All other related portions are changed.
918 (This function substitutes `elmo-nntp-goto-folder')
919 (elmo-nntp-msgdb-create-by-header): Rewrite.
920 (elmo-nntp-get-overview): Eliminated.
921 (elmo-nntp-get-message): Ditto.
922 (elmo-nntp-open-connection) Abolished.
923 (elmo-nntp-read-msg): Rewrite.
924 (elmo-nntp-post): Ditto.
925 (elmo-nntp-send-data): Abolished.
926 (elmo-nntp-send-buffer): New function.
927 (elmo-nntp-send-data-line): Define as inline function.
928 (elmo-nntp-get-folders-info-prepare): Use session as key.
929 (elmo-nntp-groups-read-response): Changed argument.
930 (elmo-nntp-retrieve-headers): Ditto.
931 (elmo-nntp-msgdb-create-message): Ditto.
933 * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Fixed problem
934 when searching by 'since' or 'before'.
936 2000-10-11 TAKAHASHI Kaoru <kaoru@kaisei.org>
938 * elmo-version.el (toplevel): Use product-version-as-string for set
939 verstion-string, if defined.
941 2000-10-11 OKAZAKI Tetsurou <okazaki@be.to>
943 * elmo-util.el: Doc fixes.
945 2000-10-10 TAKAHASHI Kaoru <kaoru@kaisei.org>
947 * elmo-archive.el (toplevel): Use product-provide.
948 * elmo-cache.el (toplevel): Ditto.
949 * elmo-database.el (toplevel): Ditto.
950 * elmo-date.el (toplevel): Ditto.
951 * elmo-dop.el (toplevel): Ditto.
952 * elmo-filter.el (toplevel): Ditto.
953 * elmo-imap4.el (toplevel): Ditto.
954 * elmo-internal.el (toplevel): Ditto.
955 * elmo-localdir.el (toplevel): Ditto.
956 * elmo-localnews.el (toplevel): Ditto.
957 * elmo-maildir.el (toplevel): Ditto.
958 * elmo-msgdb.el (toplevel): Ditto.
959 * elmo-multi.el (toplevel): Ditto.
960 * elmo-net.el (toplevel): Ditto.
961 * elmo-nntp.el (toplevel): Ditto.
962 * elmo-pipe.el (toplevel): Ditto.
963 * elmo-pop3.el (toplevel): Ditto.
964 * elmo-util.el (toplevel): Ditto.
965 * elmo-vars.el (toplevel): Ditto.
966 * elmo2.el (toplevel): Ditto.
967 * mmelmo-1.el (toplevel): Ditto.
968 * mmelmo-2.el (toplevel): Ditto.
969 * mmelmo-imap4-1.el (toplevel): Ditto.
970 * mmelmo-imap4-2.el (toplevel): Ditto.
971 * mmelmo-imap4.el (toplevel): Ditto.
972 * mmelmo.el (toplevel): Ditto.
974 2000-10-10 Kenichi OKADA <okada@opaopa.org>
976 * elmo-dop.el (elmo-dop-flush-pending-append-operations): Add no-see.
977 (elmo-dop-call-func-on-msgs): Don't delete appends from msgs.
979 2000-10-10 Yuuichi Teranishi <teranisi@gohome.org>
981 * elmo-multi.el (elmo-multi-split-mark-alist): Copy and sort alist
983 (elmo-multi-split-number-alist): Ditto.
985 2000-10-10 TAKAHASHI Kaoru <kaoru@kaisei.org>
987 * elmo-version.el: New file. Use product.el.
988 * elmo2.el: Add (require 'elmo-version).
989 * elmo-vars.el (elmo-appname, elmo-version): Move to
992 2000-10-09 Yuuichi Teranishi <teranisi@gohome.org>
994 * elmo2.el (elmo-copy-msgs): Set `spec' as 1st argument for
995 `elmo-msgdb-expand-path'.
996 (elmo-msgdb-load): Ditto.
997 Abolished 2nd argument. If 1st argument is not string, treat as spec.
998 (elmo-generic-list-folder-unread): Rewrite.
999 (elmo-generic-list-folder-important): Changed argument.
1000 (elmo-list-folder-unread): Ditto.
1001 (elmo-list-folder-important): Ditto.
1002 (elmo-folder-diff): Rewrite.
1003 (elmo-generic-folder-diff): New function.
1004 (elmo-multi-get-number-alist-list): Abolished
1005 (Renamed to elmo-multi-split-number-alist and moved to elmo-multi.el)
1006 (elmo-multi-folder-diff): Moved to elmo-multi.el
1007 (toplevel): Removed autoload setting of `elmo-multi-folder-diff'.
1009 * elmo-pop3.el (elmo-pop3-list-folder): Set `spec' as 1st argument for
1010 `elmo-msgdb-expand-path'.
1011 (elmo-pop3-msgdb-create-as-numlist): Ditto.
1012 (elmo-pop3-read-msg): Ditto.
1013 (elmo-pop3-delete-msgs): Ditto.
1014 (elmo-pop3-folder-diff): New alias.
1016 * elmo-pipe.el (elmo-pipe-list-folder): Set `spec' as 1st argument for
1017 `elmo-msgdb-expand-path'.
1018 (elmo-pipe-list-folder-unread): Changed arguments.
1019 (elmo-pipe-list-folder-important): Ditto.
1020 (elmo-pipe-folder-diff): New alias.
1022 * elmo-nntp.el (elmo-nntp-list-folder): Set `spec' as 1st argument for
1023 `elmo-msgdb-expand-path'.
1024 (elmo-nntp-max-of-folder): Ditto.
1025 (elmo-nntp-msgdb-create): Ditto.
1026 (elmo-nntp-delete-msgs): Ditto.
1027 (elmo-nntp-folder-diff): New alias.
1029 * elmo-multi.el (elmo-multi-folder-diff): New function.
1030 (elmo-multi-split-mark-alist): Ditto.
1031 (elmo-multi-split-number-alist): Ditto.
1032 (elmo-multi-mark-alist-list): Abolished (Renamed to
1033 elmo-multi-split-mark-alist).
1034 (elmo-multi-list-folder-unread): Rewrite.
1035 (elmo-multi-list-folder-important): Ditto.
1036 (elmo-multi-list-folder): Set `spec' as 1st argument for
1037 `elmo-msgdb-expand-path'.
1038 (elmo-multi-sync-number-alist): Use `elmo-multi-split-number-alist'
1039 instead of `elmo-multi-get-number-alist-list'.
1041 * elmo-msgdb.el (elmo-msgdb-expand-path): Abolished 2nd argument.
1042 If 1st argument is not string, treat as spec.
1043 (elmo-list-folder-by-location): Set `spec' as 1st argument for
1044 `elmo-msgdb-expand-path'.
1045 (elmo-msgdb-flist-load): Ditto.
1046 (elmo-msgdb-flist-save): Ditto.
1047 (elmo-msgdb-delete-path): Ditto.
1048 (elmo-msgdb-rename-path): Ditto.
1050 * elmo-maildir.el (elmo-maildir-set-mark-msgs):
1051 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
1052 (elmo-maildir-delete-mark-msgs): Ditto.
1053 (elmo-maildir-msgdb-create): Ditto.
1054 (elmo-maildir-read-msg): Ditto.
1055 (elmo-maildir-delete-msgs): Ditto.
1056 (elmo-maildir-list-folder-subr): Ditto.
1057 (elmo-maildir-search): Ditto.
1058 (elmo-maildir-get-msg-filename): Ditto.
1059 (elmo-maildir-pack-number): Ditto.
1060 (elmo-maildir-folder-diff): New alias.
1062 * elmo-localnews.el (elmo-localnews-folder-diff): New alias.
1064 * elmo-localdir.el (elmo-localdir-list-folder-subr):
1065 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
1066 (elmo-localdir-folder-diff): New alias.
1068 * elmo-internal.el (elmo-internal-list-folder-subr):
1069 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
1070 (elmo-internal-list-folder-by-location): Ditto.
1071 (elmo-internal-msgdb-create): Ditto.
1072 (elmo-internal-delete-msgs): Ditto.
1073 (elmo-internal-read-msg): Ditto.
1074 (elmo-internal-folder-diff): New alias.
1076 * elmo-imap4.el (elmo-imap4-folder-diff): New function.
1077 (elmo-imap4-list-folder): Set `spec' as 1st argument for
1078 `elmo-msgdb-expand-path'.
1079 (elmo-imap4-list-folder-unread): Changed arguments.
1080 (elmo-imap4-list-folder-important): Ditto.
1082 * elmo-filter.el (elmo-filter-list-folder-unread): Changed arguments.
1083 (elmo-filter-list-folder-important): Ditto.
1084 (elmo-filter-folder-diff): New function.
1086 * elmo-dop.el (elmo-dop-folder-exists-p): Check elmo directory first.
1088 * elmo-cache.el (elmo-cache-list-folder):
1089 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
1090 (elmo-cache-copy-msgs): Ditto.
1091 (elmo-cache-folder-diff): New alias.
1093 * elmo-archive.el (elmo-archive-list-folder-subr):
1094 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
1095 (elmo-archive-get-archive-name): Ditto.
1096 (elmo-archive-create-file): Ditto.
1097 (elmo-archive-append-msg): Ditto.
1098 (elmo-archive-copy-msgs): Ditto.
1099 (elmo-archive-copy-msgs-froms): Ditto.
1100 (elmo-archive-get-msg-filename): Ditto.
1101 (elmo-archive-folder-diff): New alias.
1103 2000-10-06 Daiki Ueno <ueno@unixuser.org>
1105 * elmo-vars.el (elmo-imap4-stream-type-alist): New variable.
1106 (elmo-pop3-stream-type-alist): New variable.
1107 (elmo-nntp-stream-type-alist): New variable.
1109 * elmo-util.el (elmo-buffer-exists-p): Rewrite as function.
1110 (elmo-kill-buffer): Ditto.
1111 (elmo-get-network-stream-type): Add 2nd argument `stream-type-alist'.
1112 (elmo-network-get-spec): Add 5th argument `stream-type-alist'.
1113 (elmo-nntp-get-spec): Take into account `elmo-nntp-stream-type-alist'.
1114 (elmo-pop3-get-spec): Take into account `elmo-pop3-stream-type-alist'.
1115 (elmo-imap4-get-spec): Take into account
1116 `elmo-imap4-stream-type-alist'.
1118 2000-10-06 Kenichi OKADA <okada@opaopa.org>
1120 * elmo-nntp.el (elmo-nntp-list-folders): Fix for `-/'
1121 (elmo-nntp-list-folders-get-cache): Ditto.
1123 2000-10-05 Yuuichi Teranishi <teranisi@gohome.org>
1125 * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added space
1126 character before 'uid'.
1128 2000-10-04 Yuuichi Teranishi <teranisi@gohome.org>
1130 * elmo-msgdb.el (elmo-msgdb-delete-msgs): Don't save location data.
1132 * elmo-nntp.el (elmo-nntp-max-of-folder): Fixed.
1134 * elmo-util.el (elmo-number-set-member): New function.
1135 (elmo-number-set-append-list): Ditto.
1136 (elmo-number-set-append): Ditto.
1138 * elmo-msgdb.el (elmo-msgdb-killed-message-p):
1139 Use `elmo-number-set-member'.
1140 (elmo-living-messages): Ditto.
1141 (elmo-msgdb-set-as-killed): Use `elmo-number-set-append'.
1142 (elmo-msgdb-append-to-killed-list): Use `elmo-number-set-append-list'.
1144 * elmo-imap4.el (elmo-imap4-folder-exists-p): Rewrite.
1145 (elmo-imap4-add-to-cont-list): Abolished.
1146 (elmo-imap4-make-number-set-list): Use `elmo-number-set-append'
1147 instead of elmo-imap4-add-to-cont-list.
1149 * elmo2.el (elmo-msgdb-search): Moved from elmo-msgdb.el.
1150 (toplevel): Removed autoload setting for `elmo-imap4-get-connection'.
1152 * elmo-msgdb.el (elmo-msgdb-search): Moved to elmo2.el.
1154 2000-10-03 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
1156 * elmo-util.el (elmo-condition-parse-search-value):
1159 2000-10-03 Yuuichi Teranishi <teranisi@gohome.org>
1161 * elmo-util.el (elmo-condition-find-key-internal): New function.
1162 (elmo-condition-find-key): Ditto.
1164 * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): New function.
1165 (elmo-msgdb-search-internal): Ditto.
1166 (elmo-msgdb-search): Ditto.
1168 2000-10-02 Yuuichi Teranishi <teranisi@gohome.org>
1170 * elmo-util.el (elmo-cross-device-link-error-p): Abolished.
1171 (elmo-copy-file): Uncheck error condition for `add-name-to-file'.
1173 * elmo-nntp.el (elmo-nntp-search-primitive): Decode header field.
1174 (elmo-nntp-search-primitive): Fixed problem when condition is
1177 * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed.
1179 * elmo-nntp.el (elmo-nntp-default-use-xhdr): New variable.
1180 (elmo-nntp-xhdr-p): New macro.
1181 (elmo-nntp-set-xhdr): Ditto.
1182 (elmo-nntp-parse-xhdr-response): New function.
1183 (elmo-nntp-retrieve-field): Ditto.
1184 (elmo-nntp-search-primitive): Ditto.
1185 (elmo-nntp-search): Implemented.
1187 * elmo-date.el (elmo-date-make-sortable-string): New macro.
1189 * elmo-archive.el (elmo-archive-search): Set all number list to
1190 `elmo-archive-field-condition-match'
1192 * elmo-localdir.el (elmo-localdir-search): Likewise.
1194 * elmo-maildir.el (elmo-maildir-search): Likewise.
1196 2000-10-01 OKAZAKI Tetsurou <okazaki@be.to>
1198 * elmo-msgdb.el (elmo-living-messages): New function.
1199 * elmo-archive.el (elmo-archive-list-folder-subr): Use it.
1200 * elmo-cache.el (elmo-cache-list-folder): Ditto.
1201 * elmo-dop.el (elmo-dop-list-folder): Ditto.
1202 * elmo-imap4.el (elmo-imap4-list-folder): Ditto.
1203 * elmo-internal.el (elmo-internal-list-folder-subr): Ditto.
1204 * elmo-localdir.el (elmo-localdir-list-folder-subr): Ditto.
1205 * elmo-maildir.el (elmo-maildir-list-folder-subr): Ditto.
1206 * elmo-multi.el (elmo-multi-list-folder): Ditto.
1207 * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
1208 * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
1209 * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
1211 2000-09-29 Yuuichi Teranishi <teranisi@gohome.org>
1213 * elmo-maildir.el (elmo-maildir-pack-number): Implemented.
1215 * elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.
1217 * elmo2.el (elmo-pack-number): Added 'maildir as allowd type.
1219 * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
1220 arguments for `SEARCH' command.
1221 (elmo-imap4-parse-string): Set `POS' argument for char-after.
1222 All other related portions are changed.
1224 * elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.
1226 * elmo2.el (elmo-generic-list-folder-unread): Rewrite.
1227 (elmo-list-folder-unread): Rewrite.
1228 (elmo-list-folder-important): Ditto.
1230 * elmo-util.el (elmo-filter-get-spec): Rewrite.
1231 (elmo-condition-parse-error): New inline function.
1232 (elmo-read-search-condition): New function.
1233 (elmo-read-search-condition-internal): Ditto.
1234 (elmo-parse-search-condition): Rewrite.
1235 (elmo-condition-parse): New function.
1236 (elmo-condition-parse-or-expr): Ditto.
1237 (elmo-condition-parse-and-expr): Ditto.
1238 (elmo-condition-parse-primitive): Ditto.
1239 (elmo-condition-parse-search-value): Ditto.
1240 (elmo-buffer-field-primitive-condition-match): Ditto.
1241 (elmo-buffer-field-condition-match): Rewrite.
1242 (elmo-file-field-condition-match): Ditto.
1244 * elmo-msgdb.el (elmo-msgdb-expand-path): Use
1245 `elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.
1247 * elmo-internal.el (elmo-internal-search): Set `number' and
1248 `number-list' argument of `elmo-file-field-condition-match'.
1250 * elmo-maildir.el (elmo-maildir-search): Ditto.
1252 * elmo-imap4.el (elmo-imap4-list-folder-unread): Use
1253 `msgdb' as argument instead of `mark-alist'.
1254 (elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
1257 * elmo-multi.el: Likewise.
1259 * elmo-pipe.el: Likewise.
1261 * elmo-imap4.el (elmo-imap4-search-internal-primitive): New function.
1262 (elmo-imap4-search-internal): Rewrite.
1263 (elmo-imap4-search): Ditto.
1265 * elmo-filter.el (elmo-filter-list-folder): Rewrite.
1266 (elmo-filter-list-folder-unread): Ditto.
1267 (elmo-filter-list-folder-important): Ditto.
1268 (elmo-filter-search): Rewrite.
1270 * elmo-cache.el (elmo-cache-search-all): Set `number' and
1271 `number-list' argument of `elmo-file-field-condition-match'.
1272 (elmo-cache-search): Ditto.
1274 * elmo-localdir.el: Likewise.
1276 * elmo-archive.el (elmo-archive-field-condition-match): Added argument
1277 number-list and pass it to `elmo-buffer-field-condition-match'.
1278 (elmo-archive-field-condition-match): Pass `number-list' to
1279 `elmo-archive-field-condition-match'
1281 2000-09-25 Yuuichi Teranishi <teranisi@gohome.org>
1283 * elmo-nntp.el (elmo-nntp-list-folder): Set current group after
1286 * elmo2.el (elmo-folder-diff-async-callback): New variable.
1287 (elmo-folder-diff-async-callback-data): Ditto.
1288 (elmo-folder-diff-async): New function.
1290 * elmo-net.el (elmo-network-session-name-prefix): New variable.
1291 (elmo-network-session-cache-key): Use it as a prefix of the session
1293 (elmo-network-open-session): Ditto.
1295 * elmo-imap4.el (elmo-imap4-status-callback): New local variable.
1296 (elmo-imap4-status-callback-data): Ditto.
1297 (elmo-imap4-server-diff-async-callback): New variable.
1298 (elmo-imap4-server-diff-async-callback-data): Ditto.
1299 (elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
1300 `elmo-imap4-status-callback-data'.
1301 (elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
1302 `elmo-imap4-status-callback-data' as nil.
1303 (elmo-imap4-server-diff): Ditto.
1304 (elmo-imap4-server-diff-async-callback-1): New function.
1305 (elmo-imap4-server-diff-async): Ditto.
1306 (elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.
1308 2000-09-24 OKAZAKI Tetsurou <okazaki@be.to>
1310 * elmo-util.el (elmo-list-delete): Doc fix.
1311 (elmo-delete-lists): Abolish.
1312 * elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
1313 instead of `elmo-delete-lists'.
1315 2000-09-19 Yuuichi Teranishi <teranisi@gohome.org>
1317 * elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
1320 2000-09-18 OKAZAKI Tetsurou <okazaki@be.to>
1322 * elmo-imap4.el (elmo-imap4-literal-1): Renamed from
1323 `elmo-imap4-literal-subr'.
1324 (elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
1325 (elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.
1327 2000-09-15 Kenichi OKADA <okada@opaopa.org>
1329 * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
1330 (elmo-archive-list-folder): Fix.
1331 (elmo-archive-max-of-folder): Fix.
1333 2000-09-15 Kenichi OKADA <okada@opaopa.org>
1335 * elmo-localdir.el (elmo-localdir-copy-msgs): Use
1336 `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
1337 (elmo-localdir-append-msg): Ditto.
1338 (elmo-localdir-list-folder): Fix for `nonsort'.
1339 (elmo-localdir-list-folder-subr): Fix for `killed'.
1340 * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
1341 (elmo-maildir-list-folder-subr): Ditto.
1342 * elmo-archive.el (elmo-archive-list-folder): Ditto.
1343 (elmo-archive-list-folder-subr): Ditto.
1344 * elmo-internal.el (elmo-internal-list-folder): Ditto.
1345 (elmo-internal-list-folder-subr): Ditto.
1347 2000-09-13 Yuuichi Teranishi <teranisi@gohome.org>
1349 * elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.
1351 2000-09-12 Katsumi Yamaoka <yamaoka@jpl.org>
1353 * elmo-util.el (elmo-delete-plugged): Fix parenthesis.
1355 2000-09-11 Yuuichi Teranishi <teranisi@gohome.org>
1357 * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
1358 Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
1360 * elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
1362 (elmo-imap4-read-part): Use "body.peek" to fetch part.
1363 Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
1365 2000-09-06 Yuuichi Teranishi <teranisi@gohome.org>
1367 * mmelmo-imap4-2.el (mime-entity-children): Defined.
1369 * elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
1370 Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
1371 before STORE command.
1373 2000-09-04 Yuuichi Teranishi <teranisi@gohome.org>
1375 * elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.
1377 * elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
1378 (elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
1380 (elmo-imap4-list-folders): Removed unused local variable.
1381 (elmo-network-initialize-session): Ditto.
1382 (elmo-imap4-delete-msg-by-id): Ditto.
1383 (elmo-imap4-parse-fetch): Ditto.
1384 (elmo-imap4-copy-msgs): Ditto.
1385 Use `dst-spec' instead of `dst-folder'.
1386 (elmo-network-authenticate-session): Check authenticate type `plain'.
1388 2000-09-01 Yuuichi Teranishi <teranisi@gohome.org>
1390 * elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
1392 (elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
1393 `elmo-imap4-response-value'.
1394 (elmo-imap4-parse-response): Return value of `EXPUNGE'.
1396 2000-08-31 Yuuichi Teranishi <teranisi@gohome.org>
1398 * elmo-imap4.el (elmo-imap4-send-command):
1399 Cause elmo-imap4-bye-error when current response is BYE.
1400 (elmo-imap4-arrival-filter): Changed greeting response value.
1402 * elmo2.el (elmo-imap4-bye-error): Define.
1404 * elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
1405 (elmo-imap4-server-diff): Ditto.
1406 (elmo-imap4-response-bye-p): New macro.
1407 (elmo-imap4-response-error-text): Get text from BYE response.
1408 (elmo-imap4-read-response): Return if BYE response.
1409 (elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
1410 (elmo-imap4-folder-exists-p): Ditto.
1411 (elmo-imap4-commit): Do nothing when different mailbox is selected.
1412 (elmo-imap4-parse-bye): New function.
1413 (elmo-imap4-parse-response): Remove needless let.
1414 Call `elmo-imap4-parse-bye'.
1416 2000-08-30 Yuuichi Teranishi <teranisi@gohome.org>
1418 * elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
1419 the mailbox does not exist.
1420 (elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.
1422 2000-08-30 OKAZAKI Tetsurou <okazaki@be.to>
1424 * elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.
1426 2000-08-29 Yuuichi Teranishi <teranisi@gohome.org>
1428 * elmo-vars.el (elmo-search-mime-charset): Abolished.
1430 * elmo-pop3.el (elmo-pop3-local-variables): New variable.
1431 (elmo-network-initialize-session-buffer): Defined.
1433 * mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
1435 (mmelmo-imap4-get-mime-entity): Rewrite.
1437 * elmo2.el (elmo-error): Capitalize error message.
1439 * elmo-net.el (elmo-network-initialize-session-buffer): New method.
1440 (elmo-network-session-buffer): New macro.
1441 (elmo-network-open-session): Use it.
1443 * elmo-imap4.el: Rewrite.
1445 2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
1447 * elmo-nntp.el (Toplevel): Require 'elmo-net.
1449 2000-08-27 Daiki Ueno <ueno@unixuser.org>
1451 * elmo-imap4.el (elmo-imap4-make-address): Abolish.
1452 (elmo-imap4-msgdb-create): Don't request ENVELOPE.
1453 (elmo-imap4-create-msgdb-from-overview-string): Use
1454 `elmo-msgdb-create-overview-from-buffer'.
1456 2000-08-26 Daiki Ueno <ueno@unixuser.org>
1458 * elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
1459 (elmo-imap4-default-hierarchy-delimiter): New variable.
1460 (elmo-imap4-list-folders): Use it.
1462 2000-08-23 Yuuichi Teranishi <teranisi@gohome.org>
1464 * elmo-net.el (elmo-network-open-session): Add user and
1465 stream-type for process-buffer name.
1467 * elmo-pop3.el (elmo-network-initialize-session): Call
1468 buffer-disable-undo.
1470 * elmo-imap4.el (elmo-network-initialize-session):
1471 Set current-buffer as an argument for `buffer-disable-undo'.
1473 * elmo-pop3.el (elmo-network-close-session): Don't use
1476 * elmo-vars.el (elmo-default-pop3-authenticate-type):
1477 Set default as 'user.
1479 * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.
1481 * elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
1482 and `elmo-imap4-flush-connection'.
1484 * elmo-util.el (toplevel): Removed workaround for timezone y2k.
1485 (elmo-pop3-get-spec): Assume auth as symbol.
1486 (elmo-open-network-stream): Moved to `elmo-net'.
1488 * elmo-pop3.el (toplevel): Require 'elmo-net.
1489 Define `sasl-cram-md5' to silence byte compilier.
1490 (elmo-pop3-connection-cache) Abolished.
1491 (elmo-pop3-authenticator-alist) New variable.
1492 (elmo-pop3-session): Define.
1493 (elmo-pop3-connection-get-process): Abolished.
1494 (elmo-pop3-connection-get-buffer): Ditto.
1495 (elmo-pop3-close-connection): Ditto.
1496 (elmo-pop3-flush-connection): Ditto.
1497 (elmo-pop3-get-connection): Ditto.
1498 (elmo-pop3-get-session): New function.
1499 (Replacement for `elmo-pop3-get-connection').
1500 All other related modules are changed.
1501 (elmo-network-close-session): Define.
1502 (elmo-pop3-send-command): Abolished argument `buffer'.
1503 All other related modules are changed.
1504 (elmo-pop3-read-response): Likewise.
1505 (elmo-pop3-open-connection): Abolished.
1506 (elmo-pop3-auth-user): New function.
1507 (elmo-pop3-auth-apop): Ditto.
1508 (elmo-pop3-auth-cram-md5): Ditto.
1509 (elmo-pop3-auth-scram-md5): Ditto.
1510 (elmo-pop3-auth-digest-md5): Ditto.
1511 (elmo-network-initialize-session): Define.
1512 (elmo-network-authenticate-session): Ditto.
1513 (elmo-network-setup-session): Ditto.
1515 * elmo-imap4.el (toplevel): Require 'elmo-net.
1516 (elmo-imap4-session): Define.
1517 (elmo-imap4-connection-cache): Abolished.
1518 (elmo-imap4-password-key): Ditto.
1519 (elmo-imap4-flush-connection): Ditto.
1520 (elmo-imap4-get-connection): Ditto.
1521 All other related modules are changed.
1522 (elmo-imap4-get-session): New function
1523 (Replacement for `elmo-imap4-get-connection').
1524 (elmo-imap4-read-response): Abolished argument `buffer'.
1525 All other related modules are changed.
1526 (elmo-imap4-send-command): Likewise.
1527 (elmo-imap4-select-folder): Abolished.
1528 All other related modules are changed.
1529 (elmo-imap4-select-mailbox): New function.
1530 (Replacement for `elmo-imap4-select-folder').
1531 (elmo-imap4-auth-login): Simplify.
1532 (Assume current buffer as process buffer)
1533 (elmo-imap4-auth-cram-md5): Ditto.
1534 (elmo-imap4-auth-digest-md5): Ditto.
1535 (elmo-imap4-login): Ditto.
1536 (elmo-imap4-open-connection): Abolished.
1537 (elmo-imap4-open-connection-1): Abolished.
1538 (elmo-network-initialize-sessoin): Define.
1539 (elmo-network-authenticate-session): Ditto.
1540 (elmo-network-setup-session): Ditto.
1542 * elmo-net.el: New module.
1544 2000-08-22 Daiki Ueno <ueno@unixuser.org>
1546 * elmo-util.el (elmo-define-error): New function.
1548 * elmo2.el (elmo-error): Define.
1549 (elmo-open-error): Define.
1550 (elmo-authenticate-error): Define.
1552 * elmo-imap4.el (elmo-imap4-error): Abolish.
1553 (elmo-imap4-error-type): Abolish.
1554 (elmo-imap4-error-process): Abolish.
1555 (elmo-imap4-error-message): Abolish
1556 (elmo-imap4-list-folders): Don't quote lambda.
1557 (elmo-imap4-create-msgdb-from-overview-string): Ditto.
1558 (elmo-imap4-parse-namespace): Ditto.
1559 (elmo-imap4-open-connection): Rewrite.
1560 (elmo-imap4-open-connection-1): Simplified (authenticate only).
1561 (elmo-imap4-get-connection): Abolish local variable `result'.
1563 2000-08-21 Kaoru Takahashi <kaoru@kaisei.org>
1565 * elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
1566 wrong-type-argument error when auth is nil.
1568 2000-08-21 Yuuichi Teranishi <teranisi@gohome.org>
1570 * elmo-vars.el (elmo-default-imap4-stream-type): New variable.
1571 (elmo-default-nntp-stream-type): Ditto.
1572 (elmo-default-pop3-stream-type): Ditto.
1573 (elmo-network-stream-type-alist): Ditto.
1574 (elmo-default-imap4-ssl): Abolished.
1575 (elmo-default-nntp-ssl): Ditto.
1576 (elmo-default-pop3-ssl): Ditto.
1578 * elmo-util.el: (toplevel): Removed needless requires.
1579 (elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
1580 (elmo-open-network-stream): Open network stream according to
1581 the value of `elmo-network-stream-type-alist'.
1582 (elmo-get-network-stream-type): New function.
1583 (elmo-network-stream-type-spec-string): New macro.
1584 (elmo-network-stream-type-symbol): Ditto.
1585 (elmo-network-stream-type-function): Ditto.
1587 * elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
1588 network-stream-type. All other related portions are changed.
1589 (elmo-pop3-open-connection): Ditto.
1591 * elmo-nntp.el (elmo-nntp-setting): Follow up changes for
1592 network-stream-type. All other related portions are changed.
1594 * elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
1595 network-stream-type.All other related portions are changed.
1596 (elmo-imap4-error): New macro.
1597 (elmo-imap4-error-type): Ditto.
1598 (elmo-imap4-error-process): Ditto.
1599 (elmo-imap4-error-message): Ditto.
1600 (elmo-imap4-auth-login): Use `elmo-imap4-error'.
1601 (elmo-imap4-auth-cram-md5): Ditto.
1602 (elmo-imap4-auth-digest-md5): Ditto.
1603 (elmo-imap4-login): Ditto.
1604 (elmo-imap4-open-connection): Remove password entry if authentication
1606 (elmo-imap4-user-at-host): Abolished.
1607 (elmo-imap4-password-key): New buffer local variable.
1608 (elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
1609 using protocol, port, auth and stream-type.
1611 * elmo-dop.el (elmo-dop-list-folder): Use killed list.
1613 2000-08-13 Daiki Ueno <ueno@unixuser.org>
1615 * elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.
1617 * elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.
1619 * elmo-imap4.el (elmo-imap4-user-at-host): New variable.
1620 (elmo-imap4-authenticator-alist): New variable.
1621 (elmo-imap4-open-connection-1): Rename from
1622 elmo-imap4-open-connection.
1623 (elmo-imap4-open-connection): Abolish 5th argument `passphrase';
1624 only wraps elmo-imap4-open-connection-1.
1625 (elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
1627 (elmo-imap4-auth-login): New function.
1628 (elmo-imap4-auth-cram-md5): New function.
1629 (elmo-imap4-auth-digest-md5): New function.
1630 (elmo-imap4-login): New function.
1632 2000-08-12 Kenichi OKADA <okada@opaopa.org>
1634 * elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
1637 2000-08-12 Kenichi OKADA <okada@opaopa.org>
1639 * elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.
1641 2000-08-08 Yuuichi Teranishi <teranisi@gohome.org>
1643 * elmo2.el (elmo-move-msgs): Set value of `unseen'.
1645 2000-08-06 OKAZAKI Tetsurou <okazaki@be.to>
1647 * elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
1648 for server responses, quote `*' regardless of where it appears.
1650 2000-08-03 Kenichi OKADA <okada@opaopa.org>
1652 * elmo-maildir.el (elmo-maildir-commit): New alias.
1654 2000-08-03 Kenichi OKADA <okada@opaopa.org>
1656 * elmo-util.el (elmo-display-progress):
1657 Use `progress-feedback-with-label'.
1659 2000-08-02 OKAZAKI Tetsurou <okazaki@be.to>
1661 * elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
1662 (elmo-imap4-non-atom-char-regex): Ditto.
1663 (elmo-imap4-non-text-char-regex): Ditto.
1664 (elmo-imap4-literal-threshold): Ditto.
1665 (elmo-imap4-atom-p): New function.
1666 (elmo-imap4-quotable-p): Ditto.
1667 (elmo-imap4-nil): Ditto.
1668 (elmo-imap4-atom): Ditto.
1669 (elmo-imap4-quoted): Ditto.
1670 (elmo-imap4-literal-subr): Ditto.
1671 (elmo-imap4-literal): Ditto.
1672 (elmo-imap4-buffer-literal): Ditto.
1673 (elmo-imap4-string-subr): Ditto.
1674 (elmo-imap4-string): Ditto.
1675 (elmo-imap4-buffer-string): Ditto.
1676 (elmo-imap4-astring-subr): Ditto.
1677 (elmo-imap4-astring): Ditto.
1678 (elmo-imap4-buffer-astring): Ditto.
1679 (elmo-imap4-nstring): Ditto.
1680 (elmo-imap4-buffer-nstring): Ditto.
1681 (elmo-imap4-mailbox): New alias.
1682 (elmo-imap4-field-body): Ditto.
1683 (elmo-imap4-userid): Ditto.
1684 (elmo-imap4-password): Ditto.
1685 (elmo-imap4-format-quoted): New function.
1686 (elmo-imap4-send-command): Rewritten. Accept a list of command
1687 arguments and handle "atom", "quoted" and "literal" string here.
1688 (elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
1689 `elmo-imap4-send-command'.
1690 (elmo-imap4-folder-exists-p): Likewise.
1691 (elmo-imap4-create-folder): Likewise.
1692 (elmo-imap4-delete-folder): Likewise.
1693 (elmo-imap4-rename-folder): Likewise.
1694 (elmo-imap4-max-of-folder): Likewise.
1695 (elmo-imap4-check-validity): Likewise.
1696 (elmo-imap4-sync-validity): Likewise.
1697 (elmo-imap4-server-diff): Likewise.
1698 (elmo-imap4-select-folder): Likewise.
1699 (elmo-imap4-copy-msgs): Likewise.
1700 (elmo-imap4-search-internal): Use `elmo-imap4-astring'.
1701 (elmo-imap4-mark-set-on-msgs): Likewise.
1702 (elmo-imap4-read-part): Likewise.
1703 (elmo-imap4-read-msg): Likewise.
1704 (elmo-imap4-open-connection): Use `elmo-imap4-userid' and
1705 `elmo-imap4-password' for `elmo-imap4-send-command'.
1706 (elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
1707 (elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
1708 `elmo-imap4-buffer-literal'.
1709 (elmo-imap4-append-msg): Likewise.
1711 * elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
1712 `delete' for removing dead connection from the connection cache.
1713 Move deletion of the process buffer after that.
1714 (elmo-imap4-list): Change `defsubst' to `defun'.
1715 (elmo-imap4-commit): Make error message verbose.
1716 (elmo-imap4-search): Ditto.
1717 (elmo-imap4-list): Ditto.
1718 (elmo-imap4-select-folder): Ditto.
1719 (elmo-imap4-copy-msgs): Ditto.
1720 (elmo-imap4-delete-msg-by-id): Ditto.
1721 (elmo-imap4-append-msg-by-id): Ditto.
1722 (elmo-imap4-append-msg): Ditto.
1724 2000-07-26 Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
1726 * elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
1727 when dired is used on XEmacs.
1729 2000-07-25 OKAZAKI Tetsurou <okazaki@be.to>
1731 * elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
1732 instead of `append'.
1733 (elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
1734 `elmo-plugged-p' directly.
1735 * elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
1736 of `elmo-plugged-p' directly.
1738 * elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
1739 Eliminate unused variable. Use `memq' for checking a process status.
1740 Use `cons' instead of `append' for updating the connection cache.
1741 * elmo-nntp.el (elmo-nntp-get-connection): Likewise.
1742 * elmo-imap4.el (elmo-imap4-get-connection): Likewise.
1744 2000-07-22 OKAZAKI Tetsurou <okazaki@be.to>
1746 * elmo-imap4.el (elmo-imap4-read-bytes): Advance
1747 `elmo-imap4-read-point' exactly.
1749 * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
1750 the local variable `folder' to `mailbox'.
1751 Rename the argument `fld' to `folder'.
1753 2000-07-20 Kenichi OKADA <okada@opaopa.org>
1755 * elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
1756 * elmo-imap4.el (elmo-imap4-commit): Ditto.
1758 2000-07-18 Yuuichi Teranishi <teranisi@gohome.org>
1760 * elmo-pop3.el (elmo-pop3-use-uidl): New variable.
1761 (elmo-pop3-number-uidl-hash): New buffer-local variable.
1762 (elmo-pop3-uidl-number-hash): Ditto.
1763 (elmo-pop3-size-hash): Ditto.
1764 (elmo-pop3-uidl-done): Ditto.
1765 (elmo-pop3-list-done): Ditto.
1766 (elmo-pop3-connection-get-process): New defmacro.
1767 (elmo-pop3-connection-get-buffer): Ditto.
1768 (elmo-pop3-close-connection): Delete buffer and process.
1769 (elmo-pop3-flush-connection): Don't delete buffer and process.
1770 (elmo-pop3-get-connection): Added optional argument `if-exists'.
1771 Setup UIDL and size hash.
1772 (elmo-pop3-send-command-no-erase): Deleted
1773 (elmo-pop3-send-command): Added optional argument `no-erase'.
1774 (elmo-pop3-parse-uidl-response): New function.
1775 (elmo-pop3-parse-list-response): Set size hash.
1776 (elmo-pop3-list-location): New function.
1777 (elmo-pop3-list-by-uidl-subr): Ditto.
1778 (elmo-pop3-list-by-list): Ditto.
1779 (elmo-pop3-list-folder): Call `elmo-pop3-commit'.
1780 Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
1781 (elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
1782 Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
1783 (elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
1785 (elmo-pop3-uidl-to-number): New function.
1786 (elmo-pop3-number-to-uidl): Ditto.
1787 (elmo-pop3-number-to-size): Ditto.
1788 (elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
1789 Set number by use of uidl.
1790 (elmo-pop3-msgdb-create-message): Likewise.
1791 Set size, loc-alist in msgdb.
1792 (elmo-pop3-read-msg): Set number by use of uidl.
1793 Added optional argument `msgdb'.
1794 (elmo-pop3-delete-msg): Ditto.
1795 (elmo-pop3-delete-msgs): Added optional argument `msgdb'.
1796 (elmo-pop3-commit): Close connection.
1798 * elmo-pipe.el (elmo-pipe-max-of-folder):
1799 Bind `elmo-pop3-use-uidl' as nil.
1800 (elmo-pipe-drain): Ditto.
1803 * elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
1804 (elmo-msgdb-overview-entity-set-size): New defsubst.
1806 2000-07-17 Yuuichi Teranishi <teranisi@gohome.org>
1808 * elmo-vars.el (elmo-use-killed-list): New variable
1809 (Renamed from `elmo-nntp-use-killed-list').
1810 (elmo-nntp-use-killed-list): Eliminated.
1812 * elmo-msgdb.el (elmo-msgdb-expand-path):
1813 Changed expanding msgdb path for elmo-multi.
1815 * elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
1816 elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
1817 elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
1818 elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
1819 elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
1820 mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
1821 (toplevel): Deleted time-stamp line.
1823 * elmo2.el (elmo-clear-killed ): Defined as function
1824 (Abolished defining as a backend function).
1825 All other related modules are changed.
1827 2000-07-14 Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>
1829 * elmo-cache.el (elmo-cache-clear-killed): Fixed.
1831 2000-07-13 Yuuichi Teranishi <teranisi@gohome.org>
1833 * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.
1835 2000-07-12 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
1837 * elmo-pop3.el (elmo-pop3-clear-killed): New alias.
1839 2000-07-11 Yuuichi Teranishi <teranisi@gohome.org>
1841 * elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
1842 asynchronous folder check.
1844 * elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.
1846 * elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
1847 `elmo-nntp-use-killed-list'.
1848 (elmo-nntp-list-folder): Use killed list.
1849 (elmo-nntp-max-of-folder): Ditto.
1850 (elmo-nntp-msgdb-create): Set killed list.
1852 * elmo-vars.el (elmo-nntp-use-killed-list): New user option.
1854 * elmo2.el (elmo-clear-killed): New backend function.
1855 All other related modules are changed.
1857 2000-07-07 OKAZAKI Tetsurou <okazaki@be.to>
1859 * elmo-util.el (elmo-imap4-spec-folder): Use
1860 `elmo-imap4-spec-mailbox'; Mark as obsolete.
1861 All callers changed.
1863 2000-06-22 Yuuichi Teranishi <teranisi@gohome.org>
1865 * mmelmo-2.el (initialize-instance):
1866 Use `mime-buffer-entity-buffer-internal' instead of
1867 `mime-entity-buffer'.
1869 * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
1870 (mime-entity-body): Implemented.
1871 (mime-goto-header-start-point): Deleted.
1872 (mime-goto-body-end-point): Ditto.
1873 (mime-entity-point-min): Ditto.
1874 (mime-entity-point-max): Ditto.
1875 (mime-entity-children): Ditto.
1876 (mime-insert-header): Use `mime-buffer-entity-buffer-internal'
1877 instead of `mime-entity-buffer'.
1878 (mime-entity-header-buffer): Ditto.
1879 (mime-entity-body-buffer): Ditto.
1880 (mime-write-entity-content): Ditto.
1882 * pldap.el (ldap-static-if): New macro.
1883 (toplevel): Use it instead of `static-if'.
1885 2000-06-19 Yuuichi Teranishi <teranisi@gohome.org>
1887 * pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
1888 included in `attrs' argument.
1890 2000-06-16 Yuuichi Teranishi <teranisi@gohome.org>
1892 * elmo-util.el (elmo-get-passwd): Use old backquote style.
1894 * pldap.el (ldap-ldif-safe-char-regexp): New constant.
1895 (ldap-ldif-safe-init-char-regexp): Ditto.
1896 (ldap-ldif-safe-string-regexp): Ditto.
1897 (ldap/ldif-safe-string-p): New macro.
1898 (ldap/ldif-insert-field): Ditto.
1899 (ldap-modify): Use it.
1901 (ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
1902 (ldap-decode-attribute): Decode only when `attr' is consp.
1903 (ldap-delete): Bind `ret'.
1904 (toplevel): Require 'cl at compile time.
1905 Removed (require 'poe) and (require 'std11).
1906 (pldap-version): Eliminated.
1907 (ldap-search-basic): Removed auth and dn binding.
1908 (ldap-ldif-field-name-regexp): New constant.
1909 (ldap-ldif-field-head-regexp): Ditto.
1910 (ldap-ldif-next-field-head-regexp): Ditto.
1911 (ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
1912 (ldap/field-end): New function.
1913 (ldap/field-body): Use it.
1914 (ldap/collect-field): Ditto.
1915 (ldap-search-basic): Use `ldap/field-body'.
1917 2000-06-15 Yuuichi Teranishi <teranisi@gohome.org>
1919 * pldap.el (ldap-default-attribute-encoder): New user option.
1920 (ldap/field-body): Decode base64 string.
1921 (ldap/collect-field): Ditto.
1922 (ldap-encode-attribute): New function.
1923 (ldap-add-entries): Use it.
1924 (ldap-modify-entries): Ditto.
1925 (ldap-search-entries): Enclosed decoding function with
1926 `with-temp-buffer' and set as unibyte.
1927 (ldap-search-basic): Set process buffer as unibyte.
1929 * elmo-util.el (elmo-folder-identical-system-p):
1930 Eliminated name space checking.
1932 * pldap.el: New module.
1933 toplevel: Changed condition to detect built-in ldap feature.
1934 (ldap-delete): Enclosed call-process with `with-temp-buffer'.
1935 (ldap-add): Added error handling.
1936 (ldap-modify): Ditto.
1937 (ldap-delete): Ditto.
1939 2000-06-03 OKAZAKI Tetsurou <okazaki@be.to>
1941 * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
1942 Initialize local variables with `let'. Inline a temporary
1943 variable for the progress percentage. Sort `setq' to reduce
1944 function call in the while-loop.
1946 * mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
1947 into the conditional branch.
1949 2000-05-30 OKAZAKI Tetsurou <okazaki@be.to>
1951 * elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
1952 Move a conditional out of the while-loop.
1954 2000-05-27 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1956 * elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
1957 elmo-msgdb-overview-get-entity-by-number.
1958 (elmo-msgdb-overview-get-entity-by-number): Don't use catch and
1961 2000-05-26 OKAZAKI Tetsurou <okazaki@be.to>
1963 * elmo-localdir.el (elmo-localdir-pack-number): Renamed
1964 the local variable for a packed number self descriptively.
1966 2000-05-21 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1968 * elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
1969 * elmo-localdir.el (elmo-localdir-pack-number): Use
1970 `elmo-msgdb-overview-get-entity' instead of
1971 `elmo-msgdb-overview-get-entity-by-number'.
1972 * elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
1973 (elmo-msgdb-search-overview-entity): Removed.
1974 (elmo-msgdb-overview-get-entity): Change argument. Get overview entity
1975 by message-id or number.
1976 (elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
1977 instead of `elmo-msgdb-overview-get-entity-by-number'.
1979 2000-05-20 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1981 * elmo-vars.el (elmo-use-overview-hashtb): New variable. If
1982 non-nil, use hash table for overview.
1983 (elmo-hash-maximum-size): New variable.
1984 * elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
1985 (elmo-msgdb-make-overview-hashtb): New function.
1986 (elmo-msgdb-clear-overview-hashtb): New function.
1987 (elmo-clear-hash-val): New macro.
1988 All other related modules are changed.
1990 2000-05-18 Yuuichi Teranishi <teranisi@gohome.org>
1992 * elmo2.el (elmo-move-msgs): If there's other message with
1993 same message-id, don't use cache.
1995 2000-05-18 Nishimoto Masaki <nishimoto@gaju.org>
1997 * elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
1998 number is already packed.
2000 2000-05-15 OKAZAKI Tetsurou <okazaki@be.to>
2002 * elmo-vars.el: Doc fixes. Trim trailing whitespace.
2004 2000-05-12 Masahiro MURATA <muse@ba2.so-net.ne.jp>
2006 * elmo-vars.el (elmo-display-progress-threshold): New variable.
2007 All other related modules are changed.
2009 2000-05-11 Yuuichi Teranishi <teranisi@gohome.org>
2011 * elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
2012 of refiling failure on Maildir.
2014 2000-05-10 Masahiro MURATA <muse@ba2.so-net.ne.jp>
2016 * elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
2017 decoded mime-charset with cache.
2018 (elmo-msgdb-overview-entity-get-from): Ditto.
2019 (elmo-msgdb-overview-entity-get-subject): Ditto.
2020 * elmo-vars.el (elmo-use-decoded-cache): New variable.
2022 2000-05-10 Kenichi OKADA <okada@opaopa.org>
2024 * elmo-utils.el (elmo-get-passwd): Set timeout of password.
2025 (elmo-remove-passwd): Fill password with 0 before erase.
2026 * elmo-vars.el (elmo-passwd-life-time): New variable.
2029 2000-05-10 Yuuichi Teranishi <teranisi@gohome.org>
2031 * elmo-cache.el (elmo-buffer-cache-add):
2032 Set message cache buffer as unibyte.
2034 2000-05-07 Masahiro MURATA <muse@ba2.so-net.ne.jp>
2036 * elmo-archive.el (elmo-archive-list-folders): Fix base-folder
2039 2000-04-28 Yuuichi Teranishi <teranisi@gohome.org>
2041 * elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
2042 when display is finished.
2043 (elmo-nntp-msgdb-create): Ditto.
2044 (elmo-nntp-groups-read-response): Ditto.
2045 (elmo-nntp-retrieve-headers): Ditto.
2046 (elmo-nntp-msgdb-create-message): Ditto.
2047 * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
2048 (elmo-pop3-msgdb-create-message): Ditto.
2050 2000-04-24 Yuuichi Teranishi <teranisi@elmo.dq.isl.ntt.co.jp>
2052 * elmo-maildir.el (elmo-maildir-msgdb-create):
2053 Use `elmo-msgdb-sort-by-date'.
2055 2000-04-20 Yuuichi Teranishi <teranisi@gohome.org>
2057 * elmo2.el (elmo-read-msg-no-cache):
2058 Eliminated arguments after `outbuf'.
2059 Don't use cache even if it exists.
2060 (elmo-read-msg): Don't pass arguments after `outbuf' to
2061 `elmo-read-msg-no-cache'.
2063 2000-04-15 Yuuichi Teranishi <teranisi@elmo.dq.isl.ntt.co.jp>
2065 * elmo-archive.el (elmo-archive-list-folders):
2066 Use `file-name-directory' if base folder does not exist.
2068 2000-04-14 Nishimoto Masaki <nishimoto@gaju.org>
2070 * elmo-archive.el (elmo-archive-list-folders): Don't use
2071 `file-name-directory'.
2073 2000-04-07 Yuuichi Teranishi <teranisi@gohome.org>
2075 * elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
2076 If `force' is non-nil, try flushing all operation queues.
2078 2000-04-03 Yuuichi Teranishi <teranisi@gohome.org>
2080 * elmo-pop3.el (elmo-pop3-open-connection): Enclose with
2083 2000-03-29 Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
2085 * elmo-util.el (elmo-display-progress): Fixed.
2087 2000-03-27 Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
2089 * elmo-util.el (elmo-display-progress): New function.
2090 All other related modules are changed.