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