1 2000-11-20 Kenichi OKADA <okada@opaopa.org>
3 * elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'
5 2000-11-20 Kenichi OKADA <okada@opaopa.org>
7 * elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
9 (elmo-network-authenticate-session): Use `elmo-pop-auth-user'
10 and `elmo-pop-auth-apop'.
12 2000-11-20 Kenichi OKADA <okada@opaopa.org>
14 * elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.
16 2000-11-20 Kenichi OKADA <okada@opaopa.org>
18 * elmo-pop3.el (elmo-network-authenticate-session): Split
19 encoded response value.
21 2000-11-20 Kenichi OKADA <okada@opaopa.org>
23 * elmo-pop3.el (elmo-network-authenticate-session): Abolish
24 `elmo-pop3-force-login'.
25 Redefine `sasl-mechanisms'.
26 * elmo-vars.el (elmo-pop3-force-login): Ditto.
28 2000-11-20 Kenichi OKADA <okada@opaopa.org>
30 * elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
31 Delete `elmo-imap4-authenticator-alist'.
32 (elmo-imap4-auth-cram-md5): Delete.
33 (elmo-imap4-auth-digest-md5): Delete.
35 2000-11-20 Kenichi OKADA <okada@opaopa.org>
37 * elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
38 (elmo-pop3-auth-scram-md5): Ditto.
39 (elmo-pop3-auth-cram-md5): Ditto.
41 2000-11-19 Kenichi OKADA <okada@opaopa.org>
43 * elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
44 Delete `elmo-pop3-authenticator-alist'.
46 2000-11-19 Kenichi OKADA <okada@opaopa.org>
48 * elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
50 * elmo-imap4.el (elmo-network-authenticate-session): Ditto.
52 2000-11-19 Kenichi OKADA <okada@opaopa.org>
54 * elmo-version.el (elmo-version): Up to 2.5.2.
56 2000-11-15 Yuuichi Teranishi <teranisi@gohome.org>
58 * elmo-version.el (elmo-version): Up to 2.5.1.
60 2000-11-13 Yuuichi Teranishi <teranisi@gohome.org>
62 * elmo-pop3.el (elmo-pop3-folder-exists-p): Don't use UIDL.
64 * elmo-internal.el (elmo-internal-search): Fix last change.
66 2000-11-08 Yuuichi Teranishi <teranisi@gohome.org>
68 * elmo-internal.el (elmo-internal-search): Rewrite.
69 (Fixed problem which is pointed out by Akihiro MOTOKI
70 <motoki@da.jp.nec.com>)
72 * elmo-version.el (elmo-version): Up to 2.5.0.
74 2000-11-06 Kenichi OKADA <okada@opaopa.org>
76 * elmo-imap4.el (elmo-imap4-list-folders): Append authenticate-type.
78 2000-11-06 Kenichi OKADA <okada@opaopa.org>
80 * elmo-imap4.el (elmo-imap4-list-folders): When hierarchy is
81 non-nil, make hierarchy.
83 2000-11-05 OKAZAKI Tetsurou <okazaki@be.to>
85 * elmo-pipe.el (elmo-pipe-drain): When calling `elmo-list-folder',
86 `elmo-pop3-use-uidl' must be bound to nil.
87 (Pointed out by Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>)
89 2000-11-02 Yuuichi Teranishi <teranisi@gohome.org>
91 * elmo-util.el (elmo-copy-file): Don't cause an error after
92 `add-name-to-file' failed.
94 * elmo-pipe.el (elmo-pipe-drain): List folder before loading msgdb.
95 (Fix by HIROSE Yuuji <yuuji@gentei.org>)
97 2000-11-01 TAKAHASHI Kaoru <kaoru@kaisei.org>
99 * elmo-version.el (elmo-version): Up to 2.3.93.
101 2000-11-01 Yuuichi Teranishi <teranisi@gohome.org>
103 * elmo-util.el (elmo-flatten): New function.
105 2000-10-31 TAKAHASHI Kaoru <kaoru@kaisei.org>
107 * elmo-archive.el (toplevel): Added (C) to copyright notice, and
109 * elmo-cache.el (toplevel): Ditto.
110 * elmo-database.el (toplevel): Ditto.
111 * elmo-date.el (toplevel): Ditto.
112 * elmo-dop.el (toplevel): Ditto.
113 * elmo-filter.el (toplevel): Ditto.
114 * elmo-imap4.el (toplevel): Ditto.
115 * elmo-internal.el (toplevel): Ditto.
116 * elmo-localdir.el (toplevel): Ditto.
117 * elmo-localnews.el (toplevel): Ditto.
118 * elmo-maildir.el (toplevel): Ditto.
119 * elmo-msgdb.el (toplevel): Ditto.
120 * elmo-multi.el (toplevel): Ditto.
121 * elmo-net.el (toplevel): Ditto.
122 * elmo-nntp.el (toplevel): Ditto.
123 * elmo-pipe.el (toplevel): Ditto.
124 * elmo-pop3.el (toplevel): Ditto.
125 * elmo-util.el (toplevel): Ditto.
126 * elmo-vars.el (toplevel): Ditto.
127 * elmo2.el (toplevel): Ditto.
128 * mmelmo-imap4.el (toplevel): Ditto.
129 * mmelmo.el (toplevel): Ditto.
131 * elmo-version.el (elmo-version): Move to top.
133 * elmo-cache.el (toplevel): Fixed multiple Author header format.
134 * elmo-imap4.el (toplevel): Ditto.
135 * elmo-localdir.el (toplevel): Ditto.
136 * elmo-msgdb.el (toplevel): Ditto.
137 * elmo-nntp.el (toplevel): Ditto.
138 * elmo-pop3.el (toplevel): Ditto.
139 * elmo-version.el (toplevel): Ditto.
141 * elmo-localnews.el (toplevel): Added Keyword header.
143 2000-10-31 Yuuichi Teranishi <teranisi@gohome.org>
145 * elmo-version.el (product-version-as-string): Defined using
149 * elmo-localdir.el (toplevel): Updated copyright notice.
150 * elmo-version.el (toplevel): Ditto.
151 * elmo-msgdb.el (toplevel): Ditto.
152 * elmo-imap4.el (toplevel): Ditto.
153 * elmo-nntp.el (toplevel): Ditto.
154 * elmo-pop3.el (toplevel): Ditto.
156 2000-10-30 Yuuichi Teranishi <teranisi@gohome.org>
158 * elmo-pipe.el (elmo-pipe-drain): Don't save msgdb after moving
161 * mmelmo.el (mime-parse-parameters-from-list): Don't downcase
162 parameter value (It sometimes contains raw kanji).
164 2000-10-28 Kenichi OKADA <okada@opaopa.org>
166 * elmo-imap4.el (elmo-network-initialize-session): Check capability.
167 * elmo-pop3.el (elmo-network-initialize-session): Ditto.
169 2000-10-28 Kenichi OKADA <okada@opaopa.org>
171 * elmo-imap4.el (elmo-network-initialize-session): Fix.
173 2000-10-28 Kenichi OKADA <okada@opaopa.org>
175 * elmo-imap4.el (elmo-network-initialize-session): Change error message.
176 * elmo-pop3.el (elmo-network-initialize-session): Change error message.
178 2000-10-27 Yuuichi Teranishi <teranisi@gohome.org>
180 * elmo-imap4.el (elmo-imap4-session-select-mailbox): Return response
181 value if selecting folder succceeded.
182 (Advised by MII Kazuyoshi <mii@isl.ntt.co.jp> for prom-wl.)
184 2000-10-26 TAKAHASHI Kaoru <kaoru@kaisei.org>
186 * elmo-util.el (elmo-make-directory): Fixed permission lateral
189 * elmo-util.el (elmo-string-matched-member): New function.
191 2000-10-26 Yuuichi Teranishi <teranisi@gohome.org>
193 * elmo-util.el (elmo-unintern): New macro.
194 (elmo-number-set-member): Fixed docstring.
196 * elmo-imap4.el (elmo-imap4-parse-response): Call `elmo-unintern' for
199 2000-10-25 OKAZAKI Tetsurou <okazaki@be.to>
201 * elmo-imap4.el (elmo-imap4-client-eol): Remove duplicated defvar
202 of `elmo-imap4-status' and `elmo-imap4-reached-tag'.
204 2000-10-24 Yuuichi Teranishi <teranisi@gohome.org>
206 * elmo-imap4.el (elmo-imap4-session-select-mailbox): Added argument
209 Return non-nil if selecting folder succeeded.
210 (elmo-imap4-folder-exists-p): Call with argument 'no-error.
212 2000-10-23 Yuuichi Teranishi <teranisi@gohome.org>
214 * elmo-maildir.el (elmo-maildir-get-filename): Fixed problem when
215 `file-name-completion' returns t.
216 (Reported by Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>)
217 (elmo-maildir-set-mark): Put `info' part to the files in the cur
218 directory if it does not exist.
219 (elmo-maildir-update-current): Use `while' instead of `mapcar'
222 2000-10-20 Yuuichi Teranishi <teranisi@gohome.org>
224 * elmo-imap4.el (elmo-imap4-folder-exists-p): Removed `condition-case'
225 enclosure (It's harmful in unplugged status).
227 * elmo-pop3.el (elmo-pop3-folder-exists-p): Ditto.
229 * mmelmo-1.el: Removed.
231 * mmelmo-2.el: Ditto.
233 * mmelmo-imap4-1.el: Ditto.
235 * mmelmo-imap4-2.el: Ditto.
237 * mmelmo-imap4.el: Merged mmelmo-imap4-2.el
239 * mmelmo.el: Merged mmelmo-2.el.
241 * elmo-version.el (elmo-version): Up to 2.3.92.
243 2000-10-19 TAKAHASHI Kaoru <kaoru@kaisei.org>
245 * elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
246 elmo-update-number): Remove last period in "...done." message.
247 * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
249 * elmo-cache.el (elmo-cache-expire-by-size,
250 elmo-cache-get-sorted-cache-file-list,
251 elmo-cache-msgdb-create-as-numlist): Ditto.
252 * elmo-dop.el (elmo-dop-save-pending-messages,
253 (elmo-dop-flush-pending-append-operations): Ditto.
254 * elmo-imap4.el (elmo-imap4-msgdb-create): Ditto.
255 * elmo-internal.el (elmo-internal-msgdb-create): Ditto.
256 * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist,
257 (elmo-localdir-pack-number): Ditto.
258 * elmo-maildir.el (elmo-maildir-msgdb-create): Ditto.
259 * elmo-msgdb.el (elmo-msgdb-sort-by-date): Ditto.
260 * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer,
261 mime-write-entity-content): Ditto.
262 * pldap.el (ldap-search-basic): Ditto.
264 2000-10-18 Yuuichi Teranishi <teranisi@gohome.org>
266 * elmo-version.el (elmo-version): Up to 2.3.91.
268 * elmo-filter.el (elmo-filter-folder-diff): Use target folder's diff
269 Only when filter is 'last'.
271 * elmo-util.el (elmo-condition-atom-regexp): New constant.
272 (elmo-condition-parse-search-value): Use it.
273 (elmo-read-search-condition-internal): Quote value only when
276 2000-10-18 Kenichi OKADA <okada@opaopa.org>
278 * elmo2.el (elmo-generic-folder-diff): Fix.
280 2000-10-17 Kenichi OKADA <okada@opaopa.org>
282 * elmo-msgdb.el (elmo-msgdb-killed-list-length): New function.
283 * elmo-localdir.el (elmo-localdir-list-folder-subr): Fix.
284 * elmo-maildir.el (elmo-maildir-list-folder-subr): Fix.
285 * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
286 * elmo-internal.el (elmo-internal-list-folder-subr): Fix.
287 * elmo-imap4.el (elmo-imap4-max-of-folder): Fix.
289 2000-10-17 Akihiro MOTOKI <motoki@da.jp.nec.com>
291 * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Search by
294 2000-10-17 Yuuichi Teranishi <teranisi@gohome.org>
296 * elmo-version.el (elmo-version): Up to 2.3.90.
298 * elmo-imap4.el (elmo-imap4-list-folder-unread): Check plugged status.
299 (elmo-imap4-list-folder-important): Ditto.
301 2000-10-16 Kenichi OKADA <okada@opaopa.org>
303 * elmo-nntp.el (elmo-network-initialize-session): Fix.
305 2000-10-16 Kenichi OKADA <okada@opaopa.org>
307 * elmo-nntp.el (elmo-nntp-read-msg): Don't error.
309 2000-10-15 Kenichi OKADA <okada@opaopa.org>
311 * elmo-nntp.el (elmo-network-initialize-session):
312 Add starttls negotiation.
314 2000-10-15 Masahiro MURATA <muse@ba2.so-net.ne.jp>
316 * elmo-nntp.el (elmo-network-initialize-session): Read greeting
318 (elmo-network-setup-session): Define.
319 Call `elmo-nntp-send-mode-reader' when session opened.
321 2000-10-13 Yuuichi Teranishi <teranisi@gohome.org>
323 * elmo-multi.el (elmo-multi-list-folder-unread): Fixed.
325 2000-10-13 OKAZAKI Tetsurou <okazaki@be.to>
327 * elmo-imap4.el (elmo-imap4-search-internal-primitive): Remove
328 an invalid SPACE character ahead of `SEARCH' command. Move
329 a valid SPACE character following `SEARCH' from conditional
330 `format' arguments to control-strings.
332 2000-10-13 Yuuichi Teranishi <teranisi@gohome.org>
334 * elmo2.el (elmo-call-func-on-markable-msgs): Return t if marking
337 * elmo-util.el (elmo-folder-get-spec): Enclose with save-match-data.
339 2000-10-12 Yuuichi Teranishi <teranisi@gohome.org>
341 * elmo-localdir.el (elmo-localdir-list-folders-subr): Bind
342 `w32-get-true-file-link-count' as t.
344 * elmo-imap4.el (elmo-imap4-read): Abolished.
345 (Renamed to `elmo-read' and moved to elmo-util.el)
346 All other related portions are changed.
348 * elmo-util.el (elmo-read): New function.
349 (elmo-condition-parse-search-value): Use it.
351 2000-10-11 Yuuichi Teranishi <teranisi@gohome.org>
353 * elmo2.el (elmo-quit): Don't use `elmo-nntp-flush-connection'.
355 * elmo-nntp.el (elmo-nntp-session): Define.
356 (elmo-nntp-setting): Abolished.
357 All other related portions are changed.
358 (elmo-nntp-get-server-command): Changed argument.
359 (elmo-nntp-set-server-command): Ditto.
360 (elmo-nntp-xover-p): Ditto.
361 (elmo-nntp-set-xover): Ditto.
362 (elmo-nntp-listgroup-p): Ditto.
363 (elmo-nntp-set-listgroup): Ditto.
364 (elmo-nntp-list-active-p): Ditto.
365 (elmo-nntp-set-list-active): Ditto.
366 (elmo-nntp-xhdr-p): Ditto.
367 (elmo-nntp-set-xhdr): Ditto.
368 (elmo-nntp-flush-connection): Abolished.
369 (elmo-nntp-get-connection): Abolished.
370 (elmo-nntp-get-session): New function.
371 (elmo-network-initialize-session): Defined.
372 (elmo-network-authenticate-session): Ditto.
373 (elmo-nntp-send-mode-reader): Changed argument.
374 (elmo-nntp-send-command): Changed argument.
375 All other related portions are changed.
376 (elmo-nntp-read-response): Ditto.
377 (elmo-nntp-read-raw-response): Ditto.
378 (elmo-nntp-read-contents): Ditto.
379 (elmo-nntp-read-body): Ditto.
380 (elmo-nntp-goto-folder): Abolished.
381 (elmo-nntp-select-group): New function.
382 All other related portions are changed.
383 (This function substitutes `elmo-nntp-goto-folder')
384 (elmo-nntp-msgdb-create-by-header): Rewrite.
385 (elmo-nntp-get-overview): Eliminated.
386 (elmo-nntp-get-message): Ditto.
387 (elmo-nntp-open-connection) Abolished.
388 (elmo-nntp-read-msg): Rewrite.
389 (elmo-nntp-post): Ditto.
390 (elmo-nntp-send-data): Abolished.
391 (elmo-nntp-send-buffer): New function.
392 (elmo-nntp-send-data-line): Define as inline function.
393 (elmo-nntp-get-folders-info-prepare): Use session as key.
394 (elmo-nntp-groups-read-response): Changed argument.
395 (elmo-nntp-retrieve-headers): Ditto.
396 (elmo-nntp-msgdb-create-message): Ditto.
398 * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Fixed problem
399 when searching by 'since' or 'before'.
401 2000-10-11 TAKAHASHI Kaoru <kaoru@kaisei.org>
403 * elmo-version.el (toplevel): Use product-version-as-string for set
404 verstion-string, if defined.
406 2000-10-11 OKAZAKI Tetsurou <okazaki@be.to>
408 * elmo-util.el: Doc fixes.
410 2000-10-10 TAKAHASHI Kaoru <kaoru@kaisei.org>
412 * elmo-archive.el (toplevel): Use product-provide.
413 * elmo-cache.el (toplevel): Ditto.
414 * elmo-database.el (toplevel): Ditto.
415 * elmo-date.el (toplevel): Ditto.
416 * elmo-dop.el (toplevel): Ditto.
417 * elmo-filter.el (toplevel): Ditto.
418 * elmo-imap4.el (toplevel): Ditto.
419 * elmo-internal.el (toplevel): Ditto.
420 * elmo-localdir.el (toplevel): Ditto.
421 * elmo-localnews.el (toplevel): Ditto.
422 * elmo-maildir.el (toplevel): Ditto.
423 * elmo-msgdb.el (toplevel): Ditto.
424 * elmo-multi.el (toplevel): Ditto.
425 * elmo-net.el (toplevel): Ditto.
426 * elmo-nntp.el (toplevel): Ditto.
427 * elmo-pipe.el (toplevel): Ditto.
428 * elmo-pop3.el (toplevel): Ditto.
429 * elmo-util.el (toplevel): Ditto.
430 * elmo-vars.el (toplevel): Ditto.
431 * elmo2.el (toplevel): Ditto.
432 * mmelmo-1.el (toplevel): Ditto.
433 * mmelmo-2.el (toplevel): Ditto.
434 * mmelmo-imap4-1.el (toplevel): Ditto.
435 * mmelmo-imap4-2.el (toplevel): Ditto.
436 * mmelmo-imap4.el (toplevel): Ditto.
437 * mmelmo.el (toplevel): Ditto.
439 2000-10-10 Kenichi OKADA <okada@opaopa.org>
441 * elmo-dop.el (elmo-dop-flush-pending-append-operations): Add no-see.
442 (elmo-dop-call-func-on-msgs): Don't delete appends from msgs.
444 2000-10-10 Yuuichi Teranishi <teranisi@gohome.org>
446 * elmo-multi.el (elmo-multi-split-mark-alist): Copy and sort alist
448 (elmo-multi-split-number-alist): Ditto.
450 2000-10-10 TAKAHASHI Kaoru <kaoru@kaisei.org>
452 * elmo-version.el: New file. Use product.el.
453 * elmo2.el: Add (require 'elmo-version).
454 * elmo-vars.el (elmo-appname, elmo-version): Move to
457 2000-10-09 Yuuichi Teranishi <teranisi@gohome.org>
459 * elmo2.el (elmo-copy-msgs): Set `spec' as 1st argument for
460 `elmo-msgdb-expand-path'.
461 (elmo-msgdb-load): Ditto.
462 Abolished 2nd argument. If 1st argument is not string, treat as spec.
463 (elmo-generic-list-folder-unread): Rewrite.
464 (elmo-generic-list-folder-important): Changed argument.
465 (elmo-list-folder-unread): Ditto.
466 (elmo-list-folder-important): Ditto.
467 (elmo-folder-diff): Rewrite.
468 (elmo-generic-folder-diff): New function.
469 (elmo-multi-get-number-alist-list): Abolished
470 (Renamed to elmo-multi-split-number-alist and moved to elmo-multi.el)
471 (elmo-multi-folder-diff): Moved to elmo-multi.el
472 (toplevel): Removed autoload setting of `elmo-multi-folder-diff'.
474 * elmo-pop3.el (elmo-pop3-list-folder): Set `spec' as 1st argument for
475 `elmo-msgdb-expand-path'.
476 (elmo-pop3-msgdb-create-as-numlist): Ditto.
477 (elmo-pop3-read-msg): Ditto.
478 (elmo-pop3-delete-msgs): Ditto.
479 (elmo-pop3-folder-diff): New alias.
481 * elmo-pipe.el (elmo-pipe-list-folder): Set `spec' as 1st argument for
482 `elmo-msgdb-expand-path'.
483 (elmo-pipe-list-folder-unread): Changed arguments.
484 (elmo-pipe-list-folder-important): Ditto.
485 (elmo-pipe-folder-diff): New alias.
487 * elmo-nntp.el (elmo-nntp-list-folder): Set `spec' as 1st argument for
488 `elmo-msgdb-expand-path'.
489 (elmo-nntp-max-of-folder): Ditto.
490 (elmo-nntp-msgdb-create): Ditto.
491 (elmo-nntp-delete-msgs): Ditto.
492 (elmo-nntp-folder-diff): New alias.
494 * elmo-multi.el (elmo-multi-folder-diff): New function.
495 (elmo-multi-split-mark-alist): Ditto.
496 (elmo-multi-split-number-alist): Ditto.
497 (elmo-multi-mark-alist-list): Abolished (Renamed to
498 elmo-multi-split-mark-alist).
499 (elmo-multi-list-folder-unread): Rewrite.
500 (elmo-multi-list-folder-important): Ditto.
501 (elmo-multi-list-folder): Set `spec' as 1st argument for
502 `elmo-msgdb-expand-path'.
503 (elmo-multi-sync-number-alist): Use `elmo-multi-split-number-alist'
504 instead of `elmo-multi-get-number-alist-list'.
506 * elmo-msgdb.el (elmo-msgdb-expand-path): Abolished 2nd argument.
507 If 1st argument is not string, treat as spec.
508 (elmo-list-folder-by-location): Set `spec' as 1st argument for
509 `elmo-msgdb-expand-path'.
510 (elmo-msgdb-flist-load): Ditto.
511 (elmo-msgdb-flist-save): Ditto.
512 (elmo-msgdb-delete-path): Ditto.
513 (elmo-msgdb-rename-path): Ditto.
515 * elmo-maildir.el (elmo-maildir-set-mark-msgs):
516 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
517 (elmo-maildir-delete-mark-msgs): Ditto.
518 (elmo-maildir-msgdb-create): Ditto.
519 (elmo-maildir-read-msg): Ditto.
520 (elmo-maildir-delete-msgs): Ditto.
521 (elmo-maildir-list-folder-subr): Ditto.
522 (elmo-maildir-search): Ditto.
523 (elmo-maildir-get-msg-filename): Ditto.
524 (elmo-maildir-pack-number): Ditto.
525 (elmo-maildir-folder-diff): New alias.
527 * elmo-localnews.el (elmo-localnews-folder-diff): New alias.
529 * elmo-localdir.el (elmo-localdir-list-folder-subr):
530 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
531 (elmo-localdir-folder-diff): New alias.
533 * elmo-internal.el (elmo-internal-list-folder-subr):
534 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
535 (elmo-internal-list-folder-by-location): Ditto.
536 (elmo-internal-msgdb-create): Ditto.
537 (elmo-internal-delete-msgs): Ditto.
538 (elmo-internal-read-msg): Ditto.
539 (elmo-internal-folder-diff): New alias.
541 * elmo-imap4.el (elmo-imap4-folder-diff): New function.
542 (elmo-imap4-list-folder): Set `spec' as 1st argument for
543 `elmo-msgdb-expand-path'.
544 (elmo-imap4-list-folder-unread): Changed arguments.
545 (elmo-imap4-list-folder-important): Ditto.
547 * elmo-filter.el (elmo-filter-list-folder-unread): Changed arguments.
548 (elmo-filter-list-folder-important): Ditto.
549 (elmo-filter-folder-diff): New function.
551 * elmo-dop.el (elmo-dop-folder-exists-p): Check elmo directory first.
553 * elmo-cache.el (elmo-cache-list-folder):
554 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
555 (elmo-cache-copy-msgs): Ditto.
556 (elmo-cache-folder-diff): New alias.
558 * elmo-archive.el (elmo-archive-list-folder-subr):
559 Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
560 (elmo-archive-get-archive-name): Ditto.
561 (elmo-archive-create-file): Ditto.
562 (elmo-archive-append-msg): Ditto.
563 (elmo-archive-copy-msgs): Ditto.
564 (elmo-archive-copy-msgs-froms): Ditto.
565 (elmo-archive-get-msg-filename): Ditto.
566 (elmo-archive-folder-diff): New alias.
568 2000-10-06 Daiki Ueno <ueno@unixuser.org>
570 * elmo-vars.el (elmo-imap4-stream-type-alist): New variable.
571 (elmo-pop3-stream-type-alist): New variable.
572 (elmo-nntp-stream-type-alist): New variable.
574 * elmo-util.el (elmo-buffer-exists-p): Rewrite as function.
575 (elmo-kill-buffer): Ditto.
576 (elmo-get-network-stream-type): Add 2nd argument `stream-type-alist'.
577 (elmo-network-get-spec): Add 5th argument `stream-type-alist'.
578 (elmo-nntp-get-spec): Take into account `elmo-nntp-stream-type-alist'.
579 (elmo-pop3-get-spec): Take into account `elmo-pop3-stream-type-alist'.
580 (elmo-imap4-get-spec): Take into account
581 `elmo-imap4-stream-type-alist'.
583 2000-10-06 Kenichi OKADA <okada@opaopa.org>
585 * elmo-nntp.el (elmo-nntp-list-folders): Fix for `-/'
586 (elmo-nntp-list-folders-get-cache): Ditto.
588 2000-10-05 Yuuichi Teranishi <teranisi@gohome.org>
590 * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added space
591 character before 'uid'.
593 2000-10-04 Yuuichi Teranishi <teranisi@gohome.org>
595 * elmo-msgdb.el (elmo-msgdb-delete-msgs): Don't save location data.
597 * elmo-nntp.el (elmo-nntp-max-of-folder): Fixed.
599 * elmo-util.el (elmo-number-set-member): New function.
600 (elmo-number-set-append-list): Ditto.
601 (elmo-number-set-append): Ditto.
603 * elmo-msgdb.el (elmo-msgdb-killed-message-p):
604 Use `elmo-number-set-member'.
605 (elmo-living-messages): Ditto.
606 (elmo-msgdb-set-as-killed): Use `elmo-number-set-append'.
607 (elmo-msgdb-append-to-killed-list): Use `elmo-number-set-append-list'.
609 * elmo-imap4.el (elmo-imap4-folder-exists-p): Rewrite.
610 (elmo-imap4-add-to-cont-list): Abolished.
611 (elmo-imap4-make-number-set-list): Use `elmo-number-set-append'
612 instead of elmo-imap4-add-to-cont-list.
614 * elmo2.el (elmo-msgdb-search): Moved from elmo-msgdb.el.
615 (toplevel): Removed autoload setting for `elmo-imap4-get-connection'.
617 * elmo-msgdb.el (elmo-msgdb-search): Moved to elmo2.el.
619 2000-10-03 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
621 * elmo-util.el (elmo-condition-parse-search-value):
624 2000-10-03 Yuuichi Teranishi <teranisi@gohome.org>
626 * elmo-util.el (elmo-condition-find-key-internal): New function.
627 (elmo-condition-find-key): Ditto.
629 * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): New function.
630 (elmo-msgdb-search-internal): Ditto.
631 (elmo-msgdb-search): Ditto.
633 2000-10-02 Yuuichi Teranishi <teranisi@gohome.org>
635 * elmo-util.el (elmo-cross-device-link-error-p): Abolished.
636 (elmo-copy-file): Uncheck error condition for `add-name-to-file'.
638 * elmo-nntp.el (elmo-nntp-search-primitive): Decode header field.
639 (elmo-nntp-search-primitive): Fixed problem when condition is
642 * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed.
644 * elmo-nntp.el (elmo-nntp-default-use-xhdr): New variable.
645 (elmo-nntp-xhdr-p): New macro.
646 (elmo-nntp-set-xhdr): Ditto.
647 (elmo-nntp-parse-xhdr-response): New function.
648 (elmo-nntp-retrieve-field): Ditto.
649 (elmo-nntp-search-primitive): Ditto.
650 (elmo-nntp-search): Implemented.
652 * elmo-date.el (elmo-date-make-sortable-string): New macro.
654 * elmo-archive.el (elmo-archive-search): Set all number list to
655 `elmo-archive-field-condition-match'
657 * elmo-localdir.el (elmo-localdir-search): Likewise.
659 * elmo-maildir.el (elmo-maildir-search): Likewise.
661 2000-10-01 OKAZAKI Tetsurou <okazaki@be.to>
663 * elmo-msgdb.el (elmo-living-messages): New function.
664 * elmo-archive.el (elmo-archive-list-folder-subr): Use it.
665 * elmo-cache.el (elmo-cache-list-folder): Ditto.
666 * elmo-dop.el (elmo-dop-list-folder): Ditto.
667 * elmo-imap4.el (elmo-imap4-list-folder): Ditto.
668 * elmo-internal.el (elmo-internal-list-folder-subr): Ditto.
669 * elmo-localdir.el (elmo-localdir-list-folder-subr): Ditto.
670 * elmo-maildir.el (elmo-maildir-list-folder-subr): Ditto.
671 * elmo-multi.el (elmo-multi-list-folder): Ditto.
672 * elmo-nntp.el (elmo-nntp-list-folder): Ditto.
673 * elmo-pipe.el (elmo-pipe-list-folder): Ditto.
674 * elmo-pop3.el (elmo-pop3-list-folder): Ditto.
676 2000-09-29 Yuuichi Teranishi <teranisi@gohome.org>
678 * elmo-maildir.el (elmo-maildir-pack-number): Implemented.
680 * elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.
682 * elmo2.el (elmo-pack-number): Added 'maildir as allowd type.
684 * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
685 arguments for `SEARCH' command.
686 (elmo-imap4-parse-string): Set `POS' argument for char-after.
687 All other related portions are changed.
689 * elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.
691 * elmo2.el (elmo-generic-list-folder-unread): Rewrite.
692 (elmo-list-folder-unread): Rewrite.
693 (elmo-list-folder-important): Ditto.
695 * elmo-util.el (elmo-filter-get-spec): Rewrite.
696 (elmo-condition-parse-error): New inline function.
697 (elmo-read-search-condition): New function.
698 (elmo-read-search-condition-internal): Ditto.
699 (elmo-parse-search-condition): Rewrite.
700 (elmo-condition-parse): New function.
701 (elmo-condition-parse-or-expr): Ditto.
702 (elmo-condition-parse-and-expr): Ditto.
703 (elmo-condition-parse-primitive): Ditto.
704 (elmo-condition-parse-search-value): Ditto.
705 (elmo-buffer-field-primitive-condition-match): Ditto.
706 (elmo-buffer-field-condition-match): Rewrite.
707 (elmo-file-field-condition-match): Ditto.
709 * elmo-msgdb.el (elmo-msgdb-expand-path): Use
710 `elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.
712 * elmo-internal.el (elmo-internal-search): Set `number' and
713 `number-list' argument of `elmo-file-field-condition-match'.
715 * elmo-maildir.el (elmo-maildir-search): Ditto.
717 * elmo-imap4.el (elmo-imap4-list-folder-unread): Use
718 `msgdb' as argument instead of `mark-alist'.
719 (elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
722 * elmo-multi.el: Likewise.
724 * elmo-pipe.el: Likewise.
726 * elmo-imap4.el (elmo-imap4-search-internal-primitive): New function.
727 (elmo-imap4-search-internal): Rewrite.
728 (elmo-imap4-search): Ditto.
730 * elmo-filter.el (elmo-filter-list-folder): Rewrite.
731 (elmo-filter-list-folder-unread): Ditto.
732 (elmo-filter-list-folder-important): Ditto.
733 (elmo-filter-search): Rewrite.
735 * elmo-cache.el (elmo-cache-search-all): Set `number' and
736 `number-list' argument of `elmo-file-field-condition-match'.
737 (elmo-cache-search): Ditto.
739 * elmo-localdir.el: Likewise.
741 * elmo-archive.el (elmo-archive-field-condition-match): Added argument
742 number-list and pass it to `elmo-buffer-field-condition-match'.
743 (elmo-archive-field-condition-match): Pass `number-list' to
744 `elmo-archive-field-condition-match'
746 2000-09-25 Yuuichi Teranishi <teranisi@gohome.org>
748 * elmo-nntp.el (elmo-nntp-list-folder): Set current group after
751 * elmo2.el (elmo-folder-diff-async-callback): New variable.
752 (elmo-folder-diff-async-callback-data): Ditto.
753 (elmo-folder-diff-async): New function.
755 * elmo-net.el (elmo-network-session-name-prefix): New variable.
756 (elmo-network-session-cache-key): Use it as a prefix of the session
758 (elmo-network-open-session): Ditto.
760 * elmo-imap4.el (elmo-imap4-status-callback): New local variable.
761 (elmo-imap4-status-callback-data): Ditto.
762 (elmo-imap4-server-diff-async-callback): New variable.
763 (elmo-imap4-server-diff-async-callback-data): Ditto.
764 (elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
765 `elmo-imap4-status-callback-data'.
766 (elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
767 `elmo-imap4-status-callback-data' as nil.
768 (elmo-imap4-server-diff): Ditto.
769 (elmo-imap4-server-diff-async-callback-1): New function.
770 (elmo-imap4-server-diff-async): Ditto.
771 (elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.
773 2000-09-24 OKAZAKI Tetsurou <okazaki@be.to>
775 * elmo-util.el (elmo-list-delete): Doc fix.
776 (elmo-delete-lists): Abolish.
777 * elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
778 instead of `elmo-delete-lists'.
780 2000-09-19 Yuuichi Teranishi <teranisi@gohome.org>
782 * elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
785 2000-09-18 OKAZAKI Tetsurou <okazaki@be.to>
787 * elmo-imap4.el (elmo-imap4-literal-1): Renamed from
788 `elmo-imap4-literal-subr'.
789 (elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
790 (elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.
792 2000-09-15 Kenichi OKADA <okada@opaopa.org>
794 * elmo-archive.el (elmo-archive-list-folder-subr): Fix.
795 (elmo-archive-list-folder): Fix.
796 (elmo-archive-max-of-folder): Fix.
798 2000-09-15 Kenichi OKADA <okada@opaopa.org>
800 * elmo-localdir.el (elmo-localdir-copy-msgs): Use
801 `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
802 (elmo-localdir-append-msg): Ditto.
803 (elmo-localdir-list-folder): Fix for `nonsort'.
804 (elmo-localdir-list-folder-subr): Fix for `killed'.
805 * elmo-maildir.el (elmo-maildir-list-folder): Ditto.
806 (elmo-maildir-list-folder-subr): Ditto.
807 * elmo-archive.el (elmo-archive-list-folder): Ditto.
808 (elmo-archive-list-folder-subr): Ditto.
809 * elmo-internal.el (elmo-internal-list-folder): Ditto.
810 (elmo-internal-list-folder-subr): Ditto.
812 2000-09-13 Yuuichi Teranishi <teranisi@gohome.org>
814 * elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.
816 2000-09-12 Katsumi Yamaoka <yamaoka@jpl.org>
818 * elmo-util.el (elmo-delete-plugged): Fix parenthesis.
820 2000-09-11 Yuuichi Teranishi <teranisi@gohome.org>
822 * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
823 Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
825 * elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
827 (elmo-imap4-read-part): Use "body.peek" to fetch part.
828 Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
830 2000-09-06 Yuuichi Teranishi <teranisi@gohome.org>
832 * mmelmo-imap4-2.el (mime-entity-children): Defined.
834 * elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
835 Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
836 before STORE command.
838 2000-09-04 Yuuichi Teranishi <teranisi@gohome.org>
840 * elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.
842 * elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
843 (elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
845 (elmo-imap4-list-folders): Removed unused local variable.
846 (elmo-network-initialize-session): Ditto.
847 (elmo-imap4-delete-msg-by-id): Ditto.
848 (elmo-imap4-parse-fetch): Ditto.
849 (elmo-imap4-copy-msgs): Ditto.
850 Use `dst-spec' instead of `dst-folder'.
851 (elmo-network-authenticate-session): Check authenticate type `plain'.
853 2000-09-01 Yuuichi Teranishi <teranisi@gohome.org>
855 * elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
857 (elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
858 `elmo-imap4-response-value'.
859 (elmo-imap4-parse-response): Return value of `EXPUNGE'.
861 2000-08-31 Yuuichi Teranishi <teranisi@gohome.org>
863 * elmo-imap4.el (elmo-imap4-send-command):
864 Cause elmo-imap4-bye-error when current response is BYE.
865 (elmo-imap4-arrival-filter): Changed greeting response value.
867 * elmo2.el (elmo-imap4-bye-error): Define.
869 * elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
870 (elmo-imap4-server-diff): Ditto.
871 (elmo-imap4-response-bye-p): New macro.
872 (elmo-imap4-response-error-text): Get text from BYE response.
873 (elmo-imap4-read-response): Return if BYE response.
874 (elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
875 (elmo-imap4-folder-exists-p): Ditto.
876 (elmo-imap4-commit): Do nothing when different mailbox is selected.
877 (elmo-imap4-parse-bye): New function.
878 (elmo-imap4-parse-response): Remove needless let.
879 Call `elmo-imap4-parse-bye'.
881 2000-08-30 Yuuichi Teranishi <teranisi@gohome.org>
883 * elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
884 the mailbox does not exist.
885 (elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.
887 2000-08-30 OKAZAKI Tetsurou <okazaki@be.to>
889 * elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.
891 2000-08-29 Yuuichi Teranishi <teranisi@gohome.org>
893 * elmo-vars.el (elmo-search-mime-charset): Abolished.
895 * elmo-pop3.el (elmo-pop3-local-variables): New variable.
896 (elmo-network-initialize-session-buffer): Defined.
898 * mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
900 (mmelmo-imap4-get-mime-entity): Rewrite.
902 * elmo2.el (elmo-error): Capitalize error message.
904 * elmo-net.el (elmo-network-initialize-session-buffer): New method.
905 (elmo-network-session-buffer): New macro.
906 (elmo-network-open-session): Use it.
908 * elmo-imap4.el: Rewrite.
910 2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
912 * elmo-nntp.el (Toplevel): Require 'elmo-net.
914 2000-08-27 Daiki Ueno <ueno@unixuser.org>
916 * elmo-imap4.el (elmo-imap4-make-address): Abolish.
917 (elmo-imap4-msgdb-create): Don't request ENVELOPE.
918 (elmo-imap4-create-msgdb-from-overview-string): Use
919 `elmo-msgdb-create-overview-from-buffer'.
921 2000-08-26 Daiki Ueno <ueno@unixuser.org>
923 * elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
924 (elmo-imap4-default-hierarchy-delimiter): New variable.
925 (elmo-imap4-list-folders): Use it.
927 2000-08-23 Yuuichi Teranishi <teranisi@gohome.org>
929 * elmo-net.el (elmo-network-open-session): Add user and
930 stream-type for process-buffer name.
932 * elmo-pop3.el (elmo-network-initialize-session): Call
935 * elmo-imap4.el (elmo-network-initialize-session):
936 Set current-buffer as an argument for `buffer-disable-undo'.
938 * elmo-pop3.el (elmo-network-close-session): Don't use
941 * elmo-vars.el (elmo-default-pop3-authenticate-type):
942 Set default as 'user.
944 * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.
946 * elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
947 and `elmo-imap4-flush-connection'.
949 * elmo-util.el (toplevel): Removed workaround for timezone y2k.
950 (elmo-pop3-get-spec): Assume auth as symbol.
951 (elmo-open-network-stream): Moved to `elmo-net'.
953 * elmo-pop3.el (toplevel): Require 'elmo-net.
954 Define `sasl-cram-md5' to silence byte compilier.
955 (elmo-pop3-connection-cache) Abolished.
956 (elmo-pop3-authenticator-alist) New variable.
957 (elmo-pop3-session): Define.
958 (elmo-pop3-connection-get-process): Abolished.
959 (elmo-pop3-connection-get-buffer): Ditto.
960 (elmo-pop3-close-connection): Ditto.
961 (elmo-pop3-flush-connection): Ditto.
962 (elmo-pop3-get-connection): Ditto.
963 (elmo-pop3-get-session): New function.
964 (Replacement for `elmo-pop3-get-connection').
965 All other related modules are changed.
966 (elmo-network-close-session): Define.
967 (elmo-pop3-send-command): Abolished argument `buffer'.
968 All other related modules are changed.
969 (elmo-pop3-read-response): Likewise.
970 (elmo-pop3-open-connection): Abolished.
971 (elmo-pop3-auth-user): New function.
972 (elmo-pop3-auth-apop): Ditto.
973 (elmo-pop3-auth-cram-md5): Ditto.
974 (elmo-pop3-auth-scram-md5): Ditto.
975 (elmo-pop3-auth-digest-md5): Ditto.
976 (elmo-network-initialize-session): Define.
977 (elmo-network-authenticate-session): Ditto.
978 (elmo-network-setup-session): Ditto.
980 * elmo-imap4.el (toplevel): Require 'elmo-net.
981 (elmo-imap4-session): Define.
982 (elmo-imap4-connection-cache): Abolished.
983 (elmo-imap4-password-key): Ditto.
984 (elmo-imap4-flush-connection): Ditto.
985 (elmo-imap4-get-connection): Ditto.
986 All other related modules are changed.
987 (elmo-imap4-get-session): New function
988 (Replacement for `elmo-imap4-get-connection').
989 (elmo-imap4-read-response): Abolished argument `buffer'.
990 All other related modules are changed.
991 (elmo-imap4-send-command): Likewise.
992 (elmo-imap4-select-folder): Abolished.
993 All other related modules are changed.
994 (elmo-imap4-select-mailbox): New function.
995 (Replacement for `elmo-imap4-select-folder').
996 (elmo-imap4-auth-login): Simplify.
997 (Assume current buffer as process buffer)
998 (elmo-imap4-auth-cram-md5): Ditto.
999 (elmo-imap4-auth-digest-md5): Ditto.
1000 (elmo-imap4-login): Ditto.
1001 (elmo-imap4-open-connection): Abolished.
1002 (elmo-imap4-open-connection-1): Abolished.
1003 (elmo-network-initialize-sessoin): Define.
1004 (elmo-network-authenticate-session): Ditto.
1005 (elmo-network-setup-session): Ditto.
1007 * elmo-net.el: New module.
1009 2000-08-22 Daiki Ueno <ueno@unixuser.org>
1011 * elmo-util.el (elmo-define-error): New function.
1013 * elmo2.el (elmo-error): Define.
1014 (elmo-open-error): Define.
1015 (elmo-authenticate-error): Define.
1017 * elmo-imap4.el (elmo-imap4-error): Abolish.
1018 (elmo-imap4-error-type): Abolish.
1019 (elmo-imap4-error-process): Abolish.
1020 (elmo-imap4-error-message): Abolish
1021 (elmo-imap4-list-folders): Don't quote lambda.
1022 (elmo-imap4-create-msgdb-from-overview-string): Ditto.
1023 (elmo-imap4-parse-namespace): Ditto.
1024 (elmo-imap4-open-connection): Rewrite.
1025 (elmo-imap4-open-connection-1): Simplified (authenticate only).
1026 (elmo-imap4-get-connection): Abolish local variable `result'.
1028 2000-08-21 Kaoru Takahashi <kaoru@kaisei.org>
1030 * elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
1031 wrong-type-argument error when auth is nil.
1033 2000-08-21 Yuuichi Teranishi <teranisi@gohome.org>
1035 * elmo-vars.el (elmo-default-imap4-stream-type): New variable.
1036 (elmo-default-nntp-stream-type): Ditto.
1037 (elmo-default-pop3-stream-type): Ditto.
1038 (elmo-network-stream-type-alist): Ditto.
1039 (elmo-default-imap4-ssl): Abolished.
1040 (elmo-default-nntp-ssl): Ditto.
1041 (elmo-default-pop3-ssl): Ditto.
1043 * elmo-util.el: (toplevel): Removed needless requires.
1044 (elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
1045 (elmo-open-network-stream): Open network stream according to
1046 the value of `elmo-network-stream-type-alist'.
1047 (elmo-get-network-stream-type): New function.
1048 (elmo-network-stream-type-spec-string): New macro.
1049 (elmo-network-stream-type-symbol): Ditto.
1050 (elmo-network-stream-type-function): Ditto.
1052 * elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
1053 network-stream-type. All other related portions are changed.
1054 (elmo-pop3-open-connection): Ditto.
1056 * elmo-nntp.el (elmo-nntp-setting): Follow up changes for
1057 network-stream-type. All other related portions are changed.
1059 * elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
1060 network-stream-type.All other related portions are changed.
1061 (elmo-imap4-error): New macro.
1062 (elmo-imap4-error-type): Ditto.
1063 (elmo-imap4-error-process): Ditto.
1064 (elmo-imap4-error-message): Ditto.
1065 (elmo-imap4-auth-login): Use `elmo-imap4-error'.
1066 (elmo-imap4-auth-cram-md5): Ditto.
1067 (elmo-imap4-auth-digest-md5): Ditto.
1068 (elmo-imap4-login): Ditto.
1069 (elmo-imap4-open-connection): Remove password entry if authentication
1071 (elmo-imap4-user-at-host): Abolished.
1072 (elmo-imap4-password-key): New buffer local variable.
1073 (elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
1074 using protocol, port, auth and stream-type.
1076 * elmo-dop.el (elmo-dop-list-folder): Use killed list.
1078 2000-08-13 Daiki Ueno <ueno@unixuser.org>
1080 * elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.
1082 * elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.
1084 * elmo-imap4.el (elmo-imap4-user-at-host): New variable.
1085 (elmo-imap4-authenticator-alist): New variable.
1086 (elmo-imap4-open-connection-1): Rename from
1087 elmo-imap4-open-connection.
1088 (elmo-imap4-open-connection): Abolish 5th argument `passphrase';
1089 only wraps elmo-imap4-open-connection-1.
1090 (elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
1092 (elmo-imap4-auth-login): New function.
1093 (elmo-imap4-auth-cram-md5): New function.
1094 (elmo-imap4-auth-digest-md5): New function.
1095 (elmo-imap4-login): New function.
1097 2000-08-12 Kenichi OKADA <okada@opaopa.org>
1099 * elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
1102 2000-08-12 Kenichi OKADA <okada@opaopa.org>
1104 * elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.
1106 2000-08-08 Yuuichi Teranishi <teranisi@gohome.org>
1108 * elmo2.el (elmo-move-msgs): Set value of `unseen'.
1110 2000-08-06 OKAZAKI Tetsurou <okazaki@be.to>
1112 * elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
1113 for server responses, quote `*' regardless of where it appears.
1115 2000-08-03 Kenichi OKADA <okada@opaopa.org>
1117 * elmo-maildir.el (elmo-maildir-commit): New alias.
1119 2000-08-03 Kenichi OKADA <okada@opaopa.org>
1121 * elmo-util.el (elmo-display-progress):
1122 Use `progress-feedback-with-label'.
1124 2000-08-02 OKAZAKI Tetsurou <okazaki@be.to>
1126 * elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
1127 (elmo-imap4-non-atom-char-regex): Ditto.
1128 (elmo-imap4-non-text-char-regex): Ditto.
1129 (elmo-imap4-literal-threshold): Ditto.
1130 (elmo-imap4-atom-p): New function.
1131 (elmo-imap4-quotable-p): Ditto.
1132 (elmo-imap4-nil): Ditto.
1133 (elmo-imap4-atom): Ditto.
1134 (elmo-imap4-quoted): Ditto.
1135 (elmo-imap4-literal-subr): Ditto.
1136 (elmo-imap4-literal): Ditto.
1137 (elmo-imap4-buffer-literal): Ditto.
1138 (elmo-imap4-string-subr): Ditto.
1139 (elmo-imap4-string): Ditto.
1140 (elmo-imap4-buffer-string): Ditto.
1141 (elmo-imap4-astring-subr): Ditto.
1142 (elmo-imap4-astring): Ditto.
1143 (elmo-imap4-buffer-astring): Ditto.
1144 (elmo-imap4-nstring): Ditto.
1145 (elmo-imap4-buffer-nstring): Ditto.
1146 (elmo-imap4-mailbox): New alias.
1147 (elmo-imap4-field-body): Ditto.
1148 (elmo-imap4-userid): Ditto.
1149 (elmo-imap4-password): Ditto.
1150 (elmo-imap4-format-quoted): New function.
1151 (elmo-imap4-send-command): Rewritten. Accept a list of command
1152 arguments and handle "atom", "quoted" and "literal" string here.
1153 (elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
1154 `elmo-imap4-send-command'.
1155 (elmo-imap4-folder-exists-p): Likewise.
1156 (elmo-imap4-create-folder): Likewise.
1157 (elmo-imap4-delete-folder): Likewise.
1158 (elmo-imap4-rename-folder): Likewise.
1159 (elmo-imap4-max-of-folder): Likewise.
1160 (elmo-imap4-check-validity): Likewise.
1161 (elmo-imap4-sync-validity): Likewise.
1162 (elmo-imap4-server-diff): Likewise.
1163 (elmo-imap4-select-folder): Likewise.
1164 (elmo-imap4-copy-msgs): Likewise.
1165 (elmo-imap4-search-internal): Use `elmo-imap4-astring'.
1166 (elmo-imap4-mark-set-on-msgs): Likewise.
1167 (elmo-imap4-read-part): Likewise.
1168 (elmo-imap4-read-msg): Likewise.
1169 (elmo-imap4-open-connection): Use `elmo-imap4-userid' and
1170 `elmo-imap4-password' for `elmo-imap4-send-command'.
1171 (elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
1172 (elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
1173 `elmo-imap4-buffer-literal'.
1174 (elmo-imap4-append-msg): Likewise.
1176 * elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
1177 `delete' for removing dead connection from the connection cache.
1178 Move deletion of the process buffer after that.
1179 (elmo-imap4-list): Change `defsubst' to `defun'.
1180 (elmo-imap4-commit): Make error message verbose.
1181 (elmo-imap4-search): Ditto.
1182 (elmo-imap4-list): Ditto.
1183 (elmo-imap4-select-folder): Ditto.
1184 (elmo-imap4-copy-msgs): Ditto.
1185 (elmo-imap4-delete-msg-by-id): Ditto.
1186 (elmo-imap4-append-msg-by-id): Ditto.
1187 (elmo-imap4-append-msg): Ditto.
1189 2000-07-26 Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>
1191 * elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
1192 when dired is used on XEmacs.
1194 2000-07-25 OKAZAKI Tetsurou <okazaki@be.to>
1196 * elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
1197 instead of `append'.
1198 (elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
1199 `elmo-plugged-p' directly.
1200 * elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
1201 of `elmo-plugged-p' directly.
1203 * elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
1204 Eliminate unused variable. Use `memq' for checking a process status.
1205 Use `cons' instead of `append' for updating the connection cache.
1206 * elmo-nntp.el (elmo-nntp-get-connection): Likewise.
1207 * elmo-imap4.el (elmo-imap4-get-connection): Likewise.
1209 2000-07-22 OKAZAKI Tetsurou <okazaki@be.to>
1211 * elmo-imap4.el (elmo-imap4-read-bytes): Advance
1212 `elmo-imap4-read-point' exactly.
1214 * mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
1215 the local variable `folder' to `mailbox'.
1216 Rename the argument `fld' to `folder'.
1218 2000-07-20 Kenichi OKADA <okada@opaopa.org>
1220 * elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
1221 * elmo-imap4.el (elmo-imap4-commit): Ditto.
1223 2000-07-18 Yuuichi Teranishi <teranisi@gohome.org>
1225 * elmo-pop3.el (elmo-pop3-use-uidl): New variable.
1226 (elmo-pop3-number-uidl-hash): New buffer-local variable.
1227 (elmo-pop3-uidl-number-hash): Ditto.
1228 (elmo-pop3-size-hash): Ditto.
1229 (elmo-pop3-uidl-done): Ditto.
1230 (elmo-pop3-list-done): Ditto.
1231 (elmo-pop3-connection-get-process): New defmacro.
1232 (elmo-pop3-connection-get-buffer): Ditto.
1233 (elmo-pop3-close-connection): Delete buffer and process.
1234 (elmo-pop3-flush-connection): Don't delete buffer and process.
1235 (elmo-pop3-get-connection): Added optional argument `if-exists'.
1236 Setup UIDL and size hash.
1237 (elmo-pop3-send-command-no-erase): Deleted
1238 (elmo-pop3-send-command): Added optional argument `no-erase'.
1239 (elmo-pop3-parse-uidl-response): New function.
1240 (elmo-pop3-parse-list-response): Set size hash.
1241 (elmo-pop3-list-location): New function.
1242 (elmo-pop3-list-by-uidl-subr): Ditto.
1243 (elmo-pop3-list-by-list): Ditto.
1244 (elmo-pop3-list-folder): Call `elmo-pop3-commit'.
1245 Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
1246 (elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
1247 Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
1248 (elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
1250 (elmo-pop3-uidl-to-number): New function.
1251 (elmo-pop3-number-to-uidl): Ditto.
1252 (elmo-pop3-number-to-size): Ditto.
1253 (elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
1254 Set number by use of uidl.
1255 (elmo-pop3-msgdb-create-message): Likewise.
1256 Set size, loc-alist in msgdb.
1257 (elmo-pop3-read-msg): Set number by use of uidl.
1258 Added optional argument `msgdb'.
1259 (elmo-pop3-delete-msg): Ditto.
1260 (elmo-pop3-delete-msgs): Added optional argument `msgdb'.
1261 (elmo-pop3-commit): Close connection.
1263 * elmo-pipe.el (elmo-pipe-max-of-folder):
1264 Bind `elmo-pop3-use-uidl' as nil.
1265 (elmo-pipe-drain): Ditto.
1268 * elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
1269 (elmo-msgdb-overview-entity-set-size): New defsubst.
1271 2000-07-17 Yuuichi Teranishi <teranisi@gohome.org>
1273 * elmo-vars.el (elmo-use-killed-list): New variable
1274 (Renamed from `elmo-nntp-use-killed-list').
1275 (elmo-nntp-use-killed-list): Eliminated.
1277 * elmo-msgdb.el (elmo-msgdb-expand-path):
1278 Changed expanding msgdb path for elmo-multi.
1280 * elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
1281 elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
1282 elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
1283 elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
1284 elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
1285 mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
1286 (toplevel): Deleted time-stamp line.
1288 * elmo2.el (elmo-clear-killed ): Defined as function
1289 (Abolished defining as a backend function).
1290 All other related modules are changed.
1292 2000-07-14 Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>
1294 * elmo-cache.el (elmo-cache-clear-killed): Fixed.
1296 2000-07-13 Yuuichi Teranishi <teranisi@gohome.org>
1298 * elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.
1300 2000-07-12 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
1302 * elmo-pop3.el (elmo-pop3-clear-killed): New alias.
1304 2000-07-11 Yuuichi Teranishi <teranisi@gohome.org>
1306 * elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
1307 asynchronous folder check.
1309 * elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.
1311 * elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
1312 `elmo-nntp-use-killed-list'.
1313 (elmo-nntp-list-folder): Use killed list.
1314 (elmo-nntp-max-of-folder): Ditto.
1315 (elmo-nntp-msgdb-create): Set killed list.
1317 * elmo-vars.el (elmo-nntp-use-killed-list): New user option.
1319 * elmo2.el (elmo-clear-killed): New backend function.
1320 All other related modules are changed.
1322 2000-07-07 OKAZAKI Tetsurou <okazaki@be.to>
1324 * elmo-util.el (elmo-imap4-spec-folder): Use
1325 `elmo-imap4-spec-mailbox'; Mark as obsolete.
1326 All callers changed.
1328 2000-06-22 Yuuichi Teranishi <teranisi@gohome.org>
1330 * mmelmo-2.el (initialize-instance):
1331 Use `mime-buffer-entity-buffer-internal' instead of
1332 `mime-entity-buffer'.
1334 * mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
1335 (mime-entity-body): Implemented.
1336 (mime-goto-header-start-point): Deleted.
1337 (mime-goto-body-end-point): Ditto.
1338 (mime-entity-point-min): Ditto.
1339 (mime-entity-point-max): Ditto.
1340 (mime-entity-children): Ditto.
1341 (mime-insert-header): Use `mime-buffer-entity-buffer-internal'
1342 instead of `mime-entity-buffer'.
1343 (mime-entity-header-buffer): Ditto.
1344 (mime-entity-body-buffer): Ditto.
1345 (mime-write-entity-content): Ditto.
1347 * pldap.el (ldap-static-if): New macro.
1348 (toplevel): Use it instead of `static-if'.
1350 2000-06-19 Yuuichi Teranishi <teranisi@gohome.org>
1352 * pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
1353 included in `attrs' argument.
1355 2000-06-16 Yuuichi Teranishi <teranisi@gohome.org>
1357 * elmo-util.el (elmo-get-passwd): Use old backquote style.
1359 * pldap.el (ldap-ldif-safe-char-regexp): New constant.
1360 (ldap-ldif-safe-init-char-regexp): Ditto.
1361 (ldap-ldif-safe-string-regexp): Ditto.
1362 (ldap/ldif-safe-string-p): New macro.
1363 (ldap/ldif-insert-field): Ditto.
1364 (ldap-modify): Use it.
1366 (ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
1367 (ldap-decode-attribute): Decode only when `attr' is consp.
1368 (ldap-delete): Bind `ret'.
1369 (toplevel): Require 'cl at compile time.
1370 Removed (require 'poe) and (require 'std11).
1371 (pldap-version): Eliminated.
1372 (ldap-search-basic): Removed auth and dn binding.
1373 (ldap-ldif-field-name-regexp): New constant.
1374 (ldap-ldif-field-head-regexp): Ditto.
1375 (ldap-ldif-next-field-head-regexp): Ditto.
1376 (ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
1377 (ldap/field-end): New function.
1378 (ldap/field-body): Use it.
1379 (ldap/collect-field): Ditto.
1380 (ldap-search-basic): Use `ldap/field-body'.
1382 2000-06-15 Yuuichi Teranishi <teranisi@gohome.org>
1384 * pldap.el (ldap-default-attribute-encoder): New user option.
1385 (ldap/field-body): Decode base64 string.
1386 (ldap/collect-field): Ditto.
1387 (ldap-encode-attribute): New function.
1388 (ldap-add-entries): Use it.
1389 (ldap-modify-entries): Ditto.
1390 (ldap-search-entries): Enclosed decoding function with
1391 `with-temp-buffer' and set as unibyte.
1392 (ldap-search-basic): Set process buffer as unibyte.
1394 * elmo-util.el (elmo-folder-identical-system-p):
1395 Eliminated name space checking.
1397 * pldap.el: New module.
1398 toplevel: Changed condition to detect built-in ldap feature.
1399 (ldap-delete): Enclosed call-process with `with-temp-buffer'.
1400 (ldap-add): Added error handling.
1401 (ldap-modify): Ditto.
1402 (ldap-delete): Ditto.
1404 2000-06-03 OKAZAKI Tetsurou <okazaki@be.to>
1406 * elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
1407 Initialize local variables with `let'. Inline a temporary
1408 variable for the progress percentage. Sort `setq' to reduce
1409 function call in the while-loop.
1411 * mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
1412 into the conditional branch.
1414 2000-05-30 OKAZAKI Tetsurou <okazaki@be.to>
1416 * elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
1417 Move a conditional out of the while-loop.
1419 2000-05-27 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1421 * elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
1422 elmo-msgdb-overview-get-entity-by-number.
1423 (elmo-msgdb-overview-get-entity-by-number): Don't use catch and
1426 2000-05-26 OKAZAKI Tetsurou <okazaki@be.to>
1428 * elmo-localdir.el (elmo-localdir-pack-number): Renamed
1429 the local variable for a packed number self descriptively.
1431 2000-05-21 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1433 * elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
1434 * elmo-localdir.el (elmo-localdir-pack-number): Use
1435 `elmo-msgdb-overview-get-entity' instead of
1436 `elmo-msgdb-overview-get-entity-by-number'.
1437 * elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
1438 (elmo-msgdb-search-overview-entity): Removed.
1439 (elmo-msgdb-overview-get-entity): Change argument. Get overview entity
1440 by message-id or number.
1441 (elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
1442 instead of `elmo-msgdb-overview-get-entity-by-number'.
1444 2000-05-20 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1446 * elmo-vars.el (elmo-use-overview-hashtb): New variable. If
1447 non-nil, use hash table for overview.
1448 (elmo-hash-maximum-size): New variable.
1449 * elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
1450 (elmo-msgdb-make-overview-hashtb): New function.
1451 (elmo-msgdb-clear-overview-hashtb): New function.
1452 (elmo-clear-hash-val): New macro.
1453 All other related modules are changed.
1455 2000-05-18 Yuuichi Teranishi <teranisi@gohome.org>
1457 * elmo2.el (elmo-move-msgs): If there's other message with
1458 same message-id, don't use cache.
1460 2000-05-18 Nishimoto Masaki <nishimoto@gaju.org>
1462 * elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
1463 number is already packed.
1465 2000-05-15 OKAZAKI Tetsurou <okazaki@be.to>
1467 * elmo-vars.el: Doc fixes. Trim trailing whitespace.
1469 2000-05-12 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1471 * elmo-vars.el (elmo-display-progress-threshold): New variable.
1472 All other related modules are changed.
1474 2000-05-11 Yuuichi Teranishi <teranisi@gohome.org>
1476 * elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
1477 of refiling failure on Maildir.
1479 2000-05-10 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1481 * elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
1482 decoded mime-charset with cache.
1483 (elmo-msgdb-overview-entity-get-from): Ditto.
1484 (elmo-msgdb-overview-entity-get-subject): Ditto.
1485 * elmo-vars.el (elmo-use-decoded-cache): New variable.
1487 2000-05-10 Kenichi OKADA <okada@opaopa.org>
1489 * elmo-utils.el (elmo-get-passwd): Set timeout of password.
1490 (elmo-remove-passwd): Fill password with 0 before erase.
1491 * elmo-vars.el (elmo-passwd-life-time): New variable.
1494 2000-05-10 Yuuichi Teranishi <teranisi@gohome.org>
1496 * elmo-cache.el (elmo-buffer-cache-add):
1497 Set message cache buffer as unibyte.
1499 2000-05-07 Masahiro MURATA <muse@ba2.so-net.ne.jp>
1501 * elmo-archive.el (elmo-archive-list-folders): Fix base-folder
1504 2000-04-28 Yuuichi Teranishi <teranisi@gohome.org>
1506 * elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
1507 when display is finished.
1508 (elmo-nntp-msgdb-create): Ditto.
1509 (elmo-nntp-groups-read-response): Ditto.
1510 (elmo-nntp-retrieve-headers): Ditto.
1511 (elmo-nntp-msgdb-create-message): Ditto.
1512 * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
1513 (elmo-pop3-msgdb-create-message): Ditto.
1515 2000-04-24 Yuuichi Teranishi <teranisi@elmo.dq.isl.ntt.co.jp>
1517 * elmo-maildir.el (elmo-maildir-msgdb-create):
1518 Use `elmo-msgdb-sort-by-date'.
1520 2000-04-20 Yuuichi Teranishi <teranisi@gohome.org>
1522 * elmo2.el (elmo-read-msg-no-cache):
1523 Eliminated arguments after `outbuf'.
1524 Don't use cache even if it exists.
1525 (elmo-read-msg): Don't pass arguments after `outbuf' to
1526 `elmo-read-msg-no-cache'.
1528 2000-04-15 Yuuichi Teranishi <teranisi@elmo.dq.isl.ntt.co.jp>
1530 * elmo-archive.el (elmo-archive-list-folders):
1531 Use `file-name-directory' if base folder does not exist.
1533 2000-04-14 Nishimoto Masaki <nishimoto@gaju.org>
1535 * elmo-archive.el (elmo-archive-list-folders): Don't use
1536 `file-name-directory'.
1538 2000-04-07 Yuuichi Teranishi <teranisi@gohome.org>
1540 * elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
1541 If `force' is non-nil, try flushing all operation queues.
1543 2000-04-03 Yuuichi Teranishi <teranisi@gohome.org>
1545 * elmo-pop3.el (elmo-pop3-open-connection): Enclose with
1548 2000-03-29 Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
1550 * elmo-util.el (elmo-display-progress): Fixed.
1552 2000-03-27 Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>
1554 * elmo-util.el (elmo-display-progress): New function.
1555 All other related modules are changed.