New public branch gnus-6_10. gnus-6_10-199812241900 gnus-6_10_1 semi-gnus-6_10_1
authoryamaoka <yamaoka>
Thu, 24 Dec 1998 03:35:29 +0000 (03:35 +0000)
committeryamaoka <yamaoka>
Thu, 24 Dec 1998 03:35:29 +0000 (03:35 +0000)
43 files changed:
ChangeLog
ChangeLog.1 [new file with mode: 0644]
README.branch
README.branch.ja
README.semi
README.semi.ja
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-bbdb.el
lisp/gnus-cache.el
lisp/gnus-draft.el
lisp/gnus-group.el
lisp/gnus-msg.el
lisp/gnus-nocem.el
lisp/gnus-offline.el [new file with mode: 0644]
lisp/gnus-ofsetup.el [new file with mode: 0644]
lisp/gnus-picon.el
lisp/gnus-salt.el
lisp/gnus-score.el
lisp/gnus-soup.el
lisp/gnus-spec.el
lisp/gnus-srvr.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/gnus-xmas.el
lisp/gnus.el
lisp/mailheader.el
lisp/message.el
lisp/mmgnus.el [new file with mode: 0644]
lisp/nnheader.el
lisp/nnheaderxm.el
lisp/nnmail.el
lisp/nnmh.el
lisp/nnsoup.el
lisp/nntp.el
lisp/pop3-fma.el
lisp/rfc2045.el [deleted file]
lisp/smiley.el
lisp/smtp.el [deleted file]
lisp/smtpmail.el [deleted file]
texi/gnus-ja.texi
texi/gnus.texi

index 66e3023..ff3f30b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-1998-12-22  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-art.el (gnus-article-prepare-display): Set
-       `gnus-article-current-summary' to `gnus-summary-buffer'.
-
-1998-12-18  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-start.el (gnus-read-newsrc-el-file): Bug (referring to
-       unbounded variable) fix.
-
-1998-12-17  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-start.el (gnus-read-newsrc-el-file): Don't load newsrc
-       file if it does not exist.
-
-1998-12-14  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus.el: (gnus-version-number): Update to 6.9.2.
-
-       * lisp/nnheader.el (nnheader-find-file-noselect): Call
-       `find-file-noselect-as-coding-system' with CODING-SYSTEM as the
-       1st arg.
-
-       * lisp/nnmail.el (nnmail-find-file): Call
-       `insert-file-contents-as-coding-system' with CODING-SYSTEM as the
-       1st arg.
-       * lisp/nnheader.el (nnheader-insert-file-contents): Likewise.
-
-       * lisp/gnus-start.el (gnus-save-newsrc-file): Call
-       `write-region-as-coding-system' with CODING-SYSTEM as the 1st arg.
-       (gnus-read-newsrc-el-file): Call
-       `insert-file-contents-as-coding-system' with CODING-SYSTEM as the
-       1st arg.
-
-       * lisp/gnus-cache.el (gnus-cache-save-buffers): Call
-       `gnus-write-buffer-as-coding-system' with CODING-SYSTEM as the 1st
-       arg.
-
-       * lisp/gnus-util.el (gnus-write-buffer-as-coding-system): Be
-       CODING-SYSTEM the 1st arg.
-
-       * lisp/nnmail.el (nnmail-write-region): Call
-       `write-region-as-coding-system' with CODING-SYSTEM as the 1st arg.
-       * lisp/gnus-start.el (gnus-save-newsrc-file): Likewise.
-       * lisp/gnus-agent.el (gnus-agent-expire): Likewise.
-       (gnus-agent-fetch-headers): Likewise.
-       (gnus-agent-flush-cache): Likewise.
-       (gnus-agent-fetch-articles): Likewise.
-       (gnus-agent-save-history): Likewise.
-       (gnus-agent-save-groups): Likewise.
-       (gnus-agent-save-active): Likewise.
-
-1998-12-14  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/nnheader.el (nnheader-find-file-noselect): Use
-       `find-file-noselect-as-coding-system' (renamed from
-       `find-file-noselect-as-specified-coding-system').
-
-       * lisp/nnmail.el (nnmail-find-file): Use
-       `insert-file-contents-as-coding-system' (renamed from
-       `insert-file-contents-as-specified-coding-system').
-       * lisp/nnheader.el (nnheader-insert-file-contents): Likewise.
-
-       * lisp/gnus-start.el (gnus-save-newsrc-file): Use
-       `write-region-as-coding-system' (renamed from
-       `write-region-as-specified-coding-system').
-       (gnus-read-newsrc-el-file): Use
-       `insert-file-contents-as-coding-system' (renamed from
-       `insert-file-contents-as-specified-coding-system').
-
-       * lisp/gnus-cache.el (gnus-cache-save-buffers): Use
-       `gnus-write-buffer-as-coding-system' (renamed from
-       `gnus-write-buffer-as-specified-coding-system').
-
-       * lisp/gnus-util.el (gnus-write-buffer-as-coding-system):
-       Renamed from `gnus-write-buffer-as-specified-coding-system'.
-
-       * lisp/nnmail.el (nnmail-write-region): Use
-       `write-region-as-coding-system' (renamed from
-       `write-region-as-specified-coding-system').
-       * lisp/gnus-start.el (gnus-save-newsrc-file): Likewise.
-       * lisp/gnus-agent.el (gnus-agent-expire): Likewise.
-       (gnus-agent-fetch-headers): Likewise.
-       (gnus-agent-flush-cache): Likewise.
-       (gnus-agent-fetch-articles): Likewise.
-       (gnus-agent-save-history): Likewise.
-       (gnus-agent-save-groups): Likewise.
-       (gnus-agent-save-active): Likewise.
-
-1998-12-11  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/nnheader.el (nnheader-find-file-noselect): Call
-       `find-file-noselect-as-specified-coding-system' directly.
-
-1998-12-10  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/pop3.el (pop3-movemail): Use `write-region-as-binary'
-       instead of `append-to-file'.
-       (pop3-movemail-file-coding-system): Abolished.
-
-       * lisp/nnheader.el (nnheader-find-file-noselect): Use
-       `find-file-noselect-as-specified-coding-system' instead of
-       `find-file-noselect'.
-
-       * lisp/nnmail.el (nnmail-find-file): Use
-       `insert-file-contents-as-specified-coding-system' instead of
-       `insert-file-contents'.
-       * lisp/nnheader.el (nnheader-insert-file-contents): Likewise.
-
-       * lisp/message.el (message-send-mail-with-qmail): Enclose
-       `call-process-region' with `as-binary-process'.
-       (message-send-mail-with-sendmail): Likewise.
-       (message-send-coding-system): Abolished.
-
-       * lisp/gnus-start.el (gnus-save-newsrc-file): Emulate
-       `save-buffer' with `write-region-as-specified-coding-system'.
-       (gnus-read-newsrc-el-file): Emulate `load' with
-       `insert-file-contents-as-specified-coding-system' and
-       `eval-region'.
-
-       * lisp/gnus-cache.el (gnus-cache-save-buffers): Use
-       `gnus-write-buffer-as-specified-coding-system' instead of
-       `gnus-write-buffer'.
-
-       * lisp/gnus-util.el (gnus-output-to-mail): Use
-       `write-region-as-binary' instead of `append-to-file'.
-       (gnus-output-to-mail): Use `gnus-write-buffer-as-binary' instead
-       of `gnus-write-buffer'.
-       (gnus-write-buffer-as-specified-coding-system): New function.
-       (gnus-write-buffer-as-binary): New function.
-
-       * lisp/nnmail.el (nnmail-write-region): Use
-       `write-region-as-specified-coding-system' instead of
-       `write-region'.
-       * lisp/gnus-start.el (gnus-save-newsrc-file): Likewise.
-       * lisp/gnus-agent.el (gnus-agent-expire): Likewise.
-       (gnus-agent-fetch-headers): Likewise.
-       (gnus-agent-flush-cache): Likewise.
-       (gnus-agent-fetch-articles): Likewise.
-       (gnus-agent-save-history): Likewise.
-       (gnus-agent-save-groups): Likewise.
-       (gnus-agent-save-active): Likewise.
-
-1998-12-08  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/smtp.el (smtp-via-smtp): Use `open-network-stream-as-binary'
-       instead of `open-network-stream'.
-       * lisp/pop3.el (pop3-open-server): Likewise.
-       * lisp/nntp.el (nntp-open-network-stream): Likewise.
-       * lisp/gnus-gl.el (bbb-connect-to-bbbd): Likewise.
-
-       * lisp/nntp.el (nntp-open-rlogin): Enclose `start-process' with
-       `as-binary-process'.
-       (nntp-open-telnet): Likewise.
-
-       * lisp/smtp.el (smtp-coding-system): Abolished.
-
-       * lisp/nntp.el (nntp-coding-system-for-write): Abolished.
-       (nntp-coding-system-for-read): Abolished.
-
-       * lisp/nntp.el: Don't require `tcp'.
-       * lisp/nndb.el: Likewise.
-
-1998-12-07  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/message.el (message-get-parameter-with-eval): Call
-       `message-get-parameter' with arg `key' first.
-
-1998-11-26  Yoshiki Hayashi <g740685@komaba.ecc.u-tokyo.ac.jp>
+1998-12-24  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-       * lisp/gnus.el: (gnus-version-number): Update to 6.9.1.
-       (gnus-version): Modified for SEMI 1.11, FLIM 1.12.
+       * lisp/gnus.el: (gnus-version-number): Update to 6.10.1.
 
-       * lisp/gnus-draft.el: (gnus-draft-decoding-buffer): Call
-       `mime-edit-decode-message-in-buffer' instead of
-       `mime-edit-decode-buffer'.
-
-       * lisp/gnus-sum.el: (gnus-structured-field-decoder): Use
-       `eword-decode-and-unfold-structured-field-body' instead of
-       'eword-decode-and-unfold-structured-field'.
-       (gnus-unstructured-field-decoder): remove `must-unfold'.
-
-1998-11-26  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-msg.el (gnus-summary-supersede-article): Bind
-       `gnus-message-setup-hook' to nil.
-
-       * lisp/message.el (message-supersede-setup-for-mime-edit): New
-       function.
-       (message-supersede-setup-function): New user option. Use
-       `message-supersede-setup-for-mime-edit' in default.
-       (message-supersede): Call `message-supersede-setup-function' if it
-       is non-nil.
-       (message-supersede-setup-hook): New user option.
-
-       * lisp/message.el (message-bounce-setup-for-mime-edit): Don't
-       delete header separator. It is up to MIME-Edit to do so.
-
-1998-11-25  Hasebe Satoshi  <hasebe@mtgcb.telcom.oki.co.jp>
-
-       * lisp/gnus-util.el: Require RMAIL in a different way.
-
-1998-11-24  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el (pop3-fma-save-password-information): New
-       variable. Do not save password information when
-       `pop3-fma-save-password-information' set to nil (in default).
-       (pop3-fma-encode-string): abolished - because of difference of
-       FLIM API.
-       (pop3-fma-decode-string): Likewise.
+1998-12-22  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-1998-11-24  Katsumi Yamaoka   <yamaoka@jpl.org>
+       * lisp/gnus-art.el (mime-preview-over-to-next-method-alist): Use
+       `gnus-summary-next-article' in `gnus-original-article-mode'.
+       (mime-preview-over-to-previous-method-alist): Use
+       `gnus-summary-prev-article' in `gnus-original-article-mode'.
+       (gnus-article-mode-map): Define almost undefined keys to
+       `gnus-article-read-summary-keys'.
+       (gnus-article-prepare-display): Set `gnus-article-current-summary'
+       to `gnus-summary-buffer'.
 
-       * lisp/dgnushack.el (dgnushack-compile): Dismiss "gnus-bbdb.el"
-       from the list if BBDB has not been installed.
+1998-12-21  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
-1998-11-20  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+       * lisp/pop3-fma.el (pop3-fma-movemail): Work with movemail.exe
+       with APOP extention.
 
-       * lisp/gnus-util.el: Require `rmail' only if RMAIL has been
-       installed.
+1998-12-18  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-1998-11-19  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+       * lisp/gnus-xmas.el (gnus-xmas-group-startup-message): Show version.
+       (gnus-xmas-logo-color-style): Default to `sky'.
 
-       * lisp/message.el (message-get-reply-buffer): Abolished.
-       (message-get-original-reply-buffer): Abolished.
-       (message-get-parameter): New inline function.
-       (message-get-parameter-with-eval): New macro.
-       (message-fetch-reply-field): Do not use `message-get-reply-buffer'.
-       (message-yank-original): Ditto.
-       (message-setup): Use `message-get-parameter'.
-       (message-mime-insert-article): Use
-       `message-get-parameter-with-eval' instead of
-       `message-get-original-reply-buffer'.
+       * lisp/gnus.el (gnus-group-startup-message): Show version.
+       (gnus-splash-face): Shorten a wavelength.
 
-       * lisp/gnus-msg.el (gnus-inews-add-send-actions): Do not add
-       `set-window-configuration' to action when
-       `message-use-multi-frames' is non-`nil'.
+       * lisp/gnus-bbdb.el (toplevel): Define `bbdb-pop-up-elided-display'
+       for avoiding byte-compile warning.
 
-1998-11-19  Katsumi Yamaoka   <yamaoka@jpl.org>
+       * lisp/gnus-agent.el (gnus-agent-file-coding-system): Default to
+       `raw-text'.
 
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.20.
+1998-12-17  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-       * Sync up with Gnus 5.6.45.
+       * lisp/*.el: Ebola eradication.
 
-1998-11-18  Katsumi Yamaoka   <yamaoka@jpl.org>
+1998-12-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * lisp/message.el (message-mimic-kill-buffer): Rewrite.
+       * Abolish smtp.el and smtpmail.el (moved to FLIM).
 
 1998-11-18  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-       * lisp/message.el (message-mimic-kill-buffer): New function.
-       (message-mode-map): Use it for `C-x k'.
-
-1998-11-18  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+       * lisp/message.el (message-mode-map): Use
+       `message-mimic-kill-buffer' for `C-x k'.
 
-       * lisp/message.el (message-dont-send): Use `message-delete-frame'.
+1998-11-17  Tsukamoto Tetsuo  <czkmt@remus.dti.ne.jp>
 
-1998-11-14  Kenji Itoh  <keit@tpj.co.jp>
-
-       * lisp/nnmail.el (nnmail-read-passwd): Use `read-passwd' if it
-       exists as a function.
-
-       * lisp/pop3.el (pop3-read-passwd): Likewise.
+       * lisp/message.el (message-dont-send): Use `message-save-drafts'
+       instead of `save-buffer'.
 
 1998-11-16  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-       * make.bat: Replace line endings from `LF' to `CRLF'.
+       * lisp/message.el (message-send-mail): Protect against errors.
+       (message-send-news): Likewise.
+       (message-maybe-split-and-send-mail): New function.
+       (message-maybe-split-and-send-news): New function.
 
-1998-11-16  Katsumi Yamaoka   <yamaoka@jpl.org>
+1998-11-13  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-       * README-gnus-bbdb.en, README-gnus-bbdb.ja: New files.
-
-       * lisp/gnus-bbdb.el: Replace string in comment "Nana-" to "Semi-".
-
-1998-11-13  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/gnus-msg.el (gnus-setup-message): Setup
-       `message-startup-parameter-alist' for starting `message-mode'.
-
-       * lisp/message.el (message-parameter-alist): New variable.
-       (message-startup-parameter-alist): New variable.
-       (message-eval-parameter): New function.
-       (message-get-reply-buffer): New function.
-       (message-get-original-reply-buffer): New function.
-       (message-mode): Make new local variable `message-parameter-alist'.
-       (message-fetch-reply-field): Use `message-get-reply-buffer'.
-       (message-yank-original): Ditto.
-       (message-setup): Get message reply buffer from
-       `message-parameter-alist'.
-       (message-mime-insert-article): Use
-       `message-get-original-reply-buffer'.
-
-       * lisp/gnus-bbdb.el: New file. Interface for BBDB.
-
-1998-11-12  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-msg.el (gnus-summary-resend-bounced-mail): Bind
-       `gnus-message-setup-hook' to nil.
-
-       * lisp/message.el (message-bounce-setup-for-mime-edit): New
-       function.
-       (message-bounce-setup-function): New user option. Use
-       `message-bounce-setup-for-mime-edit' in default.
-       (message-bounce): Call `message-bounce-setup-function' if it is
-       non-nil.
-       (message-bounce-setup-hook): New user option.
-
-       * lisp/gnus-art.el (gnus-article-edit-done): Remove
-       `gnus-article-mime-edit-article-unwind' from
-       `gnus-article-mode-hook' before run `gnus-article-edit-exit'.
-       (gnus-article-edit-article): Call
-       `gnus-article-edit-article-setup-function' if it is non-nil.
-       (gnus-article-edit-article-setup-function): New user option. Use
-       `gnus-article-mime-edit-article-setup' in default.
-       (gnus-article-mime-edit-article-setup-hook): New hook.
-       (gnus-article-mime-edit-exit): New function. Use
-       `gnus-article-make-full-mail-header'.
-       (gnus-article-mime-edit-article-setup): Ditto.
-       (gnus-article-mime-edit-article-unwind): New function.
-       (gnus-article-make-full-mail-header): New function.
-       (gnus-article-prepare-display): New function.
-       (gnus-article-prepare): Use it.
-
-1998-11-11  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/message.el (message-mode-map): Add new command key
-       `C-x C-s' for `message-save-drafts'.
-
-1998-11-11  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/message.el (message-8bit-encoding-list): New variable.
-       (message-send-mail): Use `message-check-mail-syntax'.
-       (message-check-news-body-syntax): Use `message-check-8bit'.
-       (message-check-mail-syntax): New function.
-       (message-check-mail-header-syntax): New function.
-       (message-check-mail-body-syntax): New function.
-       (message-check-8bit): New function.
+       * lisp/gnus-art.el (gnus-article-header-presentation-method): Use
+       `mime-insert-header' instead of `mime-insert-decoded-header'.
 
 1998-11-09  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
-       * lisp/pop3-fma.el: Set the value of `nnmail-read-passwd' as a
-       symbol `pop3-fma-read-passwd'.
-
-1998-11-04  Yoshiki Hayashi  <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * lisp/message.el: (message-do-fcc): Don't run message-header-hook
-       and message-before-do-fcc-hook.
-
-1998-11-02  Yoshiki Hayashi  <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * lisp/message.el: (message-make-in-reply-to): Generate
-       In-Reply-To header according to draft-ietf-drums-msg-fmt-05.
-
-1998-10-30  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el: Add autoload setting for `pop3-fma'.
-
-1998-10-28  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el: Determin base64 encode/decode function by FLIM.
-
-1998-10-26  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/message.el (message-save-drafts): New function.
-       To save drafts in network code.
-       (message-save-buffer): New variable.
-
-       * lisp/pop3-fma.el: Require `mel-b-el' if `mel-b' does not exist.
-
-1998-10-23  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-msg.el (gnus-message-make-user-agent): New function.
-
-1998-10-21  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-xmas.el (gnus-tilde-pad-form): Guard for non string
-       symbol.
-
-1998-10-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el (pop3-fma-init-message-hook): Change
-       message-send-hook to mime-edit-translate-hook.
-
-1998-10-14  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/pop3-fma.el (pop3-fma-read-char-exclusive): New macro. Use
-       `next-command-event' instead of `read-char-exclusive' under XEmacs.
-       (pop3-fma-read-noecho): Use it.
-
-1998-10-13  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/nnheaderxm.el (nnheader-xmas-Y-or-n-p): New function.
-       It will be used for the substitute of `nnheader-Y-or-n-p' under
-       XEmacs.
-
-       * lisp/nnheader.el (nnheader-Y-or-n-p): Rewrite for Emacs 19 or
-       later except for XEmacs.
-
-1998-10-08  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/message.el (message-mode-map): Define key `C-x k'.
-       (message-kill-buffer): Change the prompt string.
-       (message-kill-buffer): Refer to
-       `message-kill-buffer-query-function'.
-       (message-kill-buffer-query-function): New user option.
-
-       * lisp/nnheader.el (nnheader-Y-or-n-p): New function.
-
-1998-10-07  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * lisp/nnagent.el (nnagent-open-server): Small bug fix.
-
-1998-10-07  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * TODO.ja: New file.
-
-1998-10-05  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * lisp/gnus.el (gnus-info-filename): New variable.
-       (gnus-info-find-node): Use `gnus-info-filename' and
-       `current-language-environment'.
-
-1998-10-03  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-draft.el (gnus-draft-send): Call
-       `message-send-news-function' or `message-send-mail-function'
-       instead of `message-send-and-exit'.
-
-1998-10-01  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el (pop3-fma-movemail): Bug fix.
-       Delete variable pop3-fma-movemail options.
-       Add new variabel pop3-fma-commandline-arguments.
-
-1998-09-30  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/message.el (message-make-user-agent): New implementation.
-
-1998-08-25  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus-msg.el (gnus-bug-message): About Semi-gnus.
-       (gnus-extended-version): Return gnus version only.
-       (gnus-bug): Add Semi-gnus developers to recipients.
-
-       * lisp/message.el (message-make-user-agent): New function.
-       (message-generate-headers): Use it.
-
-1998-06-12  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/message.el (message-required-news-headers): `X-Newsreader'
-       was replaced by `User-Agent'.
-       (message-required-mail-headers): `X-Mailer' was replaced by
-       `User-Agent'.
-       (message-header-format-alist): `X-Mailer' and `X-Newsreader' were
-       replaced by `User-Agent'.
-       (message-generate-headers): Ditto.
-
-       (message-user-agent): New variable.
-       (message-newsreader): Replaced by `message-user-agent'.
-       (message-mailer): Ditto.
-       (message-mode): `message-mailer' and `message-newsreader' were
-       replaced by `message-user-agent'.
-
-       * lisp/gnus-msg.el (gnus-inews-add-send-actions): `message-mailer'
-       and `message-newsreader' were replaced by `message-user-agent'.
-       (gnus-extended-version): Generate "PRODUCT/VERSION" style strings.
-
-       * lisp/gnus-soup.el (gnus-soup-send-packet): `message-mailer' and
-       `message-newsreader' were replaced by `message-user-agent'.
-
-1998-09-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus-draft.el (gnus-draft-edit-message): Use
-       `gnus-draft-setup-for-editing' instead of `gnus-draft-setup'.
-       (gnus-draft-send): Use `gnus-draft-setup-for-sending' instead of
-       `gnus-draft-setup'.
-       (gnus-draft-setup-for-editing): New function (renamed from
-       `gnus-draft-setup').
-       (gnus-draft-setup-for-sending): New function.
-       (gnus-draft-send-draft-buffer): New variable.
-
-1998-09-26  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.19.
-
-       * Sync up with Gnus 5.6.44.
-
-1998-09-16  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * Makefile.in: Add entry `info-ja'.
-       * texi/Makefile.in: Add entry `ja'.
-
-1998-09-11  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/message.el (message-send): Don't call
-       `message-fix-before-sending' before `message-encode-function' is
-       called.
-
-1998-09-06  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el: Add error handle and fix typo.
-
-1998-08-28  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/message.el: Repair `multi frame control'.
-
-1998-08-27  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.16.
-
-       * Sync up with Gnus 5.6.41.
-
-1998-08-26  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-spec.el (gnus-parse-simple-format): Use
-       `gnus-tilde-pad-form' instead of the padding faculty of `format'
-       under XEmacs-mule.
-
-       * lisp/gnus-xmas.el
-       (gnus-xmas-redefine): Redifine `gnus-truncate-string',
-       `gnus-tilde-max-form' and `gnus-tilde-cut-form' for XEmacs-mule.
-       (gnus-xmas-define): New function 'gnus-tilde-pad-form' for
-       XEmacs-mule.
-
-1998-08-26  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus-art.el (gnus-article-narrow-to-signature):
-       Removed TM stuff.
-       (gnus-article-display-mime-message):
-       Set `mime-button-mother-dispatcher' in correct buffer.
-       (gnus-url-mailto): Use `gnus-setup-message'.
-       (gnus-button-mailto): Ditto.
-       (gnus-button-reply): Ditto.
-
-       * lisp/gnus-ems.el (gnus-mule-max-width-function): Removed.
-       (gnus-truncate-string): Use `truncate-string-to-width' if available.
-       (gnus-tilde-max-form): New implementation.
-       (gnus-tilde-cut-form): Ditto.
-
-       * lisp/gnus-msg.el (gnus-summary-mail-digest): New function.
-       (gnus-summary-post-digest): New function.
-
-       * lisp/gnus-sum.el (gnus-summary-make-menu-bar): Use
-       `gnus-summary-mail-digest' and `gnus-summary-post-digest' instead
-       of `gnus-uu-digest-mail-forward' and `gnus-uu-digest-post-forward'.
-
-       * lisp/gnus-util.el (gnus-truncate-string): Ignore more than two
-       arguments.
-
-       * lisp/message.el (message-forward-end-separator): Use
-       `text/plain' tag.
-
-1998-08-23  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/message.el: Suppress some byte-compile warnings.
-       (message-make-forward-subject): Failed to sync.
-       (message-setup): Ditto.
-       (message-clone-locals): Modify regexp.
-
-1998-08-23  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus-agent.el (gnus-agent-braid-nov): Use
-       `nnheader-insert-file-contents'.
-
-       * lisp/gnus-i18n.el (gnus-set-summary-default-charset): Sync up
-       with "akr" branch.
-
-1998-08-23  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.15.
-
-       * Sync up with Gnus 5.6.39.
-
-       * lisp/pop3-fma.el (pop3-fma-movemail): Enable to get from APOP server.
-       (pop3-fma-set-pop3-password) Enable to get from APOP server.
-
-1998-08-20  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * lisp/message.el (message-clone-locals): Add `user-full-name'
-       and `user-mail-address' to regexp.
-
-1998-08-20  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.14.
-
-       * Sync up with Gnus 5.6.38.
-
-1998-08-20  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/message.el (message-frames): New custom group.
-       (message-original-frame): New variable.
-       (message-use-multi-frames): New variable.
-       (message-delete-frame-on-exit): New variable.
-       (message-send-and-exit): Delete frame which made for editing
-       message.
-       (message-kill-buffer): Ditto.
-       (message-delete-frame): New function.
-       (message-pop-to-buffer): Make new frame when edit message.
-
-1998-08-18  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.13.
-
-       * Sync up with Gnus 5.6.37.
-
-1998-08-16  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * lisp/gnus-sum.el (gnus-summary-scroll-down): Failed to sync.
-
-1998-08-16  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.12.
-
-       * Sync up with Gnus 5.6.36.
-
-1998-08-15  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Update.
-
-1998-08-14  Katsumi Yamaoka   <yamaoka@jpl.org>
-
-       * lisp/gnus-start.el (gnus-save-newsrc-file): Bind
-       `coding-system-for-write' by `gnus-startup-file-coding-system'
-       while saving the quick newsrc file.
-
-       * lisp/gnus-start.el (gnus-startup-file-coding-system): Change
-       default value to `ctext'.
-
-1998-08-13  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Fix typo.
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.11.
-
-       * Sync up with Gnus 5.6.34.
-
-1998-08-12  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.10.
-
-       * Sync up with Gnus 5.6.33.
-
-1998-08-11  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.9.
-
-       * Sync up with Gnus 5.6.31.
-
-1998-08-10  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.8.
-
-       * Sync up with Gnus 5.6.30.
-
-1998-08-10  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/message.el (message-yank-original): For citing any message.
-
-1998-08-10  Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.7.
-
-1998-08-06  Katsumi Yamaoka <yamaoka@jpl.org>
-
-       * lisp/smtp.el: Do not insert empty line at the end of message.
-
-1998-08-06  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.6.
-
-       * Sync up with Gnus 5.6.29.
-
-1998-08-05  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus-start.el (gnus-read-init-file): Fix indent.
-       * lisp/gnus-ems.el (gnus-tilde-max-form): Redefine instead of
-       (gnus-summary-line-format-spec) to display Japanese character
-       correctly in Gnus summaly.
-
-1998-08-05  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/gnus-start.el (gnus-read-init-file): Don't restrict
-       `coding-system-for-read' by `binary' when loading `.gnus'.
-
-1998-08-04  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.5.
-
-       * Sync up with Gnus 5.6.28.
-
-1998-07-27  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.4.
-
-       * Sync up with Gnus 5.6.27.
-
-1998-07-27  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/message-ja.texi: Japanese translation of "message.texi".
-
-1998-07-26  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.3.
-
-       * Sync up with Gnus 5.6.26.
-
-1998-07-23  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.2.
-       (gnus-version): Change to "Semi-gnus". Change comment format.
-
-1998-07-21  Keisuke Mori   <ksk@ntts.com>
-
-       * texi/gnus-ja.texi: Add "Appendices".
-
-1998-07-21  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Appendices".
-
-1998-07-16  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.1.
-
-       * Sync up with Gnus 5.6.24.
-
-1998-07-10  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/gnus-ems.el (gnus-mule-cite-add-face): Fix problem when multi
-       bytes charactors are used in cite prefix. (for Emacs 20.1 and 20.2)
-       (gnus-ems-redefine): for Emacs 20.1 and 20.2
-
-       * lisp/gnus-cite.el (gnus-cite-add-face): Abolish my last bogus change.
-
-1998-07-09  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
-
-       * lisp/gnus-cite.el (gnus-cite-add-face): Fix problem when multi
-       bytes charactors are used in cite prefix.
-
-1998-07-07  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "The End".
-
-1998-07-06  Keisuke Mori   <ksk@ntts.com>
-
-       * texi/gnus-ja.texi: Add "Various".
-
-1998-07-06  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Various".
-       * texi/gnus-ja.texi: Sync up with Gnus 5.6.22
-
-1998-07-02  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/message.el (message-header-format-alist): Repair to use
-       `message-fill-references' for References.
-
-1998-07-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el (gnus-article-header-presentation-method):
-       Delete nil optional arguments.
-       - Delete setting for `mime-raw-representation-type-alist'.
-
-1998-07-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.8.0.
-       (gnus-version): Modify for FLIM 1.8.
-
-       * lisp/gnus-art.el (gnus-article-header-presentation-method):
-       Modify for FLIM 1.8.
-
-1998-06-30  Keisuke Mori   <ksk@ntts.com>
-
-       * texi/gnus-ja.texi: Add "Scroing".
-
-1998-06-30  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Scoring".
-
-1998-06-30  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * Sync up with Gnus 5.6.22
-       * lisp/gnus.el (gnus-version-number): Update to 6.7.8.
-       * lisp/pop3-fma.el : Enable to get localhost mail spool.
-
-1998-06-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.7.7.
-
-       * lisp/gnus-art.el (gnus-article-prepare): Set up
-       `gnus-article-current-summary' of gnus-article-buffer.
-       (gnus-request-article-this-buffer): Don't set up
-       `gnus-article-current-summary'.
-
-1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.7.6.
-
-1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el (gnus-mime-preview-quitting-method): Renamed
-       from `mime-preview-quitting-method-for-gnus'.
-
-1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-sum.el (gnus-summary-preview-mime-message): New
-       implementation.
-
-       * lisp/gnus-art.el (mime-preview-quitting-method-for-gnus): Use
-       `gnus-article-show-summary' is `gnus-show-mime' is not nil.
-
-1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/ChangeLog, texi/gnus.texi, texi/message.texi,
-       lisp/ChangeLog, lisp/gnus.el, lisp/nngateway.el, lisp/nnfolder.el,
-       lisp/message.el, lisp/gnus-sum.el, lisp/gnus-soup.el: Sync up with
-       Gnus 5.6.20.
-
-1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * README, texi/ChangeLog, texi/gnus.texi, texi/message.texi,
-       lisp/ChangeLog, lisp/nnweb.el, lisp/nnmail.el, lisp/nndoc.el,
-       lisp/message.el, lisp/lpath.el, lisp/gnus.el, lisp/gnus-util.el,
-       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-score.el,
-       lisp/gnus-group.el, lisp/gnus-ems.el, lisp/gnus-demon.el,
-       lisp/gnus-art.el: Sync up with Gnus 5.6.16.
-
-1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.7.3.
-
-       * lisp/gnus-sum.el (gnus-summary-move-article): Use
-       `gnus-request-article-this-buffer'.
-       (gnus-request-partial-message): Likewise.
-
-       * lisp/gnus-art.el (gnus-article-prepare): Use
-       `gnus-request-article-this-buffer'.
-       (gnus-request-article-this-buffer): Renamed from
-       `gnus-request-original-article'; abolish conventional
-       implementation.
-       - Abolish unused setting for `mime-view-show-summary-method'.
-
-1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * readme, texi/ChangeLog, texi/gnus.texi, texi/message.texi,
-       lisp/ChangeLog, lisp/gnus.el, lisp/nnmail.el, lisp/nnheader.el,
-       lisp/nngateway.el, lisp/nnfolder.el, lisp/nnagent.el,
-       lisp/message.el, lisp/gnus-sum.el, lisp/gnus-score.el,
-       lisp/gnus-salt.el, lisp/gnus-msg.el, lisp/gnus-cus.el,
-       lisp/gnus-cache.el, lisp/gnus-art.el: Sync up with Gnus 5.6.15.
-
-1998-06-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-ofsetup.el: New file - setting function for
+       gnus-offline.
 
-       * texi/gnus.texi, texi/message.texi, texi/ChangeLog: Sync up with
-       Gnus 5.6.13.
+1998-11-03  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-1998-06-14  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+       * lisp/nnmh.el (nnmh-retrieve-headers): Don't use
+       `nnheader-fold-continuation-lines'.
 
-       * Sync up with Gnus 5.6.13.
+1998-10-30  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-1998-06-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-art.el (gnus-article-decode-rfc1522): Use
+       `mime-decode-header-in-buffer' instead of `eword-decode-header'.
+       * lisp/gnus-draft.el (gnus-draft-decoding-function): Likewise.
 
-       * lisp/gnus-art.el (gnus-article-display-mime-message): Don't
-       `save-excursion'.
-       (gnus-article-prepare): Use `mime-fetch-field' instead of
-       `mime-entity-fetch-field'.
+1998-10-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el (gnus-article-display-mime-message): Use
-       `mime-display-message' instead of `mime-view-buffer'.
-       (gnus-article-display-traditional-message): Set
-       `gnus-article-buffer'.
-       (gnus-article-display-message-with-encoded-word): Modify for
-       `gnus-article-display-traditional-message'.
-       (gnus-article-prepare): Use `mime-parse-buffer' and
-       `mime-entity-fetch-field'; don't set gnus-article-buffer.
-
-1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-sum.el (gnus-summary-move-article): Use
-       `gnus-request-original-article' instead of
-       `gnus-request-article-this-buffer'.
-
-1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/gnus-ja.texi, texi/gnus.texi (Using MIME): Modify
-       description about new display mechanism.
-
-1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.6.0.
-       (gnus-version): Modify for this branch.
-
-       * lisp/gnus-art.el (gnus-article-display-method-for-mime): New
-       variable; abolish `gnus-show-mime-method'.
-       (gnus-article-display-method-for-encoded-word): New variable;
-       abolish `gnus-decode-encoded-word-method'.
-       (gnus-article-display-method-for-traditional): New variable.
-       (gnus-article-display-mime-message): New function; abolish
-       `gnus-article-preview-mime-message'.
-       (gnus-article-display-traditional-message): New function.
-       (gnus-article-display-message-with-encoded-word): New function;
-       abolish `gnus-article-decode-encoded-word'.
-       (gnus-article-prepare): Change display mechanism; use
-       `gnus-request-original-article' instead of
-       `gnus-request-article-this-buffer'.
-       (gnus-request-original-article): New function.
-
-1998-06-22  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.6.0.
-       (gnus-version): Modify for SEMI 1.8.
-
-       * lisp/gnus-sum.el: Modify for interface change in SEMI 1.8 about
-       automatic message/partial combining.
-
-1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.5.0.
-       (gnus-version): Modify for SEMI 1.7.
-
-       * lisp/gnus-sum.el: Rename
-       `mime-method-to-combine-message/partial-pieces' to
-       `mime-combine-message/partial-pieces-automatically'.
-
-       * lisp/gnus-art.el (gnus-article-preview-mime-message): Use
-       `mime-view-buffer'.
-       (gnus-article-decode-encoded-word): Fix DOC-string.
-       (gnus-article-header-presentation-method): New function; abolish
-       `gnus-content-header-filter'.
-       Modify for SEMI 1.7.
-
-1998-06-18  Keisuke Mori   <ksk@ntts.com>
-
-       * texi/gnus-ja.texi: Add "Select Methods".
-
-1998-06-18  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Select Methods".
-
-1998-06-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el: Small bug fix.
-
-       * lisp/pop3-fma.el: Delete variable pop3-fma-cypher-key
-       Use base64-encode-string , base64-decode-string instead.
-       Both change by Yasuo OKABE <okabe@kuis.kyoto-u.ac.jp>
-
-1998-06-13  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el: New function pop3-fma-cypher-string
-        New variable pop3-fma-cypher-key
-
-1998-06-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el: Delete setting for
-       `article-de-quoted-unreadable' and
-       `article-mime-decode-quoted-printable' because they have been
-       already abolished.
-
-1998-06-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/gnus-ja.texi: Sync up with latest gnus.texi.
-
-       * texi/gnus.texi: Modify for Semi-gnus 6.4.0.
-
-1998-06-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-extract-address-components): Add
-       `std11-extract-address-components' as a choice.
-
-1998-06-06  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Composing Messages".
-
-1998-06-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-ems.el (gnus-ems-redefine): Must require 'path-util
-       before call `module-installed-p'.
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.4.0.
-       (gnus-version): Modify for SEMI 1.5.
-
-       * lisp/gnus-art.el: Modify for SEMI 1.5 API.
-
-1998-06-04  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/pop3-fma.el: New file. To handle multiple POP account.
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.3.4.
-       And fix typo 5.6.10 -> 5.6.11.
-
-1998-06-03  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.3.3.
-
-       * Sync up with Gnus 5.6.11.
-
-1998-06-03  Keisuke Mori   <ksk@ntts.com>
-
-       * texi/gnus-ja.texi: Add "The Article Buffer".
-
-1998-06-03  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "The Summary Buffer".
-
-1998-06-02  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.3.2.
-
-       * Sync up with Gnus 5.6.10.
-
-1998-05-30  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * README.semi: Add description of `shuhei-k' branch.
-
-1998-05-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.3.1.
-
-1998-05-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-util.el (gnus-output-to-rmail): Guard as binary.
-
-       * lisp/gnus-util.el (gnus-output-to-mail): Guard as binary.
-
-1998-04-24  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "The Active File".
-
-1998-05-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.3.0.
-       (gnus-version): Modify for SEMI 1.4.
-
-       * lisp/gnus-sum.el: Use 'mime-add-condition to set up
-       acting-condition.
-
-1998-05-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/lpath.el: Must add "flim" instead of "mel" to load-path.
-
-1998-05-03  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.2.5.
-
-       * texi/gnus.texi, lisp/ChangeLog: Sync up with Gnus v5.6.9.
-
-       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
-       lisp/gnus-msg.el, lisp/gnus-draft.el, lisp/gnus-agent.el: Sync up
-       with Gnus v5.6.9.
-
-1998-04-30  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.2.4.
-
-       * texi/gnus.texi, lisp/ChangeLog: Sync up with Gnus 5.6.7.
-
-       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
-       lisp/gnus-msg.el, lisp/gnus-cache.el, lisp/gnus-art.el: Sync up
-       with Gnus 5.6.7.
-
-1998-04-28  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.2.3.
-
-       * Sync up with Gnus 5.6.6.
-
-1998-04-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/nnheader.el: Sync up with Gnus 5.6.5.
-
-1998-04-26  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.2.2.
-
-       * Sync up with Gnus 5.6.5.
-
-       * texi/custom.texi, texi/widget.texi: Removed from Semi-gnus.
-
-1998-04-25  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * README.semi (How to get? (via CVS)): Modify descriptions about
-       TAG.
-
-1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.2.1.
-
-1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-draft.el (gnus-draft-decoding-function): Use
+       `mime-edit-decode-buffer' simply as initial value.
 
        * lisp/message.el (message-make-forward-subject): Use
-       `eword-decode-unstructured-field-body' for subject.
-
-       * lisp/gnus-msg.el (gnus-summary-mail-forward): Make local
-       variable `default-mime-charset' of `gnus-original-article-buffer'
-       and set up by `default-mime-charset' of `gnus-summary-buffer'.
-
-1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/gnus-ja.texi: Fix typos.
-
-       * texi/gnus.texi: Modify for Semi-gnus.
-
-1998-04-23  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Auto Save".
-
-1998-04-22  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Startup Files".
-
-1998-04-21  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.2.0.
-       (gnus-version): Modify for SEMI 1.3.
-
-       * lisp/gnus-sum.el: Use 'ctree-set-calist-strictly instead of
-       'set-atype to set up for 'mime-acting-condition.
-
-1998-04-21  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "Changing Servers".
-
-1998-04-20  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/gnus-ja.texi: Modify styles.
-
-       * texi/gnus.texi: Modify for Semi-gnus (sync up with
-       gnus-ja.texi).
-
-1998-04-20  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: Add "New Groups".
-
-1998-04-20  Yoshiki Hayashi   <penny@tb3.so-net.ne.jp>
-
-       * texi/gnus-ja.texi: Modify styles.
-
-1998-04-18  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/gnus-ja.texi: Check and modify for Semi-gnus.
-
-1998-04-18  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
-
-       * texi/gnus-ja.texi: New file.
-
-1998-04-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.1.3.
-
-1998-04-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el (gnus-following-method): New function; set up
-       for 'mime-view-following-method-alist.
-
-1998-04-18  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/gnus.texi: Add and modify description for Semi-gnus.
-
-1998-04-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * texi/gnus.texi: "Gnus 5.6.4" -> "Semi-gnus 6.1.2".
-       (Top): "Gnus" -> "gnus".
-       (Starting Up): "Gnus" -> "gnus".
-
-1998-04-10  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/ChangeLog, lisp/gnus-agent.el: Sync up with Gnus 5.6.4.
-
-1998-04-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.1.2.
-       (gnus-version): Include corresponding SEMI version.
-
-       * lisp/gnus.el, lisp/nnkiboze.el, lisp/message.el,
-       lisp/gnus-sum.el, lisp/gnus-agent.el: Sync up with Gnus 5.6.4.
-
-1998-03-27  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * README.semi: Change descriptions of sending bug report.
-
-1998-03-20  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.1.1.
-       (gnus-version): Include corresponding SEMI version.
-
-       * Sync up with Gnus 5.6.3.
-
-1998-03-15  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus-agent.el (gnus-agent-crosspost): Use
-       `nnheader-insert-file-contents'.
-       (gnus-agent-braid-nov): Ditto.
-       (gnus-agent-expire): Ditto.
-
-       * lisp/gnus-cache.el (gnus-cache-request-article): Ditto.
-       (gnus-cache-retrieve-headers): Ditto.
-       (gnus-cache-change-buffer): Ditto.
-       (gnus-cache-braid-nov): Ditto.
-
-       * lisp/gnus-sum.el (gnus-summary-import-article): Ditto.
-
-       * lisp/nnkiboze.el (nnkiboze-retrieve-headers): Ditto.
-
-       * lisp/message.el (message-generate-headers): Fix regexp.
-       (cf. [semi-gnus-ja:107])
-
-1998-03-14  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el: Add setting for
-       `mime-raw-buffer-coding-system-alist'.
-
-1998-03-13  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el: Rename `mime-view-quitting-method-for-gnus' ->
-       `mime-preview-quitting-method-for-gnus'.
-
-       * lisp/gnus-art.el: Rename `mime-view-quitting-method-alist' ->
-       `mime-preview-quitting-method-alist'.
-
-       * lisp/gnus-art.el: Rename `mime-view-kill-buffer' ->
-       `mime-preview-kill-buffer'.
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.0.10.
-
-       * lisp/gnus-sum.el: Add code to check latest SEMI.
-       (mime-acting-condition): Separate type and subtype; rename
-       `mime-combine-message/partials-automatically' ->
-       `mime-method-to-combine-message/partial-pieces'.
-
-1998-03-08  Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.0.9.
-
-       * README.semi (How to get?): Add description of daily snapshot.
-       (How to join development): Change mailing list command address.
-
-       * Sync up with Gnus 5.6.2.
-
-1998-03-01  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-
-       * lisp/gnus-ems.el: Change variable name
-         gnus-bdf-image-file to gnus-mule-bitmap-image-file.
-
-1998-02-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.0.8.
-
-       * lisp/gnus.el: Sync up with qgnus-0.34.
-
-1998-02-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/message.el: Sync up with qgnus-0.33.
-
-       * lisp/gnus-ems.el (gnus-bdf-image-file): New variable; moved from
-       gnus.el.
-       (gnus-mule-group-startup-message): New function; moved and renamed
-       from `gnus-group-startup-message' of gnus.el.
-
-       * lisp/gnus.el, lisp/gnus-sum.el, lisp/gnus-art.el,
-       lisp/gnus-agent.el: Sync up with qgnus-0.33.
-
-1998-02-28  Tatsuya Ichikawa  <t-ichi@niagara.shiojiri.ne.jp>
-
-       * lisp/gnus.el (gnus-bdf-image-file): New variable.
-       (gnus-mule-group-startup-message): Display bitmap image using
-       bitmap.el running with Emacs 20.
-
-       * lisp/gnus-agent.el (gnus-agent-fetch-headers): Fix problem when
-       Xref field is not exist.
-
-1998-02-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * README.semi (How to join development): Modify for Semi-gnus
-       mailing list.
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.0.7.
-
-       * lisp/gnus.el (gnus-article-display-hook): Delete
-       `gnus-article-de-quoted-unreadable' from options.
-
-       * lisp/gnus-sum.el (gnus-article-make-menu-bar): Delete key for
-       `gnus-article-de-quoted-unreadable'.
-       (gnus-summary-make-menu-bar): Delete menu for
-       `gnus-article-de-quoted-unreadable'.
-
-       * lisp/gnus-art.el (gnus-article-make-menu-bar): Delete menu for
-       `gnus-article-de-quoted-unreadable'.
-
-1998-02-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el, lisp/message.el: Sync up with qgnus-0.32.
-
-1998-02-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.0.6.
-
-       * lisp/message.el (message-fill-references): Abolish unused local
-       variables.
-
-       * lisp/pop3.el, lisp/message.el, lisp/gnus.el, lisp/gnus-sum.el,
-       lisp/gnus-art.el: Sync up with qgnus-0.31.
-
-       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
-       lisp/gnus-art.el: Sync up with qgnus-0.30.
-
-1998-02-20  Christophe Broult <christophe.broult@info.unicaen.fr>
-
-       * README.semi (How to get?): The command `update' must come before
-       `-r semi-gnus'. (cf. [tm-en:1559])
-
-1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el: Sync up with qgnus-0.29.
-
-       * lisp/gnus.el, lisp/message.el: Sync up with qgnus-0.28.
-
-       * lisp/message.el: Abolish variable
-       `message-references-generator'.  Abolish function
-       `message-generate-filled-references',
-       `message-generate-folded-references' and
-       `message-generate-unfolded-references'.
-       (message-reply): Don't use `message-references-generator'.
-       (message-followup): Don't use `message-references-generator'.
-
-       (message-fill-references): New function.
-       (message-header-format-alist): Use `message-fill-references' for
-       References.
-
-1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to 6.0.5.
-
-1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-sum.el: Check SEMI-0.118.2 (Otomaru) or later.
-       (gnus-structured-field-decoder): Use
+       `nnheader-decode-subject' instead of
+       `eword-decode-unstructured-field-body'.
+
+       * lisp/nnheader.el (nnheader-decode-subject): New alias.
+       (nnheader-decode-from): New alias.
+       (make-full-mail-header): Use `nnheader-decode-subject' and
+       `nnheader-decode-from' instead of
+       `eword-decode-and-unfold-unstructured-field' and
        `eword-decode-and-unfold-structured-field'.
 
-       * lisp/gnus-art.el (gnus-article-decode-rfc1522): Use charset
-       conversion option of `eword-decode-header'.
-       (gnus-article-decode-encoded-word): Use charset conversion option
-       of `eword-decode-header'; use `gnus-run-hooks'.
-       (gnus-content-header-filter): Use charset conversion option of
-       `eword-decode-header'.
-
-       * README.semi (How to get?): Should specify "-r semi-gnus".
-
-1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-art.el (gnus-article-decode-rfc1522): Decode header by
-       localized code.
-
-1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus-msg.el: Delete commented-out function
-       `gnus-inews-insert-mime-headers'.
-
-       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
-       lisp/gnus-art.el: Sync up with qgnus-0.27.
-
-1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/nnheader.el: Use original.
-
-       * lisp/gnus.el, lisp/pop3.el, lisp/message.el, lisp/gnus-sum.el,
-       lisp/gnus-msg.el, lisp/gnus-draft.el, lisp/gnus-art.el: Sync up
-       with qgnus-0.26.
-
-1998-02-15  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/nnmail.el, lisp/nnmh.el: Use original.
-
-       * lisp/gnus.el, lisp/gnus-draft.el, lisp/gnus-sum.el,
-       lisp/message.el, lisp/gnus-art.el: Sync up with qgnus-0.25.
-
-1998-02-11  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
-
-       * texi/message.texi, texi/gnus.texi, texi/ChangeLog,
-       lisp/message.el, lisp/gnus.el, lisp/gnus-uu.el,
-       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
-       lisp/gnus-score.el, lisp/gnus-group.el, lisp/gnus-art.el,
-       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.24
+1998-10-22  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-1998-02-10  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-cache.el (gnus-cache-possibly-enter-article): Use
+       `mime-fetch-field' for getting Subject and From field.
 
-       * lisp/gnus-art.el (gnus-article-prepare): Don't bind coding
-       systems.
+1998-10-20  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * lisp/gnus.el (gnus-version-number): Update to 6.0.4.
-       (gnus-version): Sync with qgnus-0.23.
+       * lisp/nnheader.el (nnheader-insert-nov): Use `mime-fetch-field'
+       for Subject and From field.
 
-       * lisp/pop3.el, lisp/nnmh.el, lisp/nnheader.el, lisp/message.el,
-       lisp/gnus-sum.el, lisp/gnus-msg.el, lisp/gnus-draft.el,
-       lisp/gnus-art.el: Merge qgnus-0.23.
+1998-10-20  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-1998-02-09  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
+       * lisp/nnheader.el (nnheader-parse-nov): Use
+       `make-full-mail-header'.
 
-       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/nntp.el,
-       lisp/nnheader.el, lisp/message.el, lisp/gnus.el,
-       lisp/gnus-xmas.el, lisp/gnus-sum.el, lisp/gnus-start.el,
-       lisp/gnus-msg.el, lisp/gnus-group.el, lisp/gnus-draft.el,
-       lisp/gnus-art.el, lisp/gnus-agent.el, lisp/ChangeLog: Importing
-       qgnus-0.23
+1998-10-20  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-1998-02-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/nnheader.el (nnheader-parse-head): Use
+       `make-full-mail-header'.
 
-       * lisp/message.el (message-references-generator): New variable.
-       (message-generate-filled-references): New function.
-       (message-generate-folded-references): New function.
-       (message-generate-unfolded-references): New function.
-       (message-reply): Refer `message-references-generator'.
-       (message-followup): Refer `message-references-generator'.
+1998-10-20  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-1998-01-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/nnheader.el (make-full-mail-header): Sync up with
+       "chao-gnus-6_12" branch.
+       (mail-header-set-xref): Use `mime-entity-set-xref-internal'.
+       (mail-header-xref): Use `mime-entity-xref-internal'
+       (mail-header-set-lines): mime-entity-set-lines-internal'.
+       (mail-header-lines): Use `mime-entity-lines-internal'
+       (mail-header-set-chars): Use `mime-entity-set-chars-internal'.
+       (mail-header-chars): Use `mime-entity-chars-internal'.
+       (mail-header-set-references): Use
+       `mime-entity-set-references-internal'.
+       (mail-header-references): Use `mime-entity-references-internal'.
+       (mail-header-set-message-id): Use
+       `mime-entity-set-message-id-internal'.
+       (mail-header-message-id): Use `mime-entity-message-id-internal'.
+       (mail-header-set-date): Use `mime-entity-set-date-internal'.
+       (mail-header-date): Use `mime-entity-date-internal'.
+       (mail-header-set-from): Use
+       `mime-entity-set-decoded-from-internal'.
+       (mail-header-from): Use `mime-entity-decoded-from-internal'.
+       (mail-header-set-subject): Use
+       `mime-entity-set-decoded-subject-internal'.
+       (mail-header-subject): Use `mime-entity-decoded-subject-internal'.
+       All changes are imported from "chao-gnus-6_12" branch.
 
-       * lisp/message.el (message-send-mail-with-sendmail): Guard
-       `coding-system-for-write' by binary.
-       (message-send-mail-with-qmail): Likewise.
+       * lisp/message.el (message-reply): Use
+       `make-full-mail-header-from-decoded-header`.
+       (message-followup): Likewise.
 
-1998-01-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-art.el (gnus-article-display-method-for-encoded-word):
+       Abolished.
+       (gnus-article-display-message-with-encoded-word): Abolished.
 
-       * lisp/lpath.el: Require path-util; add load-path of APEL, MEL and
-       SEMI.
+1998-10-16  Katsumi Yamaoka   <yamaoka@jpl.org>
 
-1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-msg.el (gnus-message-setup-hook): Replace the default
+       value to `gnus-maybe-setup-default-charset'.
+       (gnus-maybe-setup-default-charset): New function. It is called
+       `message-maybe-setup-default-charset' at one time.
 
-       * lisp/message.el: Require smtp.el when compile.
+       * lisp/message.el (message-maybe-setup-default-charset): Abolished.
 
-       * lisp/message.el (message-send-mail-with-smtp): Use
-       `(current-buffer)' instead of `tembuf'; rename
-       `smtp-recipient-address-list' -> `recipient-address-list'.
+1998-10-15  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
 
-1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-spec.el (gnus-update-format-specifications): Force
+       update `gnus-format-specs' when `gnus-version' is differ from
+       saved version.
 
-       * lisp/smtp.el (smtp-deduce-address-list): Don't use
-       `smtp-recipient-address-list' as global variable.
+1998-10-14  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * lisp/message.el (message-send-mail-with-smtp): Don't use
-       `smtp-recipient-address-list' as global variable.
+       * lisp/gnus-sum.el (gnus-summary-line-format-alist): Use
+       `mime-read-field', `std11-address-string' and
+       `std11-full-name-string' instead of
+       `gnus-extract-address-components'.
+       (gnus-article-sort-by-author): Likewise.
 
-       * lisp/smtpmail.el (smtpmail-recipient-address-list): New
-       variable; renamed from `smtp-recipient-address-list'.
-       (smtpmail-send-it): Remove `(not (null ...))'.
-       (smtpmail-send-queued-mail): Likewise.
+1998-10-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/nnheader.el (make-full-mail-header-from-decoded-header):
+       New function.
 
-       * lisp/message.el (message-send-mail-with-smtp): Don't generate
-       temporary buffer for message; don't generate and kill
-       `smtp-address-buffer' for `smtp-deduce-address-list'.
+1998-10-05  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * lisp/smtpmail.el (smtpmail-send-it): Don't generate and kill
-       `smtp-address-buffer' for `smtp-deduce-address-list'.
+       * lisp/gnus-art.el (gnus-article-display-mime-message): Set up
+       buffer local variable `default-mime-charset' of
+       `gnus-original-article-buffer' and `gnus-article-buffer'.
 
-       * lisp/smtp.el (smtp-deduce-address-list): Bind and generate
-       `smtp-address-buffer' in itself.
-
-1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to version 6.0.3.
-
-1998-01-11  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/smtp.el: New file.
-
-       * lisp/smtpmail.el: Split basic features into smtp.el.
-
-       * lisp/message.el (message-send-mail-function): Add
-       `message-send-mail-with-smtp' as an item.
-       (message-send-mail-with-smtp): New function.
-
-       * ChangeLog: New file.
-
-1998-01-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/smtpmail.el (smtpmail-via-smtp): Bind
-       `coding-system-for-read' by `smtpmail-coding-system' to avoid
-       dead-locking in Emacs 20.
-
-       * lisp/gnus.el: gnus.el (gnus-version-number): Update to version
-       6.0.2.
-
-1998-01-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/nnmail.el, lisp/message.el: Sync with Quassia Gnus v0.22.
-
-       * lisp/gnus.el: Delete autoload setting for `metamail-buffer'.
-
-       * lisp/gnus.el, lisp/gnus-sum.el: Sync with Quassia Gnus v0.22.
-
-       * lisp/gnus-msg.el: Abolish function
-       `gnus-inews-insert-mime-headers'.
-
-       * lisp/gnus-msg.el, lisp/gnus-draft.el, lisp/gnus-art.el: Sync
-       with Quassia Gnus v0.22.
-
-       * lisp/smtpmail.el (smtpmail-coding-system): New variable; abolish
-       `smtpmail-code-conv-from'.
-       (smtpmail-via-smtp): Guard `coding-system-for-write' by
-       `smtpmail-coding-system'.
-
-       * lisp/smtpmail.el: Imported from Emacs 20.2.
-
-       * lisp/pop3.el (pop3-movemail-file-coding-system): Change default
-       value to `binary'.
-       (pop3-open-server): Guard `coding-system-for-read' by `binary'.
-
-1998-01-06  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
-
-       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/nnoo.el,
-       lisp/nnml.el, lisp/message.el, lisp/gnus.el, lisp/gnus-sum.el,
-       lisp/gnus-start.el, lisp/gnus-ems.el, lisp/gnus-draft.el,
-       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.22
-
-       * texi/message.texi, texi/gnus.texi, lisp/gnus.el, lisp/ChangeLog:
-       Importing qgnus-0.21
-
-       * texi/message.texi, texi/gnus.texi, texi/ChangeLog,
-       lisp/nnvirtual.el, lisp/nnsoup.el, lisp/nnoo.el, lisp/nnmh.el,
-       lisp/nnmail.el, lisp/nndraft.el, lisp/gnus.el, lisp/gnus-xmas.el,
-       lisp/gnus-sum.el, lisp/gnus-start.el, lisp/gnus-score.el,
-       lisp/gnus-msg.el, lisp/gnus-group.el, lisp/gnus-draft.el,
-       lisp/gnus-art.el, lisp/ChangeLog: Importing qgnus-0.20
-
-       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/pop3.el,
-       lisp/nntp.el, lisp/nnml.el, lisp/nnmail.el, lisp/nndoc.el,
-       lisp/message.el, lisp/gnus.el, lisp/gnus-uu.el,
-       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
-       lisp/gnus-score.el, lisp/gnus-group.el, lisp/gnus-cache.el,
-       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.19
-
-1997-12-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/gnus.el (gnus-version-number): Update to version 6.0.1.
+1998-09-30  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * lisp/message.el (message-resend): Enclose `message-setup' with
-       `(let (message-setup-hook) ...)' to avoid to `turn-on-mime-edit';
-       must setup `message-encoding-buffer' and `message-edit-buffer' for
-       `message-send-mail'.
+       * lisp/nnheader.el: Use `mime-entity' as gnus-header structure.
+       (mail-header-number): Use `mime-entity-location-internal'.
+       (mail-header-set-number): Use `mime-entity-set-location-internal'.
+       - Change other `mail-header-*' and `mail-header-set-*' to alias of
+       reference and set functions for mime-entity-internal.
 
-1997-12-08  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
+       * lisp/mmgnus.el: New module.
 
-       * lisp/pop3.el, lisp/message.el, lisp/gnus.el, lisp/gnus-sum.el,
-       lisp/gnus-art.el, lisp/ChangeLog: Synch'ed up to qgnus-0.18.
+       * lisp/gnus-sum.el: Abolish variable
+       `gnus-structured-field-decoder' and
+       `gnus-unstructured-field-decoder'.
+       (gnus-nov-parse-line): Don't decode from and subject.
+       (gnus-get-newsgroup-headers): Likewise.
 
-       * texi/message.texi, texi/gnus.texi, texi/ChangeLog,
-       lisp/smiley.el, lisp/pop3.el, lisp/nnweb.el, lisp/nntp.el,
-       lisp/nnml.el, lisp/nnmail.el, lisp/nnheader.el, lisp/nndraft.el,
-       lisp/message.el, lisp/lpath.el, lisp/gnus.el, lisp/gnus-util.el,
-       lisp/gnus-sum.el, lisp/gnus-start.el, lisp/gnus-picon.el,
-       lisp/gnus-nocem.el, lisp/gnus-mh.el, lisp/gnus-group.el,
-       lisp/gnus-ems.el, lisp/gnus-cite.el, lisp/gnus-art.el,
-       lisp/gnus-agent.el, lisp/dgnushack.el, lisp/ChangeLog: Importing
-       qgnus-0.18
+       * lisp/gnus-score.el (gnus-header-index): Modify to use
+       mime-entity structure as gnus-header structure.
 
-1997-11-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+       * lisp/gnus-art.el (gnus-article-prepare-display): Use content of
+       `gnus-current-headers' as mime-message-structure.
 
-       * README.semi: New file.
+1998-09-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * lisp/gnus.el (gnus-version): Rename to "Semi-gnus".
+       * lisp/gnus-sum.el (gnus-update-summary-mark-positions): Use
+       `make-full-mail-header'.
 
-1997-11-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+1998-08-16  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
-       * lisp/gnus-draft.el (gnus-draft-decoding-function): New variable.
-       (gnus-draft-setup): Use `gnus-draft-decoding-function'.
-
-1997-11-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
-
-       * lisp/nnmail.el, lisp/nnheader.el, lisp/message.el, lisp/gnus.el,
-       lisp/gnus-sum.el, lisp/gnus-msg.el, lisp/gnus-art.el: sync with
-       qgnus-0.17.
-
-       * texi/message.texi, texi/gnus.texi, lisp/smiley.el, lisp/nnoo.el,
-       lisp/nnml.el, lisp/nnmail.el, lisp/nnheader.el,
-       lisp/messagexmas.el, lisp/message.el, lisp/gnus.el,
-       lisp/gnus-xmas.el, lisp/gnus-util.el, lisp/gnus-sum.el,
-       lisp/gnus-start.el, lisp/gnus-spec.el, lisp/gnus-score.el,
-       lisp/gnus-picon.el, lisp/gnus-move.el, lisp/gnus-msg.el,
-       lisp/gnus-kill.el, lisp/gnus-group.el, lisp/gnus-draft.el,
-       lisp/gnus-demon.el, lisp/gnus-cite.el, lisp/gnus-art.el,
-       lisp/ChangeLog: Quassia Gnus v0.17.
-
-       * lisp/gnus-i18n.el: New file.
-
-       * lisp/nnmail.el (nnmail-file-coding-system): Use `raw-text' in
-       default.
-
-       * lisp/nnheader.el (nnheader-file-coding-system): Use `raw-text'
-       in default.
-
-       * lisp/message.el (message-encode-function): New variable.
-       (message-forward-start-separator): Modify for mime-edit.
-       (message-forward-end-separator): Modify for mime-edit.
-       (message-setup-hook): Use `(message-maybe-setup-default-charset
-       turn-on-mime-edit)' in default.
-       (message-header-hook): Use `(eword-encode-header)' in default.
-
-       (message-send): Use local variable `message-encoding-buffer',
-       `message-edit-buffer' and `message-mime-mode' as public variables;
-       use `message-encode-function'.
-       (message-send-mail): Use `message-encoding-buffer' to get contents
-       of body; abolish `message-encode-mail-hook'; use
-       `mime-edit-maybe-split-and-send'; use `message-edit-buffer' to
-       refer original editing buffer.
-       (message-send-news): Use `message-encoding-buffer' to get contents
-       of body; abolish `message-encode-news-hook'; use
-       `mime-edit-maybe-split-and-send'; use `message-edit-buffer' to
-       refer original editing buffer.
-       (message-check-news-syntax): Call `message-check-news-body-syntax'
-       in `mime-edit-buffer'.
-       (message-do-fcc): Use `message-encoding-buffer' to get contents;
-       run `message-header-hook'.
-       (message-cancel-news): Use `std11-extract-address-components'
-       instead of `mail-extract-address-components'; bind
-       `message-encoding-buffer' and `message-edit-buffer'.
-
-       (message-maybe-setup-default-charset): New function.
-       (message-maybe-encode): New function.
-       (message-mime-insert-article): New function.
-       Add setting for mime-view.
-
-       * lisp/gnus.el (gnus-version-number): for version number for Open
-       gnus.
-       (gnus-version): Modify for Open gnus.
-
-       * lisp/gnus-sum.el: Autoload gnus-i18n.
-
-       (gnus-show-mime): `t' in default.
-       (gnus-structured-field-decoder): Use
-       `eword-decode-structured-field-body' in default.
-       (gnus-unstructured-field-decoder): Use
-       `eword-decode-unstructured-field-body' in default.
-
-       (gnus-parse-headers-hook): Use
-       `(gnus-set-summary-default-charset)' in default.
-
-       (gnus-summary-mode-map): Add binding for
-       `gnus-summary-scroll-down' and
-       `gnus-summary-preview-mime-message'.
-
-       (gnus-summary-preview-mime-message): New function.
-       (gnus-mime-partial-preview-function): New function.
-       Add setting for mime-view.
-
-       * lisp/gnus-msg.el (gnus-summary-cancel-article): Display
-       `gnus-article-buffer' instead ofb `gnus-original-article-buffer'.
-       (gnus-extended-version): Don't return version of emacsen.
-       (gnus-inews-do-gcc): Refer `message-encoding-buffer'.
-
-       * lisp/gnus-art.el (gnus-show-mime-method): Use
-       `gnus-article-preview-mime-message' instead of `metamail-buffer'
-       in default.
-       (gnus-decode-encoded-word-method): Use
-       `gnus-article-decode-encoded-word' instead of
-       `gnus-article-de-quoted-unreadable' in default.
-
-       Abolish `gnus-hack-decode-rfc1522', `gnus-decode-rfc1522',
-       `article-decode-rfc1522', `article-de-quoted-unreadable',
-       `article-mime-decode-quoted-printable-buffer' and
-       `article-mime-decode-quoted-printable'.
-       (gnus-article-decode-rfc1522): New implementation (use
-       `eword-decode-header').
-
-       (gnus-article-preview-mime-message): New function.
-       (gnus-article-decode-encoded-word): New function.
-       (gnus-content-header-filter): New function.
-       (mime-view-quitting-method-for-gnus): New function.
-       Add setting for mime-view.
-
-       * lisp/message.el: Abolish `message-max-size' because it is not
-       used.
-
-       * lisp/message.el: sync with qgnus-0.16.
-
-       * texi/Makefile, texi/message.texi, texi/gnus.texi, lisp/nnweb.el,
-       lisp/nnmh.el, lisp/nnheader.el, lisp/nnfolder.el, lisp/message.el,
-       lisp/gnus.el, lisp/gnus-xmas.el, lisp/gnus-uu.el,
-       lisp/gnus-sum.el, lisp/gnus-srvr.el, lisp/gnus-picon.el,
-       lisp/gnus-group.el, lisp/gnus-cite.el, lisp/gnus-art.el: Quassia
-       Gnus v0.16.
-
-       * lisp/nnmh.el (nnmh-request-list-1): fix maybe.
-
-       * lisp/message.el (message-do-fcc): Guard
-       `coding-system-for-write' by `raw-text'; run
-       `message-before-do-fcc-hook'.
-
-       * lisp/gnus-msg.el (gnus-inews-do-gcc): Guard
-       `coding-system-for-write' by `raw-text'; run
-       `gnus-before-do-gcc-hook'.
-
-       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/nntp.el,
-       lisp/nnoo.el, lisp/nnml.el, lisp/nndraft.el, lisp/nnbabyl.el,
-       lisp/message.el, lisp/gnus.el, lisp/gnus-xmas.el, lisp/gnus-uu.el,
-       lisp/gnus-util.el, lisp/gnus-sum.el, lisp/gnus-start.el,
-       lisp/gnus-spec.el, lisp/gnus-soup.el, lisp/gnus-score.el,
-       lisp/gnus-msg.el, lisp/gnus-gl.el, lisp/gnus-ems.el,
-       lisp/gnus-draft.el, lisp/gnus-cache.el, lisp/gnus-audio.el,
-       lisp/gnus-art.el, lisp/gnus-agent.el, lisp/ChangeLog: Quassia Gnus
-       v0.15.
-
-       * lisp/message.el, lisp/ChangeLog: sync with qgnus-0.14.
-
-       * texi/Makefile, texi/gnus.texi: Quassia Gnus v0.14.
-
-       * texi/dir: New file.
-
-       * texi/dir, lisp/pop3.el, lisp/nntp.el, lisp/nnml.el,
-       lisp/nnmail.el, lisp/nnfolder.el, lisp/message.el, lisp/lpath.el,
-       lisp/gnus.el, lisp/gnus-win.el, lisp/gnus-util.el,
-       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
-       lisp/gnus-score.el, lisp/gnus-msg.el, lisp/gnus-mh.el,
-       lisp/gnus-cus.el, lisp/gnus-art.el, lisp/gnus-agent.el,
-       lisp/ChangeLog: Quassia Gnus v0.14.
-
-       * lisp/message.el, lisp/ChangeLog: sync with qgnus-0.13.
-
-       * texi/gnus.texi, texi/ChangeLog, lisp/pop3.el, lisp/nnweb.el,
-       lisp/nnmail.el: Quassia Gnus v0.13.
-
-       * lisp/nnlistserv.el: New file.
-
-       * lisp/nnlistserv.el, lisp/message.el, lisp/md5.el, lisp/lpath.el,
-       lisp/gnus.el, lisp/gnus-topic.el, lisp/gnus-sum.el,
-       lisp/gnus-score.el, lisp/gnus-picon.el, lisp/gnus-msg.el,
-       lisp/gnus-group.el, lisp/gnus-art.el, lisp/gnus-agent.el,
-       lisp/dgnushack.el, lisp/ChangeLog, GNUS-NEWS: Quassia Gnus v0.13.
-
-       * lisp/message.el: sync with qgnus-0.12.
-
-       * texi/message.texi, texi/gnus.texi, texi/gnus-faq.texi,
-       texi/ChangeLog, lisp/nntp.el, lisp/nnmh.el, lisp/nnmail.el,
-       lisp/nndraft.el, lisp/messcompat.el, lisp/message.el,
-       lisp/gnus.el, lisp/gnus-xmas.el, lisp/gnus-uu.el,
-       lisp/gnus-sum.el, lisp/gnus-score.el, lisp/gnus-salt.el,
-       lisp/gnus-msg.el, lisp/gnus-int.el, lisp/gnus-group.el,
-       lisp/gnus-demon.el, lisp/gnus-cache.el, lisp/gnus-art.el,
-       lisp/gnus-agent.el, lisp/ChangeLog, GNUS-NEWS: Quassia Gnus v0.12.
-
-       * lisp/message.el (message-send-news-function): Use
-       `message-send-news-with-gnus' in default.
-       (message-send-via-news): Use `message-send-news' instead of
-       `message-send-news-function'.
-       (message-send-mail): Don't avoid text properties; run
-       `message-encode-mail-hook'.
-       (message-send-news): Don't avoid text properties; run
-       `message-encode-news-hook'; use `message-send-news-function'.
-       (message-send-news-with-gnus): New function.
-       (message-cancel-news): Use `message-send-news' instead of
-       `message-send-news-function'.
+       * lisp/gnus-offline.el : New file.
diff --git a/ChangeLog.1 b/ChangeLog.1
new file mode 100644 (file)
index 0000000..268160c
--- /dev/null
@@ -0,0 +1,1747 @@
+1998-12-18  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-start.el (gnus-read-newsrc-el-file): Bug (referring to
+       unbounded variable) fix.
+
+1998-12-17  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-start.el (gnus-read-newsrc-el-file): Don't load newsrc
+       file if it does not exist.
+
+1998-12-14  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus.el: (gnus-version-number): Update to 6.9.2.
+
+       * lisp/nnheader.el (nnheader-find-file-noselect): Call
+       `find-file-noselect-as-coding-system' with CODING-SYSTEM as the
+       1st arg.
+
+       * lisp/nnmail.el (nnmail-find-file): Call
+       `insert-file-contents-as-coding-system' with CODING-SYSTEM as the
+       1st arg.
+       * lisp/nnheader.el (nnheader-insert-file-contents): Likewise.
+
+       * lisp/gnus-start.el (gnus-save-newsrc-file): Call
+       `write-region-as-coding-system' with CODING-SYSTEM as the 1st arg.
+       (gnus-read-newsrc-el-file): Call
+       `insert-file-contents-as-coding-system' with CODING-SYSTEM as the
+       1st arg.
+
+       * lisp/gnus-cache.el (gnus-cache-save-buffers): Call
+       `gnus-write-buffer-as-coding-system' with CODING-SYSTEM as the 1st
+       arg.
+
+       * lisp/gnus-util.el (gnus-write-buffer-as-coding-system): Be
+       CODING-SYSTEM the 1st arg.
+
+       * lisp/nnmail.el (nnmail-write-region): Call
+       `write-region-as-coding-system' with CODING-SYSTEM as the 1st arg.
+       * lisp/gnus-start.el (gnus-save-newsrc-file): Likewise.
+       * lisp/gnus-agent.el (gnus-agent-expire): Likewise.
+       (gnus-agent-fetch-headers): Likewise.
+       (gnus-agent-flush-cache): Likewise.
+       (gnus-agent-fetch-articles): Likewise.
+       (gnus-agent-save-history): Likewise.
+       (gnus-agent-save-groups): Likewise.
+       (gnus-agent-save-active): Likewise.
+
+1998-12-14  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/nnheader.el (nnheader-find-file-noselect): Use
+       `find-file-noselect-as-coding-system' (renamed from
+       `find-file-noselect-as-specified-coding-system').
+
+       * lisp/nnmail.el (nnmail-find-file): Use
+       `insert-file-contents-as-coding-system' (renamed from
+       `insert-file-contents-as-specified-coding-system').
+       * lisp/nnheader.el (nnheader-insert-file-contents): Likewise.
+
+       * lisp/gnus-start.el (gnus-save-newsrc-file): Use
+       `write-region-as-coding-system' (renamed from
+       `write-region-as-specified-coding-system').
+       (gnus-read-newsrc-el-file): Use
+       `insert-file-contents-as-coding-system' (renamed from
+       `insert-file-contents-as-specified-coding-system').
+
+       * lisp/gnus-cache.el (gnus-cache-save-buffers): Use
+       `gnus-write-buffer-as-coding-system' (renamed from
+       `gnus-write-buffer-as-specified-coding-system').
+
+       * lisp/gnus-util.el (gnus-write-buffer-as-coding-system):
+       Renamed from `gnus-write-buffer-as-specified-coding-system'.
+
+       * lisp/nnmail.el (nnmail-write-region): Use
+       `write-region-as-coding-system' (renamed from
+       `write-region-as-specified-coding-system').
+       * lisp/gnus-start.el (gnus-save-newsrc-file): Likewise.
+       * lisp/gnus-agent.el (gnus-agent-expire): Likewise.
+       (gnus-agent-fetch-headers): Likewise.
+       (gnus-agent-flush-cache): Likewise.
+       (gnus-agent-fetch-articles): Likewise.
+       (gnus-agent-save-history): Likewise.
+       (gnus-agent-save-groups): Likewise.
+       (gnus-agent-save-active): Likewise.
+
+1998-12-11  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/nnheader.el (nnheader-find-file-noselect): Call
+       `find-file-noselect-as-specified-coding-system' directly.
+
+1998-12-10  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/pop3.el (pop3-movemail): Use `write-region-as-binary'
+       instead of `append-to-file'.
+       (pop3-movemail-file-coding-system): Abolished.
+
+       * lisp/nnheader.el (nnheader-find-file-noselect): Use
+       `find-file-noselect-as-specified-coding-system' instead of
+       `find-file-noselect'.
+
+       * lisp/nnmail.el (nnmail-find-file): Use
+       `insert-file-contents-as-specified-coding-system' instead of
+       `insert-file-contents'.
+       * lisp/nnheader.el (nnheader-insert-file-contents): Likewise.
+
+       * lisp/message.el (message-send-mail-with-qmail): Enclose
+       `call-process-region' with `as-binary-process'.
+       (message-send-mail-with-sendmail): Likewise.
+       (message-send-coding-system): Abolished.
+
+       * lisp/gnus-start.el (gnus-save-newsrc-file): Emulate
+       `save-buffer' with `write-region-as-specified-coding-system'.
+       (gnus-read-newsrc-el-file): Emulate `load' with
+       `insert-file-contents-as-specified-coding-system' and
+       `eval-region'.
+
+       * lisp/gnus-cache.el (gnus-cache-save-buffers): Use
+       `gnus-write-buffer-as-specified-coding-system' instead of
+       `gnus-write-buffer'.
+
+       * lisp/gnus-util.el (gnus-output-to-mail): Use
+       `write-region-as-binary' instead of `append-to-file'.
+       (gnus-output-to-mail): Use `gnus-write-buffer-as-binary' instead
+       of `gnus-write-buffer'.
+       (gnus-write-buffer-as-specified-coding-system): New function.
+       (gnus-write-buffer-as-binary): New function.
+
+       * lisp/nnmail.el (nnmail-write-region): Use
+       `write-region-as-specified-coding-system' instead of
+       `write-region'.
+       * lisp/gnus-start.el (gnus-save-newsrc-file): Likewise.
+       * lisp/gnus-agent.el (gnus-agent-expire): Likewise.
+       (gnus-agent-fetch-headers): Likewise.
+       (gnus-agent-flush-cache): Likewise.
+       (gnus-agent-fetch-articles): Likewise.
+       (gnus-agent-save-history): Likewise.
+       (gnus-agent-save-groups): Likewise.
+       (gnus-agent-save-active): Likewise.
+
+1998-12-08  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/smtp.el (smtp-via-smtp): Use `open-network-stream-as-binary'
+       instead of `open-network-stream'.
+       * lisp/pop3.el (pop3-open-server): Likewise.
+       * lisp/nntp.el (nntp-open-network-stream): Likewise.
+       * lisp/gnus-gl.el (bbb-connect-to-bbbd): Likewise.
+
+       * lisp/nntp.el (nntp-open-rlogin): Enclose `start-process' with
+       `as-binary-process'.
+       (nntp-open-telnet): Likewise.
+
+       * lisp/smtp.el (smtp-coding-system): Abolished.
+
+       * lisp/nntp.el (nntp-coding-system-for-write): Abolished.
+       (nntp-coding-system-for-read): Abolished.
+
+       * lisp/nntp.el: Don't require `tcp'.
+       * lisp/nndb.el: Likewise.
+
+1998-12-07  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/message.el (message-get-parameter-with-eval): Call
+       `message-get-parameter' with arg `key' first.
+
+1998-11-26  Yoshiki Hayashi <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * lisp/gnus.el: (gnus-version-number): Update to 6.9.1.
+       (gnus-version): Modified for SEMI 1.11, FLIM 1.12.
+
+       * lisp/gnus-draft.el: (gnus-draft-decoding-buffer): Call
+       `mime-edit-decode-message-in-buffer' instead of
+       `mime-edit-decode-buffer'.
+
+       * lisp/gnus-sum.el: (gnus-structured-field-decoder): Use
+       `eword-decode-and-unfold-structured-field-body' instead of
+       'eword-decode-and-unfold-structured-field'.
+       (gnus-unstructured-field-decoder): remove `must-unfold'.
+
+1998-11-26  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-msg.el (gnus-summary-supersede-article): Bind
+       `gnus-message-setup-hook' to nil.
+
+       * lisp/message.el (message-supersede-setup-for-mime-edit): New
+       function.
+       (message-supersede-setup-function): New user option. Use
+       `message-supersede-setup-for-mime-edit' in default.
+       (message-supersede): Call `message-supersede-setup-function' if it
+       is non-nil.
+       (message-supersede-setup-hook): New user option.
+
+       * lisp/message.el (message-bounce-setup-for-mime-edit): Don't
+       delete header separator. It is up to MIME-Edit to do so.
+
+1998-11-25  Hasebe Satoshi  <hasebe@mtgcb.telcom.oki.co.jp>
+
+       * lisp/gnus-util.el: Require RMAIL in a different way.
+
+1998-11-24  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el (pop3-fma-save-password-information): New
+       variable. Do not save password information when
+       `pop3-fma-save-password-information' set to nil (in default).
+       (pop3-fma-encode-string): abolished - because of difference of
+       FLIM API.
+       (pop3-fma-decode-string): Likewise.
+
+1998-11-24  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/dgnushack.el (dgnushack-compile): Dismiss "gnus-bbdb.el"
+       from the list if BBDB has not been installed.
+
+1998-11-20  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus-util.el: Require `rmail' only if RMAIL has been
+       installed.
+
+1998-11-19  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/message.el (message-get-reply-buffer): Abolished.
+       (message-get-original-reply-buffer): Abolished.
+       (message-get-parameter): New inline function.
+       (message-get-parameter-with-eval): New macro.
+       (message-fetch-reply-field): Do not use `message-get-reply-buffer'.
+       (message-yank-original): Ditto.
+       (message-setup): Use `message-get-parameter'.
+       (message-mime-insert-article): Use
+       `message-get-parameter-with-eval' instead of
+       `message-get-original-reply-buffer'.
+
+       * lisp/gnus-msg.el (gnus-inews-add-send-actions): Do not add
+       `set-window-configuration' to action when
+       `message-use-multi-frames' is non-`nil'.
+
+1998-11-19  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.20.
+
+       * Sync up with Gnus 5.6.45.
+
+1998-11-18  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/message.el (message-mimic-kill-buffer): Rewrite.
+
+1998-11-18  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/message.el (message-mimic-kill-buffer): New function.
+       (message-mode-map): Use it for `C-x k'.
+
+1998-11-18  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/message.el (message-dont-send): Use `message-delete-frame'.
+
+1998-11-14  Kenji Itoh  <keit@tpj.co.jp>
+
+       * lisp/nnmail.el (nnmail-read-passwd): Use `read-passwd' if it
+       exists as a function.
+
+       * lisp/pop3.el (pop3-read-passwd): Likewise.
+
+1998-11-16  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * make.bat: Replace line endings from `LF' to `CRLF'.
+
+1998-11-16  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * README-gnus-bbdb.en, README-gnus-bbdb.ja: New files.
+
+       * lisp/gnus-bbdb.el: Replace string in comment "Nana-" to "Semi-".
+
+1998-11-13  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/gnus-msg.el (gnus-setup-message): Setup
+       `message-startup-parameter-alist' for starting `message-mode'.
+
+       * lisp/message.el (message-parameter-alist): New variable.
+       (message-startup-parameter-alist): New variable.
+       (message-eval-parameter): New function.
+       (message-get-reply-buffer): New function.
+       (message-get-original-reply-buffer): New function.
+       (message-mode): Make new local variable `message-parameter-alist'.
+       (message-fetch-reply-field): Use `message-get-reply-buffer'.
+       (message-yank-original): Ditto.
+       (message-setup): Get message reply buffer from
+       `message-parameter-alist'.
+       (message-mime-insert-article): Use
+       `message-get-original-reply-buffer'.
+
+       * lisp/gnus-bbdb.el: New file. Interface for BBDB.
+
+1998-11-12  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-msg.el (gnus-summary-resend-bounced-mail): Bind
+       `gnus-message-setup-hook' to nil.
+
+       * lisp/message.el (message-bounce-setup-for-mime-edit): New
+       function.
+       (message-bounce-setup-function): New user option. Use
+       `message-bounce-setup-for-mime-edit' in default.
+       (message-bounce): Call `message-bounce-setup-function' if it is
+       non-nil.
+       (message-bounce-setup-hook): New user option.
+
+       * lisp/gnus-art.el (gnus-article-edit-done): Remove
+       `gnus-article-mime-edit-article-unwind' from
+       `gnus-article-mode-hook' before run `gnus-article-edit-exit'.
+       (gnus-article-edit-article): Call
+       `gnus-article-edit-article-setup-function' if it is non-nil.
+       (gnus-article-edit-article-setup-function): New user option. Use
+       `gnus-article-mime-edit-article-setup' in default.
+       (gnus-article-mime-edit-article-setup-hook): New hook.
+       (gnus-article-mime-edit-exit): New function. Use
+       `gnus-article-make-full-mail-header'.
+       (gnus-article-mime-edit-article-setup): Ditto.
+       (gnus-article-mime-edit-article-unwind): New function.
+       (gnus-article-make-full-mail-header): New function.
+       (gnus-article-prepare-display): New function.
+       (gnus-article-prepare): Use it.
+
+1998-11-11  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/message.el (message-mode-map): Add new command key
+       `C-x C-s' for `message-save-drafts'.
+
+1998-11-11  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/message.el (message-8bit-encoding-list): New variable.
+       (message-send-mail): Use `message-check-mail-syntax'.
+       (message-check-news-body-syntax): Use `message-check-8bit'.
+       (message-check-mail-syntax): New function.
+       (message-check-mail-header-syntax): New function.
+       (message-check-mail-body-syntax): New function.
+       (message-check-8bit): New function.
+
+1998-11-09  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el: Set the value of `nnmail-read-passwd' as a
+       symbol `pop3-fma-read-passwd'.
+
+1998-11-04  Yoshiki Hayashi  <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * lisp/message.el: (message-do-fcc): Don't run message-header-hook
+       and message-before-do-fcc-hook.
+
+1998-11-02  Yoshiki Hayashi  <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * lisp/message.el: (message-make-in-reply-to): Generate
+       In-Reply-To header according to draft-ietf-drums-msg-fmt-05.
+
+1998-10-30  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el: Add autoload setting for `pop3-fma'.
+
+1998-10-28  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el: Determin base64 encode/decode function by FLIM.
+
+1998-10-26  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/message.el (message-save-drafts): New function.
+       To save drafts in network code.
+       (message-save-buffer): New variable.
+
+       * lisp/pop3-fma.el: Require `mel-b-el' if `mel-b' does not exist.
+
+1998-10-23  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-msg.el (gnus-message-make-user-agent): New function.
+
+1998-10-21  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-xmas.el (gnus-tilde-pad-form): Guard for non string
+       symbol.
+
+1998-10-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el (pop3-fma-init-message-hook): Change
+       message-send-hook to mime-edit-translate-hook.
+
+1998-10-14  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/pop3-fma.el (pop3-fma-read-char-exclusive): New macro. Use
+       `next-command-event' instead of `read-char-exclusive' under XEmacs.
+       (pop3-fma-read-noecho): Use it.
+
+1998-10-13  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/nnheaderxm.el (nnheader-xmas-Y-or-n-p): New function.
+       It will be used for the substitute of `nnheader-Y-or-n-p' under
+       XEmacs.
+
+       * lisp/nnheader.el (nnheader-Y-or-n-p): Rewrite for Emacs 19 or
+       later except for XEmacs.
+
+1998-10-08  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/message.el (message-mode-map): Define key `C-x k'.
+       (message-kill-buffer): Change the prompt string.
+       (message-kill-buffer): Refer to
+       `message-kill-buffer-query-function'.
+       (message-kill-buffer-query-function): New user option.
+
+       * lisp/nnheader.el (nnheader-Y-or-n-p): New function.
+
+1998-10-07  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * lisp/nnagent.el (nnagent-open-server): Small bug fix.
+
+1998-10-07  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * TODO.ja: New file.
+
+1998-10-05  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * lisp/gnus.el (gnus-info-filename): New variable.
+       (gnus-info-find-node): Use `gnus-info-filename' and
+       `current-language-environment'.
+
+1998-10-03  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-draft.el (gnus-draft-send): Call
+       `message-send-news-function' or `message-send-mail-function'
+       instead of `message-send-and-exit'.
+
+1998-10-01  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el (pop3-fma-movemail): Bug fix.
+       Delete variable pop3-fma-movemail options.
+       Add new variabel pop3-fma-commandline-arguments.
+
+1998-09-30  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el (message-make-user-agent): New implementation.
+
+1998-08-25  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus-msg.el (gnus-bug-message): About Semi-gnus.
+       (gnus-extended-version): Return gnus version only.
+       (gnus-bug): Add Semi-gnus developers to recipients.
+
+       * lisp/message.el (message-make-user-agent): New function.
+       (message-generate-headers): Use it.
+
+1998-06-12  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/message.el (message-required-news-headers): `X-Newsreader'
+       was replaced by `User-Agent'.
+       (message-required-mail-headers): `X-Mailer' was replaced by
+       `User-Agent'.
+       (message-header-format-alist): `X-Mailer' and `X-Newsreader' were
+       replaced by `User-Agent'.
+       (message-generate-headers): Ditto.
+
+       (message-user-agent): New variable.
+       (message-newsreader): Replaced by `message-user-agent'.
+       (message-mailer): Ditto.
+       (message-mode): `message-mailer' and `message-newsreader' were
+       replaced by `message-user-agent'.
+
+       * lisp/gnus-msg.el (gnus-inews-add-send-actions): `message-mailer'
+       and `message-newsreader' were replaced by `message-user-agent'.
+       (gnus-extended-version): Generate "PRODUCT/VERSION" style strings.
+
+       * lisp/gnus-soup.el (gnus-soup-send-packet): `message-mailer' and
+       `message-newsreader' were replaced by `message-user-agent'.
+
+1998-09-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus-draft.el (gnus-draft-edit-message): Use
+       `gnus-draft-setup-for-editing' instead of `gnus-draft-setup'.
+       (gnus-draft-send): Use `gnus-draft-setup-for-sending' instead of
+       `gnus-draft-setup'.
+       (gnus-draft-setup-for-editing): New function (renamed from
+       `gnus-draft-setup').
+       (gnus-draft-setup-for-sending): New function.
+       (gnus-draft-send-draft-buffer): New variable.
+
+1998-09-26  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.19.
+
+       * Sync up with Gnus 5.6.44.
+
+1998-09-16  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * Makefile.in: Add entry `info-ja'.
+       * texi/Makefile.in: Add entry `ja'.
+
+1998-09-11  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el (message-send): Don't call
+       `message-fix-before-sending' before `message-encode-function' is
+       called.
+
+1998-09-06  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el: Add error handle and fix typo.
+
+1998-08-28  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/message.el: Repair `multi frame control'.
+
+1998-08-27  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.16.
+
+       * Sync up with Gnus 5.6.41.
+
+1998-08-26  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-spec.el (gnus-parse-simple-format): Use
+       `gnus-tilde-pad-form' instead of the padding faculty of `format'
+       under XEmacs-mule.
+
+       * lisp/gnus-xmas.el
+       (gnus-xmas-redefine): Redifine `gnus-truncate-string',
+       `gnus-tilde-max-form' and `gnus-tilde-cut-form' for XEmacs-mule.
+       (gnus-xmas-define): New function 'gnus-tilde-pad-form' for
+       XEmacs-mule.
+
+1998-08-26  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-article-narrow-to-signature):
+       Removed TM stuff.
+       (gnus-article-display-mime-message):
+       Set `mime-button-mother-dispatcher' in correct buffer.
+       (gnus-url-mailto): Use `gnus-setup-message'.
+       (gnus-button-mailto): Ditto.
+       (gnus-button-reply): Ditto.
+
+       * lisp/gnus-ems.el (gnus-mule-max-width-function): Removed.
+       (gnus-truncate-string): Use `truncate-string-to-width' if available.
+       (gnus-tilde-max-form): New implementation.
+       (gnus-tilde-cut-form): Ditto.
+
+       * lisp/gnus-msg.el (gnus-summary-mail-digest): New function.
+       (gnus-summary-post-digest): New function.
+
+       * lisp/gnus-sum.el (gnus-summary-make-menu-bar): Use
+       `gnus-summary-mail-digest' and `gnus-summary-post-digest' instead
+       of `gnus-uu-digest-mail-forward' and `gnus-uu-digest-post-forward'.
+
+       * lisp/gnus-util.el (gnus-truncate-string): Ignore more than two
+       arguments.
+
+       * lisp/message.el (message-forward-end-separator): Use
+       `text/plain' tag.
+
+1998-08-23  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/message.el: Suppress some byte-compile warnings.
+       (message-make-forward-subject): Failed to sync.
+       (message-setup): Ditto.
+       (message-clone-locals): Modify regexp.
+
+1998-08-23  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus-agent.el (gnus-agent-braid-nov): Use
+       `nnheader-insert-file-contents'.
+
+       * lisp/gnus-i18n.el (gnus-set-summary-default-charset): Sync up
+       with "akr" branch.
+
+1998-08-23  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.15.
+
+       * Sync up with Gnus 5.6.39.
+
+       * lisp/pop3-fma.el (pop3-fma-movemail): Enable to get from APOP server.
+       (pop3-fma-set-pop3-password) Enable to get from APOP server.
+
+1998-08-20  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * lisp/message.el (message-clone-locals): Add `user-full-name'
+       and `user-mail-address' to regexp.
+
+1998-08-20  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.14.
+
+       * Sync up with Gnus 5.6.38.
+
+1998-08-20  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/message.el (message-frames): New custom group.
+       (message-original-frame): New variable.
+       (message-use-multi-frames): New variable.
+       (message-delete-frame-on-exit): New variable.
+       (message-send-and-exit): Delete frame which made for editing
+       message.
+       (message-kill-buffer): Ditto.
+       (message-delete-frame): New function.
+       (message-pop-to-buffer): Make new frame when edit message.
+
+1998-08-18  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.13.
+
+       * Sync up with Gnus 5.6.37.
+
+1998-08-16  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * lisp/gnus-sum.el (gnus-summary-scroll-down): Failed to sync.
+
+1998-08-16  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.12.
+
+       * Sync up with Gnus 5.6.36.
+
+1998-08-15  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Update.
+
+1998-08-14  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-start.el (gnus-save-newsrc-file): Bind
+       `coding-system-for-write' by `gnus-startup-file-coding-system'
+       while saving the quick newsrc file.
+
+       * lisp/gnus-start.el (gnus-startup-file-coding-system): Change
+       default value to `ctext'.
+
+1998-08-13  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Fix typo.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.11.
+
+       * Sync up with Gnus 5.6.34.
+
+1998-08-12  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.10.
+
+       * Sync up with Gnus 5.6.33.
+
+1998-08-11  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.9.
+
+       * Sync up with Gnus 5.6.31.
+
+1998-08-10  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.8.
+
+       * Sync up with Gnus 5.6.30.
+
+1998-08-10  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/message.el (message-yank-original): For citing any message.
+
+1998-08-10  Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.7.
+
+1998-08-06  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * lisp/smtp.el: Do not insert empty line at the end of message.
+
+1998-08-06  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.6.
+
+       * Sync up with Gnus 5.6.29.
+
+1998-08-05  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus-start.el (gnus-read-init-file): Fix indent.
+       * lisp/gnus-ems.el (gnus-tilde-max-form): Redefine instead of
+       (gnus-summary-line-format-spec) to display Japanese character
+       correctly in Gnus summaly.
+
+1998-08-05  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/gnus-start.el (gnus-read-init-file): Don't restrict
+       `coding-system-for-read' by `binary' when loading `.gnus'.
+
+1998-08-04  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.5.
+
+       * Sync up with Gnus 5.6.28.
+
+1998-07-27  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.4.
+
+       * Sync up with Gnus 5.6.27.
+
+1998-07-27  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/message-ja.texi: Japanese translation of "message.texi".
+
+1998-07-26  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.3.
+
+       * Sync up with Gnus 5.6.26.
+
+1998-07-23  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.2.
+       (gnus-version): Change to "Semi-gnus". Change comment format.
+
+1998-07-21  Keisuke Mori   <ksk@ntts.com>
+
+       * texi/gnus-ja.texi: Add "Appendices".
+
+1998-07-21  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Appendices".
+
+1998-07-16  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.1.
+
+       * Sync up with Gnus 5.6.24.
+
+1998-07-10  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/gnus-ems.el (gnus-mule-cite-add-face): Fix problem when multi
+       bytes charactors are used in cite prefix. (for Emacs 20.1 and 20.2)
+       (gnus-ems-redefine): for Emacs 20.1 and 20.2
+
+       * lisp/gnus-cite.el (gnus-cite-add-face): Abolish my last bogus change.
+
+1998-07-09  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * lisp/gnus-cite.el (gnus-cite-add-face): Fix problem when multi
+       bytes charactors are used in cite prefix.
+
+1998-07-07  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "The End".
+
+1998-07-06  Keisuke Mori   <ksk@ntts.com>
+
+       * texi/gnus-ja.texi: Add "Various".
+
+1998-07-06  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Various".
+       * texi/gnus-ja.texi: Sync up with Gnus 5.6.22
+
+1998-07-02  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el (message-header-format-alist): Repair to use
+       `message-fill-references' for References.
+
+1998-07-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-article-header-presentation-method):
+       Delete nil optional arguments.
+       - Delete setting for `mime-raw-representation-type-alist'.
+
+1998-07-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.0.
+       (gnus-version): Modify for FLIM 1.8.
+
+       * lisp/gnus-art.el (gnus-article-header-presentation-method):
+       Modify for FLIM 1.8.
+
+1998-06-30  Keisuke Mori   <ksk@ntts.com>
+
+       * texi/gnus-ja.texi: Add "Scroing".
+
+1998-06-30  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Scoring".
+
+1998-06-30  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * Sync up with Gnus 5.6.22
+       * lisp/gnus.el (gnus-version-number): Update to 6.7.8.
+       * lisp/pop3-fma.el : Enable to get localhost mail spool.
+
+1998-06-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.7.7.
+
+       * lisp/gnus-art.el (gnus-article-prepare): Set up
+       `gnus-article-current-summary' of gnus-article-buffer.
+       (gnus-request-article-this-buffer): Don't set up
+       `gnus-article-current-summary'.
+
+1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.7.6.
+
+1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-mime-preview-quitting-method): Renamed
+       from `mime-preview-quitting-method-for-gnus'.
+
+1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-sum.el (gnus-summary-preview-mime-message): New
+       implementation.
+
+       * lisp/gnus-art.el (mime-preview-quitting-method-for-gnus): Use
+       `gnus-article-show-summary' is `gnus-show-mime' is not nil.
+
+1998-06-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/ChangeLog, texi/gnus.texi, texi/message.texi,
+       lisp/ChangeLog, lisp/gnus.el, lisp/nngateway.el, lisp/nnfolder.el,
+       lisp/message.el, lisp/gnus-sum.el, lisp/gnus-soup.el: Sync up with
+       Gnus 5.6.20.
+
+1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * README, texi/ChangeLog, texi/gnus.texi, texi/message.texi,
+       lisp/ChangeLog, lisp/nnweb.el, lisp/nnmail.el, lisp/nndoc.el,
+       lisp/message.el, lisp/lpath.el, lisp/gnus.el, lisp/gnus-util.el,
+       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-score.el,
+       lisp/gnus-group.el, lisp/gnus-ems.el, lisp/gnus-demon.el,
+       lisp/gnus-art.el: Sync up with Gnus 5.6.16.
+
+1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.7.3.
+
+       * lisp/gnus-sum.el (gnus-summary-move-article): Use
+       `gnus-request-article-this-buffer'.
+       (gnus-request-partial-message): Likewise.
+
+       * lisp/gnus-art.el (gnus-article-prepare): Use
+       `gnus-request-article-this-buffer'.
+       (gnus-request-article-this-buffer): Renamed from
+       `gnus-request-original-article'; abolish conventional
+       implementation.
+       - Abolish unused setting for `mime-view-show-summary-method'.
+
+1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * readme, texi/ChangeLog, texi/gnus.texi, texi/message.texi,
+       lisp/ChangeLog, lisp/gnus.el, lisp/nnmail.el, lisp/nnheader.el,
+       lisp/nngateway.el, lisp/nnfolder.el, lisp/nnagent.el,
+       lisp/message.el, lisp/gnus-sum.el, lisp/gnus-score.el,
+       lisp/gnus-salt.el, lisp/gnus-msg.el, lisp/gnus-cus.el,
+       lisp/gnus-cache.el, lisp/gnus-art.el: Sync up with Gnus 5.6.15.
+
+1998-06-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus.texi, texi/message.texi, texi/ChangeLog: Sync up with
+       Gnus 5.6.13.
+
+1998-06-14  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * Sync up with Gnus 5.6.13.
+
+1998-06-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-article-display-mime-message): Don't
+       `save-excursion'.
+       (gnus-article-prepare): Use `mime-fetch-field' instead of
+       `mime-entity-fetch-field'.
+
+1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-article-display-mime-message): Use
+       `mime-display-message' instead of `mime-view-buffer'.
+       (gnus-article-display-traditional-message): Set
+       `gnus-article-buffer'.
+       (gnus-article-display-message-with-encoded-word): Modify for
+       `gnus-article-display-traditional-message'.
+       (gnus-article-prepare): Use `mime-parse-buffer' and
+       `mime-entity-fetch-field'; don't set gnus-article-buffer.
+
+1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-sum.el (gnus-summary-move-article): Use
+       `gnus-request-original-article' instead of
+       `gnus-request-article-this-buffer'.
+
+1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus-ja.texi, texi/gnus.texi (Using MIME): Modify
+       description about new display mechanism.
+
+1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.6.0.
+       (gnus-version): Modify for this branch.
+
+       * lisp/gnus-art.el (gnus-article-display-method-for-mime): New
+       variable; abolish `gnus-show-mime-method'.
+       (gnus-article-display-method-for-encoded-word): New variable;
+       abolish `gnus-decode-encoded-word-method'.
+       (gnus-article-display-method-for-traditional): New variable.
+       (gnus-article-display-mime-message): New function; abolish
+       `gnus-article-preview-mime-message'.
+       (gnus-article-display-traditional-message): New function.
+       (gnus-article-display-message-with-encoded-word): New function;
+       abolish `gnus-article-decode-encoded-word'.
+       (gnus-article-prepare): Change display mechanism; use
+       `gnus-request-original-article' instead of
+       `gnus-request-article-this-buffer'.
+       (gnus-request-original-article): New function.
+
+1998-06-22  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.6.0.
+       (gnus-version): Modify for SEMI 1.8.
+
+       * lisp/gnus-sum.el: Modify for interface change in SEMI 1.8 about
+       automatic message/partial combining.
+
+1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.5.0.
+       (gnus-version): Modify for SEMI 1.7.
+
+       * lisp/gnus-sum.el: Rename
+       `mime-method-to-combine-message/partial-pieces' to
+       `mime-combine-message/partial-pieces-automatically'.
+
+       * lisp/gnus-art.el (gnus-article-preview-mime-message): Use
+       `mime-view-buffer'.
+       (gnus-article-decode-encoded-word): Fix DOC-string.
+       (gnus-article-header-presentation-method): New function; abolish
+       `gnus-content-header-filter'.
+       Modify for SEMI 1.7.
+
+1998-06-18  Keisuke Mori   <ksk@ntts.com>
+
+       * texi/gnus-ja.texi: Add "Select Methods".
+
+1998-06-18  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Select Methods".
+
+1998-06-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el: Small bug fix.
+
+       * lisp/pop3-fma.el: Delete variable pop3-fma-cypher-key
+       Use base64-encode-string , base64-decode-string instead.
+       Both change by Yasuo OKABE <okabe@kuis.kyoto-u.ac.jp>
+
+1998-06-13  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el: New function pop3-fma-cypher-string
+        New variable pop3-fma-cypher-key
+
+1998-06-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el: Delete setting for
+       `article-de-quoted-unreadable' and
+       `article-mime-decode-quoted-printable' because they have been
+       already abolished.
+
+1998-06-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus-ja.texi: Sync up with latest gnus.texi.
+
+       * texi/gnus.texi: Modify for Semi-gnus 6.4.0.
+
+1998-06-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-extract-address-components): Add
+       `std11-extract-address-components' as a choice.
+
+1998-06-06  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Composing Messages".
+
+1998-06-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-ems.el (gnus-ems-redefine): Must require 'path-util
+       before call `module-installed-p'.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.4.0.
+       (gnus-version): Modify for SEMI 1.5.
+
+       * lisp/gnus-art.el: Modify for SEMI 1.5 API.
+
+1998-06-04  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el: New file. To handle multiple POP account.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.3.4.
+       And fix typo 5.6.10 -> 5.6.11.
+
+1998-06-03  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.3.3.
+
+       * Sync up with Gnus 5.6.11.
+
+1998-06-03  Keisuke Mori   <ksk@ntts.com>
+
+       * texi/gnus-ja.texi: Add "The Article Buffer".
+
+1998-06-03  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "The Summary Buffer".
+
+1998-06-02  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.3.2.
+
+       * Sync up with Gnus 5.6.10.
+
+1998-05-30  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * README.semi: Add description of `shuhei-k' branch.
+
+1998-05-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.3.1.
+
+1998-05-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-util.el (gnus-output-to-rmail): Guard as binary.
+
+       * lisp/gnus-util.el (gnus-output-to-mail): Guard as binary.
+
+1998-04-24  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "The Active File".
+
+1998-05-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.3.0.
+       (gnus-version): Modify for SEMI 1.4.
+
+       * lisp/gnus-sum.el: Use 'mime-add-condition to set up
+       acting-condition.
+
+1998-05-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/lpath.el: Must add "flim" instead of "mel" to load-path.
+
+1998-05-03  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.2.5.
+
+       * texi/gnus.texi, lisp/ChangeLog: Sync up with Gnus v5.6.9.
+
+       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
+       lisp/gnus-msg.el, lisp/gnus-draft.el, lisp/gnus-agent.el: Sync up
+       with Gnus v5.6.9.
+
+1998-04-30  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.2.4.
+
+       * texi/gnus.texi, lisp/ChangeLog: Sync up with Gnus 5.6.7.
+
+       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
+       lisp/gnus-msg.el, lisp/gnus-cache.el, lisp/gnus-art.el: Sync up
+       with Gnus 5.6.7.
+
+1998-04-28  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.2.3.
+
+       * Sync up with Gnus 5.6.6.
+
+1998-04-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/nnheader.el: Sync up with Gnus 5.6.5.
+
+1998-04-26  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.2.2.
+
+       * Sync up with Gnus 5.6.5.
+
+       * texi/custom.texi, texi/widget.texi: Removed from Semi-gnus.
+
+1998-04-25  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * README.semi (How to get? (via CVS)): Modify descriptions about
+       TAG.
+
+1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.2.1.
+
+1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el (message-make-forward-subject): Use
+       `eword-decode-unstructured-field-body' for subject.
+
+       * lisp/gnus-msg.el (gnus-summary-mail-forward): Make local
+       variable `default-mime-charset' of `gnus-original-article-buffer'
+       and set up by `default-mime-charset' of `gnus-summary-buffer'.
+
+1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus-ja.texi: Fix typos.
+
+       * texi/gnus.texi: Modify for Semi-gnus.
+
+1998-04-23  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Auto Save".
+
+1998-04-22  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Startup Files".
+
+1998-04-21  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.2.0.
+       (gnus-version): Modify for SEMI 1.3.
+
+       * lisp/gnus-sum.el: Use 'ctree-set-calist-strictly instead of
+       'set-atype to set up for 'mime-acting-condition.
+
+1998-04-21  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "Changing Servers".
+
+1998-04-20  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus-ja.texi: Modify styles.
+
+       * texi/gnus.texi: Modify for Semi-gnus (sync up with
+       gnus-ja.texi).
+
+1998-04-20  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: Add "New Groups".
+
+1998-04-20  Yoshiki Hayashi   <penny@tb3.so-net.ne.jp>
+
+       * texi/gnus-ja.texi: Modify styles.
+
+1998-04-18  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus-ja.texi: Check and modify for Semi-gnus.
+
+1998-04-18  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * texi/gnus-ja.texi: New file.
+
+1998-04-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.1.3.
+
+1998-04-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-following-method): New function; set up
+       for 'mime-view-following-method-alist.
+
+1998-04-18  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus.texi: Add and modify description for Semi-gnus.
+
+1998-04-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * texi/gnus.texi: "Gnus 5.6.4" -> "Semi-gnus 6.1.2".
+       (Top): "Gnus" -> "gnus".
+       (Starting Up): "Gnus" -> "gnus".
+
+1998-04-10  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/ChangeLog, lisp/gnus-agent.el: Sync up with Gnus 5.6.4.
+
+1998-04-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.1.2.
+       (gnus-version): Include corresponding SEMI version.
+
+       * lisp/gnus.el, lisp/nnkiboze.el, lisp/message.el,
+       lisp/gnus-sum.el, lisp/gnus-agent.el: Sync up with Gnus 5.6.4.
+
+1998-03-27  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * README.semi: Change descriptions of sending bug report.
+
+1998-03-20  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.1.1.
+       (gnus-version): Include corresponding SEMI version.
+
+       * Sync up with Gnus 5.6.3.
+
+1998-03-15  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus-agent.el (gnus-agent-crosspost): Use
+       `nnheader-insert-file-contents'.
+       (gnus-agent-braid-nov): Ditto.
+       (gnus-agent-expire): Ditto.
+
+       * lisp/gnus-cache.el (gnus-cache-request-article): Ditto.
+       (gnus-cache-retrieve-headers): Ditto.
+       (gnus-cache-change-buffer): Ditto.
+       (gnus-cache-braid-nov): Ditto.
+
+       * lisp/gnus-sum.el (gnus-summary-import-article): Ditto.
+
+       * lisp/nnkiboze.el (nnkiboze-retrieve-headers): Ditto.
+
+       * lisp/message.el (message-generate-headers): Fix regexp.
+       (cf. [semi-gnus-ja:107])
+
+1998-03-14  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el: Add setting for
+       `mime-raw-buffer-coding-system-alist'.
+
+1998-03-13  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el: Rename `mime-view-quitting-method-for-gnus' ->
+       `mime-preview-quitting-method-for-gnus'.
+
+       * lisp/gnus-art.el: Rename `mime-view-quitting-method-alist' ->
+       `mime-preview-quitting-method-alist'.
+
+       * lisp/gnus-art.el: Rename `mime-view-kill-buffer' ->
+       `mime-preview-kill-buffer'.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.0.10.
+
+       * lisp/gnus-sum.el: Add code to check latest SEMI.
+       (mime-acting-condition): Separate type and subtype; rename
+       `mime-combine-message/partials-automatically' ->
+       `mime-method-to-combine-message/partial-pieces'.
+
+1998-03-08  Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.0.9.
+
+       * README.semi (How to get?): Add description of daily snapshot.
+       (How to join development): Change mailing list command address.
+
+       * Sync up with Gnus 5.6.2.
+
+1998-03-01  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus-ems.el: Change variable name
+         gnus-bdf-image-file to gnus-mule-bitmap-image-file.
+
+1998-02-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.0.8.
+
+       * lisp/gnus.el: Sync up with qgnus-0.34.
+
+1998-02-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el: Sync up with qgnus-0.33.
+
+       * lisp/gnus-ems.el (gnus-bdf-image-file): New variable; moved from
+       gnus.el.
+       (gnus-mule-group-startup-message): New function; moved and renamed
+       from `gnus-group-startup-message' of gnus.el.
+
+       * lisp/gnus.el, lisp/gnus-sum.el, lisp/gnus-art.el,
+       lisp/gnus-agent.el: Sync up with qgnus-0.33.
+
+1998-02-28  Tatsuya Ichikawa  <t-ichi@niagara.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-bdf-image-file): New variable.
+       (gnus-mule-group-startup-message): Display bitmap image using
+       bitmap.el running with Emacs 20.
+
+       * lisp/gnus-agent.el (gnus-agent-fetch-headers): Fix problem when
+       Xref field is not exist.
+
+1998-02-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * README.semi (How to join development): Modify for Semi-gnus
+       mailing list.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.0.7.
+
+       * lisp/gnus.el (gnus-article-display-hook): Delete
+       `gnus-article-de-quoted-unreadable' from options.
+
+       * lisp/gnus-sum.el (gnus-article-make-menu-bar): Delete key for
+       `gnus-article-de-quoted-unreadable'.
+       (gnus-summary-make-menu-bar): Delete menu for
+       `gnus-article-de-quoted-unreadable'.
+
+       * lisp/gnus-art.el (gnus-article-make-menu-bar): Delete menu for
+       `gnus-article-de-quoted-unreadable'.
+
+1998-02-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el, lisp/message.el: Sync up with qgnus-0.32.
+
+1998-02-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.0.6.
+
+       * lisp/message.el (message-fill-references): Abolish unused local
+       variables.
+
+       * lisp/pop3.el, lisp/message.el, lisp/gnus.el, lisp/gnus-sum.el,
+       lisp/gnus-art.el: Sync up with qgnus-0.31.
+
+       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
+       lisp/gnus-art.el: Sync up with qgnus-0.30.
+
+1998-02-20  Christophe Broult <christophe.broult@info.unicaen.fr>
+
+       * README.semi (How to get?): The command `update' must come before
+       `-r semi-gnus'. (cf. [tm-en:1559])
+
+1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el: Sync up with qgnus-0.29.
+
+       * lisp/gnus.el, lisp/message.el: Sync up with qgnus-0.28.
+
+       * lisp/message.el: Abolish variable
+       `message-references-generator'.  Abolish function
+       `message-generate-filled-references',
+       `message-generate-folded-references' and
+       `message-generate-unfolded-references'.
+       (message-reply): Don't use `message-references-generator'.
+       (message-followup): Don't use `message-references-generator'.
+
+       (message-fill-references): New function.
+       (message-header-format-alist): Use `message-fill-references' for
+       References.
+
+1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.0.5.
+
+1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-sum.el: Check SEMI-0.118.2 (Otomaru) or later.
+       (gnus-structured-field-decoder): Use
+       `eword-decode-and-unfold-structured-field'.
+
+       * lisp/gnus-art.el (gnus-article-decode-rfc1522): Use charset
+       conversion option of `eword-decode-header'.
+       (gnus-article-decode-encoded-word): Use charset conversion option
+       of `eword-decode-header'; use `gnus-run-hooks'.
+       (gnus-content-header-filter): Use charset conversion option of
+       `eword-decode-header'.
+
+       * README.semi (How to get?): Should specify "-r semi-gnus".
+
+1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-article-decode-rfc1522): Decode header by
+       localized code.
+
+1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-msg.el: Delete commented-out function
+       `gnus-inews-insert-mime-headers'.
+
+       * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
+       lisp/gnus-art.el: Sync up with qgnus-0.27.
+
+1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/nnheader.el: Use original.
+
+       * lisp/gnus.el, lisp/pop3.el, lisp/message.el, lisp/gnus-sum.el,
+       lisp/gnus-msg.el, lisp/gnus-draft.el, lisp/gnus-art.el: Sync up
+       with qgnus-0.26.
+
+1998-02-15  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/nnmail.el, lisp/nnmh.el: Use original.
+
+       * lisp/gnus.el, lisp/gnus-draft.el, lisp/gnus-sum.el,
+       lisp/message.el, lisp/gnus-art.el: Sync up with qgnus-0.25.
+
+1998-02-11  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
+
+       * texi/message.texi, texi/gnus.texi, texi/ChangeLog,
+       lisp/message.el, lisp/gnus.el, lisp/gnus-uu.el,
+       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
+       lisp/gnus-score.el, lisp/gnus-group.el, lisp/gnus-art.el,
+       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.24
+
+1998-02-10  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-art.el (gnus-article-prepare): Don't bind coding
+       systems.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.0.4.
+       (gnus-version): Sync with qgnus-0.23.
+
+       * lisp/pop3.el, lisp/nnmh.el, lisp/nnheader.el, lisp/message.el,
+       lisp/gnus-sum.el, lisp/gnus-msg.el, lisp/gnus-draft.el,
+       lisp/gnus-art.el: Merge qgnus-0.23.
+
+1998-02-09  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
+
+       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/nntp.el,
+       lisp/nnheader.el, lisp/message.el, lisp/gnus.el,
+       lisp/gnus-xmas.el, lisp/gnus-sum.el, lisp/gnus-start.el,
+       lisp/gnus-msg.el, lisp/gnus-group.el, lisp/gnus-draft.el,
+       lisp/gnus-art.el, lisp/gnus-agent.el, lisp/ChangeLog: Importing
+       qgnus-0.23
+
+1998-02-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el (message-references-generator): New variable.
+       (message-generate-filled-references): New function.
+       (message-generate-folded-references): New function.
+       (message-generate-unfolded-references): New function.
+       (message-reply): Refer `message-references-generator'.
+       (message-followup): Refer `message-references-generator'.
+
+1998-01-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el (message-send-mail-with-sendmail): Guard
+       `coding-system-for-write' by binary.
+       (message-send-mail-with-qmail): Likewise.
+
+1998-01-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/lpath.el: Require path-util; add load-path of APEL, MEL and
+       SEMI.
+
+1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el: Require smtp.el when compile.
+
+       * lisp/message.el (message-send-mail-with-smtp): Use
+       `(current-buffer)' instead of `tembuf'; rename
+       `smtp-recipient-address-list' -> `recipient-address-list'.
+
+1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/smtp.el (smtp-deduce-address-list): Don't use
+       `smtp-recipient-address-list' as global variable.
+
+       * lisp/message.el (message-send-mail-with-smtp): Don't use
+       `smtp-recipient-address-list' as global variable.
+
+       * lisp/smtpmail.el (smtpmail-recipient-address-list): New
+       variable; renamed from `smtp-recipient-address-list'.
+       (smtpmail-send-it): Remove `(not (null ...))'.
+       (smtpmail-send-queued-mail): Likewise.
+
+1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/message.el (message-send-mail-with-smtp): Don't generate
+       temporary buffer for message; don't generate and kill
+       `smtp-address-buffer' for `smtp-deduce-address-list'.
+
+       * lisp/smtpmail.el (smtpmail-send-it): Don't generate and kill
+       `smtp-address-buffer' for `smtp-deduce-address-list'.
+
+       * lisp/smtp.el (smtp-deduce-address-list): Bind and generate
+       `smtp-address-buffer' in itself.
+
+1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to version 6.0.3.
+
+1998-01-11  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/smtp.el: New file.
+
+       * lisp/smtpmail.el: Split basic features into smtp.el.
+
+       * lisp/message.el (message-send-mail-function): Add
+       `message-send-mail-with-smtp' as an item.
+       (message-send-mail-with-smtp): New function.
+
+       * ChangeLog: New file.
+
+1998-01-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/smtpmail.el (smtpmail-via-smtp): Bind
+       `coding-system-for-read' by `smtpmail-coding-system' to avoid
+       dead-locking in Emacs 20.
+
+       * lisp/gnus.el: gnus.el (gnus-version-number): Update to version
+       6.0.2.
+
+1998-01-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/nnmail.el, lisp/message.el: Sync with Quassia Gnus v0.22.
+
+       * lisp/gnus.el: Delete autoload setting for `metamail-buffer'.
+
+       * lisp/gnus.el, lisp/gnus-sum.el: Sync with Quassia Gnus v0.22.
+
+       * lisp/gnus-msg.el: Abolish function
+       `gnus-inews-insert-mime-headers'.
+
+       * lisp/gnus-msg.el, lisp/gnus-draft.el, lisp/gnus-art.el: Sync
+       with Quassia Gnus v0.22.
+
+       * lisp/smtpmail.el (smtpmail-coding-system): New variable; abolish
+       `smtpmail-code-conv-from'.
+       (smtpmail-via-smtp): Guard `coding-system-for-write' by
+       `smtpmail-coding-system'.
+
+       * lisp/smtpmail.el: Imported from Emacs 20.2.
+
+       * lisp/pop3.el (pop3-movemail-file-coding-system): Change default
+       value to `binary'.
+       (pop3-open-server): Guard `coding-system-for-read' by `binary'.
+
+1998-01-06  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
+
+       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/nnoo.el,
+       lisp/nnml.el, lisp/message.el, lisp/gnus.el, lisp/gnus-sum.el,
+       lisp/gnus-start.el, lisp/gnus-ems.el, lisp/gnus-draft.el,
+       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.22
+
+       * texi/message.texi, texi/gnus.texi, lisp/gnus.el, lisp/ChangeLog:
+       Importing qgnus-0.21
+
+       * texi/message.texi, texi/gnus.texi, texi/ChangeLog,
+       lisp/nnvirtual.el, lisp/nnsoup.el, lisp/nnoo.el, lisp/nnmh.el,
+       lisp/nnmail.el, lisp/nndraft.el, lisp/gnus.el, lisp/gnus-xmas.el,
+       lisp/gnus-sum.el, lisp/gnus-start.el, lisp/gnus-score.el,
+       lisp/gnus-msg.el, lisp/gnus-group.el, lisp/gnus-draft.el,
+       lisp/gnus-art.el, lisp/ChangeLog: Importing qgnus-0.20
+
+       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/pop3.el,
+       lisp/nntp.el, lisp/nnml.el, lisp/nnmail.el, lisp/nndoc.el,
+       lisp/message.el, lisp/gnus.el, lisp/gnus-uu.el,
+       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
+       lisp/gnus-score.el, lisp/gnus-group.el, lisp/gnus-cache.el,
+       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.19
+
+1997-12-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to version 6.0.1.
+
+       * lisp/message.el (message-resend): Enclose `message-setup' with
+       `(let (message-setup-hook) ...)' to avoid to `turn-on-mime-edit';
+       must setup `message-encoding-buffer' and `message-edit-buffer' for
+       `message-send-mail'.
+
+1997-12-08  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
+
+       * lisp/pop3.el, lisp/message.el, lisp/gnus.el, lisp/gnus-sum.el,
+       lisp/gnus-art.el, lisp/ChangeLog: Synch'ed up to qgnus-0.18.
+
+       * texi/message.texi, texi/gnus.texi, texi/ChangeLog,
+       lisp/smiley.el, lisp/pop3.el, lisp/nnweb.el, lisp/nntp.el,
+       lisp/nnml.el, lisp/nnmail.el, lisp/nnheader.el, lisp/nndraft.el,
+       lisp/message.el, lisp/lpath.el, lisp/gnus.el, lisp/gnus-util.el,
+       lisp/gnus-sum.el, lisp/gnus-start.el, lisp/gnus-picon.el,
+       lisp/gnus-nocem.el, lisp/gnus-mh.el, lisp/gnus-group.el,
+       lisp/gnus-ems.el, lisp/gnus-cite.el, lisp/gnus-art.el,
+       lisp/gnus-agent.el, lisp/dgnushack.el, lisp/ChangeLog: Importing
+       qgnus-0.18
+
+1997-11-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * README.semi: New file.
+
+       * lisp/gnus.el (gnus-version): Rename to "Semi-gnus".
+
+1997-11-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/gnus-draft.el (gnus-draft-decoding-function): New variable.
+       (gnus-draft-setup): Use `gnus-draft-decoding-function'.
+
+1997-11-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * lisp/nnmail.el, lisp/nnheader.el, lisp/message.el, lisp/gnus.el,
+       lisp/gnus-sum.el, lisp/gnus-msg.el, lisp/gnus-art.el: sync with
+       qgnus-0.17.
+
+       * texi/message.texi, texi/gnus.texi, lisp/smiley.el, lisp/nnoo.el,
+       lisp/nnml.el, lisp/nnmail.el, lisp/nnheader.el,
+       lisp/messagexmas.el, lisp/message.el, lisp/gnus.el,
+       lisp/gnus-xmas.el, lisp/gnus-util.el, lisp/gnus-sum.el,
+       lisp/gnus-start.el, lisp/gnus-spec.el, lisp/gnus-score.el,
+       lisp/gnus-picon.el, lisp/gnus-move.el, lisp/gnus-msg.el,
+       lisp/gnus-kill.el, lisp/gnus-group.el, lisp/gnus-draft.el,
+       lisp/gnus-demon.el, lisp/gnus-cite.el, lisp/gnus-art.el,
+       lisp/ChangeLog: Quassia Gnus v0.17.
+
+       * lisp/gnus-i18n.el: New file.
+
+       * lisp/nnmail.el (nnmail-file-coding-system): Use `raw-text' in
+       default.
+
+       * lisp/nnheader.el (nnheader-file-coding-system): Use `raw-text'
+       in default.
+
+       * lisp/message.el (message-encode-function): New variable.
+       (message-forward-start-separator): Modify for mime-edit.
+       (message-forward-end-separator): Modify for mime-edit.
+       (message-setup-hook): Use `(message-maybe-setup-default-charset
+       turn-on-mime-edit)' in default.
+       (message-header-hook): Use `(eword-encode-header)' in default.
+
+       (message-send): Use local variable `message-encoding-buffer',
+       `message-edit-buffer' and `message-mime-mode' as public variables;
+       use `message-encode-function'.
+       (message-send-mail): Use `message-encoding-buffer' to get contents
+       of body; abolish `message-encode-mail-hook'; use
+       `mime-edit-maybe-split-and-send'; use `message-edit-buffer' to
+       refer original editing buffer.
+       (message-send-news): Use `message-encoding-buffer' to get contents
+       of body; abolish `message-encode-news-hook'; use
+       `mime-edit-maybe-split-and-send'; use `message-edit-buffer' to
+       refer original editing buffer.
+       (message-check-news-syntax): Call `message-check-news-body-syntax'
+       in `mime-edit-buffer'.
+       (message-do-fcc): Use `message-encoding-buffer' to get contents;
+       run `message-header-hook'.
+       (message-cancel-news): Use `std11-extract-address-components'
+       instead of `mail-extract-address-components'; bind
+       `message-encoding-buffer' and `message-edit-buffer'.
+
+       (message-maybe-setup-default-charset): New function.
+       (message-maybe-encode): New function.
+       (message-mime-insert-article): New function.
+       Add setting for mime-view.
+
+       * lisp/gnus.el (gnus-version-number): for version number for Open
+       gnus.
+       (gnus-version): Modify for Open gnus.
+
+       * lisp/gnus-sum.el: Autoload gnus-i18n.
+
+       (gnus-show-mime): `t' in default.
+       (gnus-structured-field-decoder): Use
+       `eword-decode-structured-field-body' in default.
+       (gnus-unstructured-field-decoder): Use
+       `eword-decode-unstructured-field-body' in default.
+
+       (gnus-parse-headers-hook): Use
+       `(gnus-set-summary-default-charset)' in default.
+
+       (gnus-summary-mode-map): Add binding for
+       `gnus-summary-scroll-down' and
+       `gnus-summary-preview-mime-message'.
+
+       (gnus-summary-preview-mime-message): New function.
+       (gnus-mime-partial-preview-function): New function.
+       Add setting for mime-view.
+
+       * lisp/gnus-msg.el (gnus-summary-cancel-article): Display
+       `gnus-article-buffer' instead ofb `gnus-original-article-buffer'.
+       (gnus-extended-version): Don't return version of emacsen.
+       (gnus-inews-do-gcc): Refer `message-encoding-buffer'.
+
+       * lisp/gnus-art.el (gnus-show-mime-method): Use
+       `gnus-article-preview-mime-message' instead of `metamail-buffer'
+       in default.
+       (gnus-decode-encoded-word-method): Use
+       `gnus-article-decode-encoded-word' instead of
+       `gnus-article-de-quoted-unreadable' in default.
+
+       Abolish `gnus-hack-decode-rfc1522', `gnus-decode-rfc1522',
+       `article-decode-rfc1522', `article-de-quoted-unreadable',
+       `article-mime-decode-quoted-printable-buffer' and
+       `article-mime-decode-quoted-printable'.
+       (gnus-article-decode-rfc1522): New implementation (use
+       `eword-decode-header').
+
+       (gnus-article-preview-mime-message): New function.
+       (gnus-article-decode-encoded-word): New function.
+       (gnus-content-header-filter): New function.
+       (mime-view-quitting-method-for-gnus): New function.
+       Add setting for mime-view.
+
+       * lisp/message.el: Abolish `message-max-size' because it is not
+       used.
+
+       * lisp/message.el: sync with qgnus-0.16.
+
+       * texi/Makefile, texi/message.texi, texi/gnus.texi, lisp/nnweb.el,
+       lisp/nnmh.el, lisp/nnheader.el, lisp/nnfolder.el, lisp/message.el,
+       lisp/gnus.el, lisp/gnus-xmas.el, lisp/gnus-uu.el,
+       lisp/gnus-sum.el, lisp/gnus-srvr.el, lisp/gnus-picon.el,
+       lisp/gnus-group.el, lisp/gnus-cite.el, lisp/gnus-art.el: Quassia
+       Gnus v0.16.
+
+       * lisp/nnmh.el (nnmh-request-list-1): fix maybe.
+
+       * lisp/message.el (message-do-fcc): Guard
+       `coding-system-for-write' by `raw-text'; run
+       `message-before-do-fcc-hook'.
+
+       * lisp/gnus-msg.el (gnus-inews-do-gcc): Guard
+       `coding-system-for-write' by `raw-text'; run
+       `gnus-before-do-gcc-hook'.
+
+       * texi/message.texi, texi/gnus.texi, texi/ChangeLog, lisp/nntp.el,
+       lisp/nnoo.el, lisp/nnml.el, lisp/nndraft.el, lisp/nnbabyl.el,
+       lisp/message.el, lisp/gnus.el, lisp/gnus-xmas.el, lisp/gnus-uu.el,
+       lisp/gnus-util.el, lisp/gnus-sum.el, lisp/gnus-start.el,
+       lisp/gnus-spec.el, lisp/gnus-soup.el, lisp/gnus-score.el,
+       lisp/gnus-msg.el, lisp/gnus-gl.el, lisp/gnus-ems.el,
+       lisp/gnus-draft.el, lisp/gnus-cache.el, lisp/gnus-audio.el,
+       lisp/gnus-art.el, lisp/gnus-agent.el, lisp/ChangeLog: Quassia Gnus
+       v0.15.
+
+       * lisp/message.el, lisp/ChangeLog: sync with qgnus-0.14.
+
+       * texi/Makefile, texi/gnus.texi: Quassia Gnus v0.14.
+
+       * texi/dir: New file.
+
+       * texi/dir, lisp/pop3.el, lisp/nntp.el, lisp/nnml.el,
+       lisp/nnmail.el, lisp/nnfolder.el, lisp/message.el, lisp/lpath.el,
+       lisp/gnus.el, lisp/gnus-win.el, lisp/gnus-util.el,
+       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
+       lisp/gnus-score.el, lisp/gnus-msg.el, lisp/gnus-mh.el,
+       lisp/gnus-cus.el, lisp/gnus-art.el, lisp/gnus-agent.el,
+       lisp/ChangeLog: Quassia Gnus v0.14.
+
+       * lisp/message.el, lisp/ChangeLog: sync with qgnus-0.13.
+
+       * texi/gnus.texi, texi/ChangeLog, lisp/pop3.el, lisp/nnweb.el,
+       lisp/nnmail.el: Quassia Gnus v0.13.
+
+       * lisp/nnlistserv.el: New file.
+
+       * lisp/nnlistserv.el, lisp/message.el, lisp/md5.el, lisp/lpath.el,
+       lisp/gnus.el, lisp/gnus-topic.el, lisp/gnus-sum.el,
+       lisp/gnus-score.el, lisp/gnus-picon.el, lisp/gnus-msg.el,
+       lisp/gnus-group.el, lisp/gnus-art.el, lisp/gnus-agent.el,
+       lisp/dgnushack.el, lisp/ChangeLog, GNUS-NEWS: Quassia Gnus v0.13.
+
+       * lisp/message.el: sync with qgnus-0.12.
+
+       * texi/message.texi, texi/gnus.texi, texi/gnus-faq.texi,
+       texi/ChangeLog, lisp/nntp.el, lisp/nnmh.el, lisp/nnmail.el,
+       lisp/nndraft.el, lisp/messcompat.el, lisp/message.el,
+       lisp/gnus.el, lisp/gnus-xmas.el, lisp/gnus-uu.el,
+       lisp/gnus-sum.el, lisp/gnus-score.el, lisp/gnus-salt.el,
+       lisp/gnus-msg.el, lisp/gnus-int.el, lisp/gnus-group.el,
+       lisp/gnus-demon.el, lisp/gnus-cache.el, lisp/gnus-art.el,
+       lisp/gnus-agent.el, lisp/ChangeLog, GNUS-NEWS: Quassia Gnus v0.12.
+
+       * lisp/message.el (message-send-news-function): Use
+       `message-send-news-with-gnus' in default.
+       (message-send-via-news): Use `message-send-news' instead of
+       `message-send-news-function'.
+       (message-send-mail): Don't avoid text properties; run
+       `message-encode-mail-hook'.
+       (message-send-news): Don't avoid text properties; run
+       `message-encode-news-hook'; use `message-send-news-function'.
+       (message-send-news-with-gnus): New function.
+       (message-cancel-news): Use `message-send-news' instead of
+       `message-send-news-function'.
index eaf63bf..714a27f 100644 (file)
@@ -85,6 +85,7 @@ Public Branches
        gnus-6_7        Semi-gnus for SEMI 1.8, FLIM 1.7 API
        gnus-6_8        Semi-gnus for SEMI 1.8, FLIM 1.8 API (stable)
        gnus-6_9        Semi-gnus for SEMI 1.11, FLIM 1.12 API (develop)
+       gnus-6_10       Semi-gnus for SEMI 1.12, FLIM 1.12 API (develop)
 
 Personal Branches
 
@@ -98,6 +99,7 @@ Personal Branches
        ichikawa        Owner: Tatsuya Ichikawa
        akr             Owner: Tanaka Akira
        shuhei-k        Owner: Shuhei KOBAYASHI
+       pgnus-ichikawa  Owner: Tatsuya Ichikawa
 
 "semi-gnus" Tag
 
index bbb2875..3ac1ac2 100644 (file)
@@ -85,6 +85,7 @@ Public Branches
        gnus-6_7        Semi-gnus for SEMI 1.8, FLIM 1.7 API
        gnus-6_8        Semi-gnus for SEMI 1.8, FLIM 1.8 API (stable)
        gnus-6_9        Semi-gnus for SEMI 1.11 FLIM 1.12 API (develop)
+       gnus-6_10       Semi-gnus for SEMI 1.12 FLIM 1.12 API (develop)
 
 Personal Branches
 
@@ -99,6 +100,7 @@ Personal Branches
        ichikawa        Owner: Tatsuya Ichikawa
        akr             Owner: Tanaka Akira
        shuhei-k        Owner: Shuhei KOBAYASHI
+       pgnus-ichikawa  Owner: Tatsuya Ichikawa
 
 "semi-gnus" Tag
 
index 3dd5f49..47fffb0 100644 (file)
@@ -1,4 +1,4 @@
-This package contains Semi-gnus 6.9.
+This package contains Semi-gnus 6.10.
 
 What is Semi-gnus?
 ==================
@@ -7,12 +7,13 @@ What is Semi-gnus?
 all features of Gnus and gnus-mime, so there are no need to install
 Gnus to use it, and you must not use gnus-mime for SEMI.
 
-  It requires SEMI package, so please get and install SEMI package
-before to install it. Semi-gnus 6.9 requires SEMI 1.11. You can get
-SEMI from
-ftp://ftp.jaist.ac.jp/pub/elisp/semi/
+  It requires APEL, FLIM and SEMI packages, so please get and install
+them before to install it. Semi-gnus 6.10 requires APEL 9,12 or later,
+the latest FLIM 1.12 and SEMI 1.12. You can get these packages from
+ftp://ftp.jaist.ac.jp/pub/GNU/elisp/semi/
 Required environment for SEMI is written in README.en of SEMI package.
 
+
 How to get? (via CVS)
 =====================
 
@@ -42,7 +43,7 @@ Major tags are following:
     semi-gnus          assigned to the latest stable version.  It is
                        very conservative.
 
-    for-semi-N1_N2     assigned to the latest stable version for SEMI 
+    for-semi-N1_N2     assigned to the latest stable version for SEMI
                        API N1.N2 (N1 and N2 are natural number).
                        (e.g. `for-semi-1_3' is for SEMI API 1.3)
 
index e944dbc..f193362 100644 (file)
@@ -1,4 +1,4 @@
-\e$B$3$N%Q%C%1!<%8$K$O\e(B Semi-gnus 6.9 \e$B$,F~$C$F$$$^$9!#\e(B
+\e$B$3$N%Q%C%1!<%8$K$O\e(B Semi-gnus 6.10 \e$B$,F~$C$F$$$^$9!#\e(B
 
 Semi-gnus \e$B$H$O!)\e(B
 ==================
@@ -8,10 +8,11 @@ Semi-gnus \e$B$H$O!)\e(B
 \e$B$k$?$a$K\e(B Gnus \e$B$r%$%s%9%H!<%k$9$kI,MW$O$J$/!"\e(BSEMI \e$B$N$?$a$N\e(B gnus-mime \e$B$O\e(B
 \e$B;HMQ$7$F$O$$$1$^$;$s!#\e(B
 
-  SEMI \e$B%Q%C%1!<%8$rMW5a$7$^$9$N$G!"%$%s%9%H!<%k$9$kA0$K\e(B SEMI \e$B%Q%C%1!<\e(B
-\e$B%8$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(BSemi-gnus 6.9 \e$B$O\e(B SEMI 1.11 \e$B$rMW5a$7$^$9!#\e(B
-SEMI \e$B$O\e(B
-ftp://ftp.jaist.ac.jp/pub/elisp/semi/ 
+  APEL, FLIM \e$B$*$h$S\e(B SEMI \e$B%Q%C%1!<%8$,I,MW$G$9$N$G!"%$%s%9%H!<%k$9$kA0\e(B
+\e$B$K$=$l$i$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(BSemi-gnus 6.10 \e$B$O\e(B APEL 9.12 \e$B0J>e!"\e(B
+\e$B:G?7$N\e(B FLIM 1.12 \e$B$*$h$S\e(B SEMI 1.12 \e$B$rI,MW$H$7$^$9!#\e(B
+\e$B$=$l$i$N%Q%C%1!<%8$O\e(B
+ftp://ftp.jaist.ac.jp/pub/elisp/semi/
 \e$B$+$i<hF@$9$k$3$H$,$G$-$^$9!#I,MW$J4D6-$O\e(B SEMI \e$B$N\e(B README.ja \e$B$r;2>H$7$F\e(B
 \e$B$/$@$5$$!#\e(B
 
@@ -60,7 +61,7 @@ ftp://ftp.jaist.ac.jp/pub/elisp/semi/
     ichikawa           ichikawa branch
 
     pgnus-ichikawa     ichikawa branch. Based on pGnus
-       
+
     akr                        akr branch
 
     shuhei-k           shuhei-k branch
index d37bd7b..8b8c9dd 100644 (file)
@@ -2,6 +2,7 @@
 ;; Copyright (C) 1997,98 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
+;;         Katsumi Yamaoka <yamaoka@jpl.org>
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
@@ -92,7 +93,7 @@ If nil, only read articles will be expired."
 (defvar gnus-agent-spam-hashtb nil)
 (defvar gnus-agent-file-name nil)
 (defvar gnus-agent-send-mail-function nil)
-(defvar gnus-agent-file-coding-system 'no-conversion)
+(defvar gnus-agent-file-coding-system 'raw-text)
 
 ;; Dynamic variables
 (defvar gnus-headers)
index b46cf8b..e60a1dc 100644 (file)
@@ -391,13 +391,6 @@ The function is called from the article buffer."
   :group 'gnus-article-mime
   :type 'function)
 
-(defcustom gnus-article-display-method-for-encoded-word
-  'gnus-article-display-message-with-encoded-word
-  "*Function to display a message with MIME encoded-words.
-The function is called from the article buffer."
-  :group 'gnus-article-mime
-  :type 'function)
-
 (defcustom gnus-article-display-method-for-traditional
   'gnus-article-display-traditional-message
   "*Function to display a traditional message.
@@ -848,7 +841,7 @@ characters to translate to."
     (when (search-forward "\n\n" nil t)
       (let ((buffer-read-only nil))
        (while (search-forward "\b" nil t)
-         (let ((next (following-char))
+         (let ((next (char-after))
                (previous (char-after (- (point) 2))))
            ;; We do the boldification/underlining by hiding the
            ;; overstrikes and putting the proper text property
@@ -881,7 +874,7 @@ characters to translate to."
            (adaptive-fill-mode t))
        (while (not (eobp))
          (and (>= (current-column) (min fill-column (window-width)))
-              (/= (preceding-char) ?:)
+              (not (eq (char-before) ?:))
               (fill-paragraph nil))
          (end-of-line 2))))))
 
@@ -965,7 +958,7 @@ characters to translate to."
     (let ((charset (save-excursion
                     (set-buffer gnus-summary-buffer)
                     default-mime-charset)))
-      (eword-decode-header charset)
+      (mime-decode-header-in-buffer charset)
       )))
 
 (defun article-hide-pgp (&optional arg)
@@ -1840,8 +1833,28 @@ If variable `gnus-use-long-file-name' is non-nil, it is
   "\M-^" gnus-article-read-summary-keys
   "\M-g" gnus-article-read-summary-keys)
 
-(substitute-key-definition
- 'undefined 'gnus-article-read-summary-keys gnus-article-mode-map)
+;; Define almost undefined keys to `gnus-article-read-summary-keys'.
+(mapcar
+ (lambda (key)
+   (unless (lookup-key gnus-article-mode-map key)
+     (define-key gnus-article-mode-map key
+       'gnus-article-read-summary-keys)))
+ (delq nil
+       (append
+       (mapcar
+        (lambda (elt)
+          (let ((key (car elt)))
+            (and (> (length key) 0)
+                 (not (eq 'menu-bar (aref key 0)))
+                 (symbolp (lookup-key gnus-summary-mode-map key))
+                 key)))
+        (accessible-keymaps gnus-summary-mode-map))
+       (let ((c 127)
+             keys)
+         (while (>= c 32)
+           (push (char-to-string c) keys)
+           (decf c))
+         keys))))
 
 (defun gnus-article-make-menu-bar ()
   (gnus-turn-off-edit-menu 'article)
@@ -1968,11 +1981,15 @@ commands:
 (defun gnus-article-display-mime-message ()
   "Article display method for MIME message."
   ;; called from `gnus-original-article-buffer'.
-  (let ((default-mime-charset (save-excursion
-                               (set-buffer gnus-summary-buffer)
-                               default-mime-charset)))
+  (let ((charset (with-current-buffer gnus-summary-buffer
+                  default-mime-charset)))
+    (make-local-variable 'default-mime-charset)
+    (setq default-mime-charset charset)
     (mime-display-message mime-message-structure
-                         gnus-article-buffer nil gnus-article-mode-map))
+                         gnus-article-buffer nil gnus-article-mode-map)
+    (make-local-variable 'default-mime-charset)
+    (setq default-mime-charset charset)
+    )
   ;; `mime-display-message' changes current buffer to `gnus-article-buffer'.
   (make-local-variable 'mime-button-mother-dispatcher)
   (setq mime-button-mother-dispatcher
@@ -1986,20 +2003,6 @@ commands:
     (erase-buffer)
     (insert-buffer-substring gnus-original-article-buffer)))
 
-(defun gnus-article-display-message-with-encoded-word ()
-  "Article display method for message with encoded-words."
-  (let ((charset (save-excursion
-                  (set-buffer gnus-summary-buffer)
-                  default-mime-charset)))
-    (gnus-article-display-traditional-message)
-    (let (buffer-read-only)
-      (eword-decode-header charset)
-      (goto-char (point-min))
-      (if (search-forward "\n\n" nil t)
-         (decode-mime-charset-region (match-end 0) (point-max) charset)))
-    (mime-maybe-hide-echo-buffer))
-  (gnus-run-hooks 'gnus-mime-article-prepare-hook))
-
 (defun gnus-article-make-full-mail-header (&optional number charset)
   "Create a new mail header structure in a raw article buffer."
   (unless (and number charset)
@@ -2144,11 +2147,8 @@ If ALL-HEADERS is non-nil, no headers are hidden."
   (let ((method
         (if gnus-show-mime
             (progn
-              (mime-parse-buffer)
-              (if (or (not gnus-strict-mime)
-                      (mime-fetch-field "MIME-Version"))
-                  gnus-article-display-method-for-mime
-                gnus-article-display-method-for-encoded-word))
+              (setq mime-message-structure gnus-current-headers)
+              gnus-article-display-method-for-mime)
           gnus-article-display-method-for-traditional)))
     (gnus-run-hooks 'gnus-tmp-internal-hook)
     (gnus-run-hooks 'gnus-article-prepare-hook)
@@ -3391,7 +3391,7 @@ forbidden in URL encoding."
 ;;;
 
 (defun gnus-article-header-presentation-method (entity situation)
-  (mime-insert-decoded-header entity)
+  (mime-insert-header entity)
   )
 
 (set-alist 'mime-header-presentation-method-alist
@@ -3421,6 +3421,18 @@ forbidden in URL encoding."
 (set-alist 'mime-preview-following-method-alist
           'gnus-original-article-mode #'gnus-following-method)
 
+(set-alist 'mime-preview-over-to-previous-method-alist
+          'gnus-original-article-mode
+          (lambda ()
+            (gnus-article-read-summary-keys
+             nil (gnus-character-to-event ?P))))
+
+(set-alist 'mime-preview-over-to-next-method-alist
+          'gnus-original-article-mode'
+          (lambda ()
+            (gnus-article-read-summary-keys
+             nil (gnus-character-to-event ?N))))
+
 
 ;;; @ end
 ;;;
index 10b1acc..6caef29 100644 (file)
@@ -1,4 +1,4 @@
-;; gnus-bbdb.el --- Interface to Semi-gnus.
+;; gnus-bbdb.el --- Interface to Semi-gnus
 
 ;; Copyright (c) 1991,1992,1993 Jamie Zawinski <jwz@netscape.com>.
 ;; Copyright (C) 1995,1996,1997 Shuhei KOBAYASHI
 (eval-when-compile
   (require 'gnus-win))
 
-(defvar gnus-bbdb/decode-field-body-function 'eword-decode-string
+(defvar gnus-bbdb/decode-field-body-function 'nnheader-decode-field-body
   "*Field body decoder.")
 
 (defmacro gnus-bbdb/decode-field-body (field-body field-name)
   `(or (and (functionp gnus-bbdb/decode-field-body-function)
            (funcall gnus-bbdb/decode-field-body-function
-                    ,field-body))
+                    ,field-body ,field-name))
        ,field-body))
 
 ;;;###autoload
@@ -110,6 +110,8 @@ This buffer will be in bbdb-mode, with associated keybindings."
        (bbdb-display-records (list record))
        (error "unperson"))))
 
+;; Avoid byte-compile warning.
+(defvar bbdb-pop-up-elided-display)
 
 (defun gnus-bbdb/pop-up-bbdb-buffer (&optional offer-to-create)
   "Make the *BBDB* buffer be displayed along with the GNUS windows,
index 436baad..7f48584 100644 (file)
@@ -202,8 +202,8 @@ it's not cached."
              ;; [number subject from date id references chars lines xref]
              (insert (format "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n"
                              (mail-header-number headers)
-                             (mail-header-subject headers)
-                             (mail-header-from headers)
+                             (mime-fetch-field 'Subject headers)
+                             (mime-fetch-field 'From headers)
                              (mail-header-date headers)
                              (mail-header-id headers)
                              (or (mail-header-references headers) "")
index d794f0d..1b9b333 100644 (file)
 ;;; Utility functions
 
 (defcustom gnus-draft-decoding-function
-  (function
-   (lambda ()
-     (mime-edit-decode-message-in-buffer nil)
-     (eword-decode-header)
-     ))
+  #'mime-edit-decode-message-in-buffer
   "*Function called to decode the message from network representation."
   :group 'gnus-agent
   :type 'function)
index d56f5ce..af57904 100644 (file)
@@ -1327,7 +1327,7 @@ If FIRST-TOO, the current line is also eligible as a target."
        (beginning-of-line)
        (forward-char (or (cdr (assq 'process gnus-group-mark-positions)) 2))
        (subst-char-in-region
-        (point) (1+ (point)) (following-char)
+        (point) (1+ (point)) (char-after)
         (if unmark
             (progn
               (setq gnus-group-marked (delete group gnus-group-marked))
index 116ad34..c1f30d5 100644 (file)
@@ -5,6 +5,7 @@
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;     Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
+;;      Katsumi Yamaoka  <yamaoka@jpl.org>
 ;; Keywords: mail, news, MIME
 
 ;; This file is part of GNU Emacs.
@@ -93,7 +94,7 @@ Thank you.
 The first %s will be replaced by the Newsgroups header;
 the second with the current group name.")
 
-(defvar gnus-message-setup-hook nil
+(defvar gnus-message-setup-hook '(gnus-maybe-setup-default-charset)
   "Hook run after setting up a message buffer.")
 
 (defvar gnus-bug-create-help-buffer t
@@ -145,7 +146,6 @@ Please describe the bug in annoying, painstaking detail.
 
 Thank you for your help in stamping out bugs.
 "
-
          gnus-product-name
          (if (string= gnus-product-name "Semi-gnus")
              ""
@@ -352,7 +352,7 @@ This is done simply by taking the old article and adding a Supersedes
 header line with the old Message-ID."
   (interactive)
   (let ((article (gnus-summary-article-number))
-       gnus-message-setup-hook)
+       (gnus-message-setup-hook '(gnus-maybe-setup-default-charset)))
     (gnus-setup-message 'reply-yank
       (gnus-summary-select-article t)
       (set-buffer gnus-original-article-buffer)
@@ -544,10 +544,6 @@ If SILENT, don't prompt the user."
 
 \f
 
-;; Dummy to avoid byte-compile warning.
-(defvar nnspool-rejected-article-hook)
-(defvar xemacs-codename)
-
 (defun gnus-extended-version ()
   "Stringified gnus version."
   (interactive)
@@ -954,7 +950,7 @@ this is a reply."
   (interactive "P")
   (gnus-summary-select-article t)
   (set-buffer gnus-original-article-buffer)
-  (let (gnus-message-setup-hook)
+  (let ((gnus-message-setup-hook '(gnus-maybe-setup-default-charset)))
     (gnus-setup-message 'compose-bounce
       (let* ((references (mail-fetch-field "references"))
             (parent (and references (gnus-parent-id references))))
@@ -1189,6 +1185,24 @@ this is a reply."
          (insert (car val) ": " (cdr val) "\n"))
        (gnus-pull (car val) gnus-message-style-insertions)))))
 
+
+;;; @ for MIME Edit mode
+;;;
+
+(defun gnus-maybe-setup-default-charset ()
+  (let ((charset
+        (and (boundp 'gnus-summary-buffer)
+              (buffer-live-p gnus-summary-buffer)
+             (save-excursion
+               (set-buffer gnus-summary-buffer)
+               default-mime-charset))))
+    (if charset
+       (progn
+         (make-local-variable 'default-mime-charset)
+         (setq default-mime-charset charset)
+         ))))
+
+
 ;;; Allow redefinition of functions.
 
 (gnus-ems-redefine)
index d678531..0a69970 100644 (file)
@@ -271,7 +271,7 @@ matches an previously scanned and verified nocem message."
                              gnus-nocem-real-group-hashtb)
            ;; Valid group.
            (beginning-of-line)
-           (while (= (following-char) ?\t)
+           (while (eq (char-after) ?\t)
              (forward-line -1))
            (setq id (buffer-substring (point) (1- (search-forward "\t"))))
            (unless (gnus-gethash id gnus-nocem-hashtb)
@@ -279,7 +279,7 @@ matches an previously scanned and verified nocem message."
              (gnus-sethash id t gnus-nocem-hashtb)
              (push id ncm))
            (forward-line 1)
-           (while (= (following-char) ?\t)
+           (while (eq (char-after) ?\t)
              (forward-line 1))))))
       (when ncm
        (setq gnus-nocem-touched-alist t)
diff --git a/lisp/gnus-offline.el b/lisp/gnus-offline.el
new file mode 100644 (file)
index 0000000..a04544f
--- /dev/null
@@ -0,0 +1,854 @@
+;;; gnus-offline.el --- To process mail & news at offline environment.
+;;; $Id: gnus-offline.el,v 1.1.4.1 1998-12-24 03:34:46 yamaoka Exp $
+
+;;; Copyright (C) 1998 Tatsuya Ichikawa
+;;;                    Yukihiro Ito
+;;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
+;;;         Yukihiro Ito <ito@rs.civil.tohoku.ac.jp>
+;;;         Hidekazu Nakamura <u90121@uis-inf.co.jp>
+
+;;; Version: 2.01
+;;; Keywords: news , mail , offline , gnus
+;;;
+;;; SPECIAL THANKS
+;;;    Keiichi Suzuki <kei-suzu@mail.wbs.or.jp>
+;;;    KORIYAMA Naohiro <kory@ba2.so-net.or.jp>
+;;;    Katsumi Yamaoka <yamaoka@jpl.org>
+
+;;; This file is part of Semi-gnus.
+;;;
+;;; GNU Emacs is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2, or (at your option)
+;;; any later version.
+
+;;; GNU Emacs is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;;; Boston, MA 02111-1307, USA.
+;;;
+;;;; Commentary:
+;;; Note.
+;;;   This file works only with after version of Emacs 19.30.
+;;;   This file needs miee.el and SEMI.
+;;;   If you set gnus-offline-drafts-queue-type to 'agent , you don't need 
+;;;   miee.el
+;;;   You must use Semi-gnus 6.X.X.
+;;;
+;;; How to use.
+;;;
+;;; Add following code at the end in your .emacs
+;;;
+;;;    (load "gnus-ofsetup")
+;;;    (gnus-setup-for-offline)
+;;;    (load gnus-offline-setting-file)
+;;;
+;;; If you use gnus-agent as souper , put gnus-agent setup code in you .gnus.el
+;;;
+;;; If you use nnspool as souper , put following code in your .emacs before
+;;; gnus-offline setting.
+;;;
+;;; Then , put hang.exe in exec-path directory.
+;;;
+;;; In Gnus group buffer , type g to get all news and mail.
+;;; Then send mail and news in spool directory.
+;;;
+;;; Variables.
+;;;  gnus-offline-dialup-program-arguments
+;;;                                   ... List of dialup program arguments.
+;;;  gnus-offline-hangup-program-arguments
+;;;                                   ... List of hangup program arguments.
+;;;  gnus-offline-mail-treat-environ  ... toggle sending mail online/offline.
+;;;  gnus-offline-articles-to-fetch   ... toggle fetch articles.
+;;;                                        both->mail->news->both...
+;;;  gnus-offline-load-hook           ... hook before gnus-offline load.
+;;;  gnus-offline-before-online-hook  ... hook before all online jobs.
+;;;  gnus-offline-after-online-hook   ... hook after all online jobs.
+;;;  gnus-offline-interval-time       ... Interval time to do all online jobs.
+;;;                                        (minutes)
+;;;  gnus-offline-dialup-function     ... Function to diualup.
+;;;  gnus-offline-hangup-function     ... Function to hangup.
+
+;;; Code:
+
+(eval '(run-hooks 'gnus-offline-load-hook))
+
+(require 'cl)
+(require 'custom)
+(require 'pop3-fma)
+(require 'easymenu)
+
+(unless (and (condition-case ()
+                (require 'custom)
+              (file-error nil))
+            (fboundp 'defgroup)
+            (fboundp 'defcustom))
+  (require 'backquote)
+  (defmacro defgroup (&rest args))
+  (defmacro defcustom (symbol value &optional doc &rest args)
+    (` (defvar (, symbol) (, value) (, doc))))
+  )
+(defgroup gnus-offline nil
+  "Offline backend utility for Gnus."
+  :prefix "gnus-offline-"
+  :group 'mail
+  :group 'news)
+
+(defconst gnus-offline-version-number "2.02")
+(defconst gnus-offline-codename
+;;  "Beta5"                    ; Beta
+;;  "This is the time"         ; 2.00
+;;  "A matter of trust"
+  "Modern Woman"
+;;  "Code of silence"
+  )
+
+(defconst gnus-offline-version (format "Gnus offline backend utiliy v%s"
+                                      gnus-offline-version-number))
+
+(defcustom gnus-offline-dialup-program-arguments nil
+  "*Program arguments of gnus-offline-dialup-program."
+  :group 'gnus-offline
+  :type '(repeat (string :tag "Argument")))
+
+(defcustom gnus-offline-hangup-program-arguments nil
+  "*Program arguments of gnus-offline-hangup-program."
+  :group 'gnus-offline
+  :type '(repeat (string :tag "Argument")))
+
+(defcustom gnus-offline-auto-hangup t
+  "*Whether dialup-network automatically hang up when all online jobs has done."
+  :group 'gnus-offline
+  :type 'boolean)
+
+(defcustom gnus-offline-load-hook nil
+  "*Hook to be run after the gnus-offline package has been loaded."
+  :group 'gnus-offline
+  :type 'hook)
+
+(defcustom gnus-offline-before-online-hook nil
+  "*Hook to be run before all online jobs."
+  :group 'gnus-offline
+  :type 'hook)
+
+(defcustom gnus-offline-after-online-hook nil
+  "*Hook to be run after all online jobs."
+  :group 'gnus-offline
+  :type 'hook)
+
+(defcustom gnus-offline-mail-treat-environ 'offline
+  "*If online , gnus-offline send all mail under online environ.
+If offline , gnus-offline send all mail temporary to spool dir."
+  :group 'gnus-offline
+  :type '(choice (const offline)
+                (const online)))
+
+(defcustom gnus-offline-articles-to-fetch 'both
+  "*If both , gnus-offline fetch mail and news articles.
+If mail , gnus-offline only fetch mail articles.
+ If news , gnus-offline only fetch news articles."
+  :group 'gnus-offline
+  :type '(choice (const both)
+                (const mail)
+                (const news)))
+
+(defcustom gnus-offline-interval-time 0
+  "*Interval time(minutes) to do online jobs.
+If set to 0 , timer call is disabled."
+  :group 'gnus-offline
+  :type 'integer)
+
+(defcustom gnus-offline-mail-group-level 1
+  "*Group level for mail group."
+  :group 'gnus-offline
+  :type 'integer)
+
+(defcustom gnus-offline-after-empting-spool-hook nil
+  "*Hook to be run before empting spool."
+  :group 'gnus-offline
+  :type 'hook)
+
+(defcustom gnus-offline-before-empting-spool-hook nil
+  "*Hook to be run after empting spool."
+  :group 'gnus-offline
+  :type 'hook)
+
+(defcustom gnus-offline-dialup-function 'gnus-offline-connect-server
+  "*Function to dialup."
+  :group 'gnus-offline
+  :type 'function)
+
+(defcustom gnus-offline-hangup-function 'gnus-offline-hangup-line
+  "*Function to hangup."
+  :group 'gnus-offline
+  :type 'function)
+
+;;; Internal variables.
+(defvar gnus-offline-connected nil
+  "*If value is t , dialup line is connected status.
+If value is nil , dialup line is disconnected status.")
+
+(defvar gnus-offline-news-fetch-method nil
+  "*Method to fetch news articles.")
+
+(defvar gnus-offline-mail-fetch-method nil
+  "*Method to fetch mail articles.")
+
+(defvar gnus-offline-header-string
+  (format "%s - \"%s\""
+         gnus-offline-version
+         gnus-offline-codename)
+  "*Header string for gnus-offline.")
+
+(defvar gnus-offline-stored-group-level nil
+  "*Mail Group level before changing.")
+
+(defvar gnus-offline-movemail-arguments nil
+  "*All command line arguments of exec-directory/movemail.")
+
+;;; Temporary variable:
+(defvar string)
+(defvar hdr)
+(defvar str)
+(defvar ver)
+(defvar passwd)
+(defvar num)
+(defvar gnus-offline-error-buffer " *Error*")
+(defvar gnus-offline-map (make-sparse-keymap))
+
+;;; To silence byte compiler
+(and
+ (fboundp 'eval-when-compile)
+ (eval-when-compile
+   (save-excursion
+     (beginning-of-defun)
+     (eval-region (point-min) (point)))
+   (let (case-fold-search)
+     (mapcar
+      (function
+       (lambda (symbol)
+        (unless (boundp symbol)
+          (make-local-variable symbol)
+          (eval (list 'setq symbol nil)))))
+      '(:group
+       :prefix :type
+       sendmail-to-spool-directory
+       news-spool-request-post-directory
+       nnspool-version
+       nnagent-version
+       msspool-news-server
+       msspool-news-service
+       gnspool-get-news
+       mail-spool-send
+       news-spool-post
+       gnus-agent-handle-level
+       ))
+     (make-local-variable 'byte-compile-warnings)
+     (setq byte-compile-warnings nil))))
+       
+(put 'gnus-offline-set-unplugged-state 'menu-enable 'gnus-offline-connected)
+(if (eq system-type 'windows-nt)
+    (define-process-argument-editing "/hang\\.exe\\'"
+      (lambda (x) (general-process-argument-editing-function
+                  x nil t t nil t t))))
+;;; Functions
+;;
+;; Setting up...
+;;
+(defun gnus-offline-setup ()
+  "*Initialize gnus-offline function"
+
+  ;; Load setting file - required.
+  (load gnus-offline-setting-file)
+
+  ;; Menu and keymap
+  (gnus-offline-define-menu-and-key)
+  
+  ;; To transfer Mail/News function.
+  (cond ((eq gnus-offline-mail-treat-environ 'offline)
+        ;; send mail under offline environ.
+        (gnus-offline-set-offline-sendmail-function))
+       ((eq gnus-offline-mail-treat-environ 'online)
+        ;; send mail under offline environ.
+        (gnus-offline-set-online-sendmail-function))))
+;;  (add-hook 'gnus-group-mode-hook 'gnus-offline-setup))
+
+;;
+;; Setting Error check.
+(defun gnus-offline-error-check ()
+  ;; Check gnus-agent and nnspool setting.
+  (cond ((eq gnus-offline-news-fetch-method 'nnagent)
+        ;; nnagent and gnus-agent loaded ??
+        (if (not (and (featurep 'gnus-agent)
+                      (featurep 'nnagent)))
+            (progn
+              (get-buffer-create gnus-offline-error-buffer)
+              (set-buffer gnus-offline-error-buffer)
+              (erase-buffer)
+              (insert "WARNING!!: gnus-agent.el or nnagent.el is not loaded.\n")
+              (insert "Please check your .emacs or .gnus.el to work gnus-agent fine.")
+              (pop-to-buffer gnus-offline-error-buffer))))
+       
+       ((eq gnus-offline-news-fetch-method 'nnspool)
+        (if (not (featurep 'nnspool))
+            (progn
+              (get-buffer-create gnus-offline-error-buffer)
+              (set-buffer gnus-offline-error-buffer)
+              (erase-buffer)
+              (insert "WARNING!!: nnspool.el is not loaded.\n")
+              (insert "Please check your .emacs or .gnus.el to work nnspool fine.")
+              (pop-to-buffer gnus-offline-error-buffer))))))
+;;
+;;
+(defun gnus-offline-set-offline-sendmail-function ()
+  "*Initialize sendmail-function when unplugged status."
+  (if (eq gnus-offline-drafts-queue-type 'miee)
+      (progn
+       (if (eq gnus-offline-news-fetch-method 'nnagent)
+           (setq gnus-agent-send-mail-function 'sendmail-to-spool-in-gnspool-format))
+       (setq message-send-mail-function 'sendmail-to-spool-in-gnspool-format))
+    (setq gnus-agent-send-mail-function (gnus-offline-set-online-sendmail-function)
+         message-send-mail-function 'gnus-agent-send-mail)))
+;;
+(defun gnus-offline-set-online-sendmail-function ()
+  "*Initialize sendmail-function when plugged status."
+  (if (eq gnus-offline-MTA-type 'smtp)
+      (setq message-send-mail-function 'message-send-mail-with-smtp)
+    (setq message-send-mail-function 'message-send-mail-with-sendmail)))
+;;
+(defun gnus-offline-set-offline-post-news-function ()
+  "*Initialize sendnews-function when unplugged status."
+  (if (eq gnus-offline-drafts-queue-type 'miee)
+      (setq message-send-news-function 'gnspool-request-post)))
+;;
+(defun gnus-offline-set-online-post-news-function ()
+  "*Initialize sendnews-function when plugged status."
+  (setq message-send-news-function 'message-send-news-with-gnus))
+;;
+;; Get new news jobs. (gnus-agent and nnspool)
+;;
+(defun gnus-offline-gnus-get-new-news (&optional arg)
+  "*Override function \"gnus-group-get-new-news\"."
+  (interactive "P")
+  (run-hooks 'gnus-offline-before-online-hook)
+  (if (functionp gnus-offline-dialup-function)
+      (funcall gnus-offline-dialup-function))
+  (gnus-offline-get-new-news-function)
+  (gnus-group-get-new-news arg))
+
+;;
+;; dialup...
+;;
+(defun gnus-offline-connect-server ()
+  "*Dialup function."
+  ;; Dialup if gnus-offline-dialup-program is specified
+  (if (stringp gnus-offline-dialup-program)
+      (progn
+       (message "Dialing ...")
+       (apply 'call-process gnus-offline-dialup-program nil nil nil
+              gnus-offline-dialup-program-arguments)
+       (sleep-for 1)
+       (message "Dialing ... done."))))
+
+;;
+;; Jobs before get new news , send mail and post news.
+;;
+(defun gnus-offline-get-new-news-function ()
+  "*Prepare to get new news/mail."
+  ;; Set mail group level
+  (if (eq gnus-offline-articles-to-fetch 'mail)
+      (gnus-offline-set-mail-group-level gnus-offline-mail-group-level))
+
+  ;; Set to online environ.
+  (setq gnus-offline-connected t)
+
+  ;; Set send mail/news functions to online functions.
+  (gnus-offline-set-online-sendmail-function)
+  (gnus-offline-set-online-post-news-function)
+  (message "Set to online status.")
+
+  ;; fetch only news
+  (if (eq gnus-offline-articles-to-fetch 'news)
+      (gnus-offline-disable-fetch-mail))
+
+  ;; fetch both mail and news. or Only mail.
+  (gnus-offline-enable-fetch-news)
+  (if (memq gnus-offline-articles-to-fetch '(both mail))
+      (gnus-offline-enable-fetch-mail))
+
+  ;; fetch only mail for gnus-agent
+  (if (and (eq gnus-offline-news-fetch-method 'nnagent)
+          (eq gnus-offline-articles-to-fetch 'mail))
+         (setq gnus-agent-handle-level gnus-offline-mail-group-level)))
+
+;;
+;; Change mail group level to handle only mail.
+;;
+(defun gnus-offline-set-mail-group-level (level)
+  "*Set nnm* group level."
+  (switch-to-buffer gnus-group-buffer)
+  (goto-char (point-min))
+  
+  ;; Save current level
+  (if (not gnus-offline-stored-group-level)
+      (while (re-search-forward " nnm" nil t)
+       (setq gnus-offline-stored-group-level
+             (append gnus-offline-stored-group-level
+                     (list (gnus-group-group-level)))))
+    (forward-line 1)
+    (beginning-of-line))
+  ;;
+  (goto-char (point-min))
+  (while (re-search-forward " nnm" nil t)
+    (gnus-group-set-current-level 1 level)
+    (forward-line 1)
+    (beginning-of-line))
+  t)
+;;
+;; Restore mail group level
+;;
+(defun gnus-offline-restore-mail-group-level ()
+  "*Restore nnm* group level."
+  (switch-to-buffer gnus-group-buffer)
+  (goto-char (point-min))
+  (setq num 0)
+  (while (re-search-forward " nnm" nil t)
+    (gnus-group-set-current-level 1 (nth num gnus-offline-stored-group-level))
+    (forward-line 1)
+    (setq num (+ num 1))
+    (beginning-of-line)))
+;;
+;; Jobs after getting new news.
+;;
+(defun gnus-offline-after-get-new-news ()
+  "*After getting news and mail jobs."
+  (if (memq gnus-offline-articles-to-fetch '(both mail))
+      (progn
+       ;; Mail/both
+       ;; send mail/news in spool
+       (gnus-offline-empting-spool)
+       (if (eq gnus-offline-articles-to-fetch 'mail)
+           (progn
+             ;; Send only mail and hang up...
+             (if (and gnus-offline-connected
+                      gnus-offline-auto-hangup)
+                 (gnus-offline-set-unplugged-state))
+             ;; Disable fetch mail.
+             (gnus-offline-disable-fetch-mail)
+             (gnus-offline-after-jobs-done)))))
+  
+  ;; News/Both
+  (if (memq gnus-offline-articles-to-fetch '(both news))
+      (progn
+       (if gnus-offline-connected
+           (cond ((eq gnus-offline-news-fetch-method 'nnagent)
+                  ;; Get New News (gnus-agent)
+                  (gnus-agent-toggle-plugged t)
+                 
+                  ;; fetch articles
+                  (gnus-agent-fetch-session)
+                 
+                  ;; Hang Up line. then set to offline status.
+                  (if (and gnus-offline-connected
+                           gnus-offline-auto-hangup)
+                      (gnus-offline-set-unplugged-state))
+                  
+                  ;; All online jobs has done.
+                  (gnus-offline-after-jobs-done))
+                 (t
+                  (if (eq gnus-offline-news-fetch-method 'nnspool)
+                      ;; Get New News (nnspool)
+                      (gnspool-get-news))))))))
+;;
+;; Disable fetch mail
+;;
+(defun gnus-offline-disable-fetch-mail ()
+  "*Set do not fetch mail."
+  (setq nnmail-spool-file nil))
+;;
+;; Enable fetch mail
+;;
+(defun gnus-offline-enable-fetch-mail ()
+  "*Set to fetch mail."
+  (setq gnus-offline-mail-fetch-method 'nnmail)
+  (setq nnmail-movemail-program 'pop3-fma-movemail)
+  (setq nnmail-spool-file (append
+                          pop3-fma-local-spool-file-alist
+                          (mapcar
+                           (lambda (spool)
+                             (car spool))
+                           pop3-fma-spool-file-alist))))
+;;
+;; Enable fetch news
+;;
+(defun gnus-offline-enable-fetch-news ()
+  "*Set to fetch news."
+  (if (eq gnus-offline-news-fetch-method 'nnagent)
+      (progn
+       (setq gnus-agent-handle-level gnus-level-subscribed)
+       (gnus-agent-toggle-plugged t))))
+\f
+;;
+;; Add your custom header.
+;;
+(defun gnus-offline-add-custom-header (header string)
+  "*Add X-Gnus-Offline-Backend header to Mail/News message."
+  (let ((delimline
+        (progn (goto-char (point-min))
+               (re-search-forward
+                (concat "^" (regexp-quote mail-header-separator) "\n"))
+               (point-marker))))
+    (goto-char (point-min))
+    (or (re-search-forward (concat "^" header) delimline t)
+       (progn
+         (goto-char delimline)
+         (forward-line -1)
+         (beginning-of-line)
+         (setq hdr (concat header " "))
+         (setq str (concat hdr string))
+         (setq hdr (concat str "\n"))
+         (insert-string hdr)))))
+;;
+;; Add X-Offline-Backend header.
+;;
+(defun gnus-offline-message-add-header ()
+  "*Add X-Gnus-Offline-Backend header to Mail/News message."
+  (if (eq gnus-offline-mail-treat-environ 'offline)
+      (progn
+       (if (eq gnus-offline-news-fetch-method 'nnagent)
+           (setq ver nnagent-version)
+         (setq ver nnspool-version))
+       (setq str (format "\n                        with %s" ver)
+             string (concat gnus-offline-header-string str))
+       (gnus-offline-add-custom-header "X-Gnus-Offline-Backend:" string))))
+  
+\f
+;;
+;; Toggle plugged/unplugged
+;;
+(defun gnus-offline-toggle-plugged (plugged)
+  "*Override function \"Jj\" - gnus-agent-toggle-plugged."
+  (interactive (list (not gnus-offline-connected)))
+  (if plugged
+      (progn
+       (setq gnus-offline-connected plugged)
+       (gnus-agent-toggle-plugged plugged)
+       ;; Set send mail/news function to offline functions.
+       (gnus-offline-set-online-sendmail-function)
+       (gnus-offline-set-online-post-news-function))
+    ;; Set to offline status
+    (gnus-offline-set-unplugged-state)))
+;;
+;; Function of hang up line.
+;;
+(defun gnus-offline-set-unplugged-state ()
+  "*Set to unplugged state."
+  (interactive)
+  ;; Hang Up Line.
+  (if (functionp gnus-offline-hangup-function)
+      (funcall gnus-offline-hangup-function))
+  (setq gnus-offline-connected nil)
+  (if (eq gnus-offline-news-fetch-method 'nnagent)
+      (gnus-agent-toggle-plugged nil))
+
+  ;; Set send mail/news function to offline functions.
+  (gnus-offline-set-offline-sendmail-function)
+  (gnus-offline-set-offline-post-news-function)
+  ;;
+  (setenv "MAILHOST" nil))
+;;
+;; Hangup line function 
+;;
+(defun gnus-offline-hangup-line ()
+  "*Hangup line function."
+  (message "Hang up line ... ")
+  (if (stringp gnus-offline-hangup-program)
+      (apply 'start-process "hup" nil gnus-offline-hangup-program
+            gnus-offline-hangup-program-arguments))
+  (message "Hang up line ... done."))
+;;
+;; Hang Up line routine whe using nnspool
+;;
+(defun gnus-offline-nnspool-hangup-line ()
+  (if (and gnus-offline-connected
+          gnus-offline-auto-hangup)
+      (gnus-offline-set-unplugged-state))
+  (gnus-offline-after-jobs-done))
+;;
+;; Function of all jobs has done.
+;;
+(defun gnus-offline-after-jobs-done ()
+  "*Jobs after all online jobs."
+  (run-hooks 'gnus-offline-after-online-hook)
+  (if (eq gnus-offline-articles-to-fetch 'mail)
+      (gnus-offline-restore-mail-group-level))
+  (if (eq gnus-offline-news-fetch-method 'nnagent)
+      (or (featurep 'xemacs)
+         (gnus-offline-agent-expire)))
+  (if (and (featurep 'xemacs)
+          (fboundp 'play-sound-file))
+      (ding nil 'drum)
+    (ding))
+  (gnus-group-save-newsrc)
+  (message "All online jobs has done."))
+
+\f
+;;
+;; Toggle auto hang up
+;;
+(defun gnus-offline-toggle-auto-hangup ()
+  "*Toggle auto hangup flag."
+  (interactive)
+  (setq string "Auto hang up logic")
+  (if gnus-offline-auto-hangup
+      (progn
+       (setq gnus-offline-auto-hangup nil
+             str "disabled."))
+    (setq gnus-offline-auto-hangup t
+         str "enabled."))
+  (message (format "%s %s" string str)))
+;;
+;; Toggle offline/online to send mail.
+;;
+(defun gnus-offline-toggle-on/off-send-mail ()
+  "*Toggel online/offline sendmail."
+  (interactive)
+  (if (eq gnus-offline-mail-treat-environ 'offline)
+      (progn
+       ;; Sending mail under online environ.
+       (gnus-offline-set-online-sendmail-function)
+       (setq gnus-offline-mail-treat-environ 'online)
+       (message "Sending mail immidiately."))
+    ;; Sending mail under offline environ.
+    (gnus-offline-set-offline-sendmail-function)
+    (setq gnus-offline-mail-treat-environ 'offline)
+    (message "Sending mail temporary to spool directory.")))
+;;
+;; Toggle articles to fetch ... both -> mail -> news -> both
+;;
+(defun gnus-offline-toggle-articles-to-fetch ()
+  "*Set articles to fetch... both(Mail/News) -> mail only -> News only -> both"
+  (interactive)
+  (setq string "Articles fetch from server.")
+  (cond ((eq gnus-offline-articles-to-fetch 'both)
+        (setq gnus-offline-articles-to-fetch 'mail
+              str "Only Mail"))
+       ((eq gnus-offline-articles-to-fetch 'mail)
+          (setq gnus-offline-articles-to-fetch 'news
+                str "Only News"))
+       (t
+        (setq gnus-offline-articles-to-fetch 'both
+              str "Mail/News both")))
+  (message (format "%s %s" string str)))
+;;
+;; Toggle movemail program pop3.el -> movemail -> pop3.el
+;;
+(defun gnus-offline-toggle-movemail-program ()
+  "*Toggle movemail program movemail -> pop3.el -> movemail ->..."
+  (interactive)
+  (setq string "Set nnmail-movemail-program")
+  (cond ((eq pop3-fma-movemail-type 'lisp)
+        (setq pop3-fma-movemail-type 'exe
+              str "to movemail"))
+       (t
+        (setq pop3-fma-movemail-type 'lisp
+              str "to pop3.el")))
+  (message (format "%s %s" string str)))
+;;
+;; Send mail and Post news using Miee or gnus-agent.
+;;
+(defun gnus-offline-empting-spool ()
+  "*Send all drafts on queue."
+  (run-hooks 'gnus-offline-before-empting-spool-hook)
+  (if (eq gnus-offline-drafts-queue-type 'miee)
+      ;; Send queued message by miee.el.
+      (progn
+       (if (eq gnus-offline-mail-treat-environ 'offline)
+           (progn
+             (message "Sending mails in spool ...")
+             ;; Using miee to send mail.
+             (mail-spool-send)
+             (message "Sending mails in spool ... done.")))
+       (message "Posting news in spool ...")
+       ;; Using miee to post news.
+       (if (and (not (stringp msspool-news-server))
+                (not msspool-news-service))
+           (progn
+             (setq msspool-news-server (nth 1 gnus-select-method))
+             (setq msspool-news-service 119)))
+       (news-spool-post)
+       (message "Posting news in spool ... done."))
+    ;; Send queued message by gnus-agent
+    (message "Sending messages in spool ...")
+    (gnus-group-send-drafts)
+    (message "Sending messages in spool ... done."))
+  ;;
+  (run-hooks 'gnus-offline-after-empting-spool-hook))
+;;
+;; Set interval time
+;;
+(defun gnus-offline-set-interval-time ()
+  "*Set interval time for gnus-daemon."
+  (interactive)
+  (setq gnus-offline-interval-time
+       (string-to-int (read-from-minibuffer
+                       (format "Interval time (now %s minutes) : "
+                               gnus-offline-interval-time)
+                       nil)))
+  (if (< gnus-offline-interval-time 2)
+      (progn
+       (message "Retrieving message logic by timer is disabled.")
+       (setq gnus-offline-interval-time 0))
+    (message (format "Interval time set to %d minutes" gnus-offline-interval-time)))
+  (gnus-offline-processed-by-timer))
+;;
+;; Expire articles using gnus-agent.
+;;
+(defun gnus-offline-agent-expire ()
+  "*Expire expirable article on News group."
+  (interactive)
+  (gnus-agent-expire))
+;;
+;; Menu.
+;;
+(defun gnus-offline-define-menu-and-key ()
+  "*Set key and menu."
+  (if (eq gnus-offline-drafts-queue-type 'miee)
+      (if (featurep 'xemacs)
+         (add-hook 'gnus-group-mode-hook 'gnus-offline-define-menu-on-miee)
+       (gnus-offline-define-menu-on-miee))
+    (add-hook 'gnus-group-mode-hook 'gnus-offline-define-menu-on-agent))
+  (add-hook 'gnus-group-mode-hook
+           '(lambda ()
+              (local-set-key "\C-coh" 'gnus-offline-set-unplugged-state)
+              (local-set-key "\C-com" 'gnus-offline-toggle-movemail-program)
+              (local-set-key "\C-cof" 'gnus-offline-toggle-articles-to-fetch)
+              (local-set-key "\C-coo" 'gnus-offline-toggle-on/off-send-mail)
+              (local-set-key "\C-cox" 'gnus-offline-toggle-auto-hangup)
+              (local-set-key "\C-cos" 'gnus-offline-set-interval-time)
+              (substitute-key-definition
+               'gnus-group-get-new-news 'gnus-offline-gnus-get-new-news
+               gnus-group-mode-map)
+              (if (eq gnus-offline-news-fetch-method 'nnagent)
+                  (progn
+                    (substitute-key-definition
+                     'gnus-agent-toggle-plugged 'gnus-offline-toggle-plugged
+                     gnus-agent-group-mode-map)
+                    (local-set-key "\C-coe" 'gnus-offline-agent-expire)))))
+  (if (eq gnus-offline-news-fetch-method 'nnagent)
+      (add-hook 'gnus-summary-mode-hook
+               '(lambda ()
+                  (substitute-key-definition
+                   'gnus-agent-toggle-plugged 'gnus-offline-toggle-plugged
+                   gnus-agent-summary-mode-map))))
+  (if (featurep 'xemacs)
+      ;; Overwrite the toolbar spec for gnus-group-mode.
+      (add-hook 'gnus-startup-hook
+               (lambda ()
+                 (let ((i 0) (stat t) but)
+                   (while (and stat (setq but (nth i gnus-group-toolbar)))
+                     (and (equal 'gnus-group-get-new-news (aref but 1))
+                          (aset but 1 'gnus-offline-gnus-get-new-news)
+                          (setq stat nil))
+                     (setq i (1+ i))))))))
+;;
+;;
+(defun gnus-offline-define-menu-on-miee ()
+  "*Set and change menu bar on MIEE menu."
+  (if (featurep 'meadow)
+      (easy-menu-change
+       nil
+       "Miee"
+       '(
+        ["Spool \e$B$K$"$k5-;v$NAw?.\e(B" news-spool-post t]
+        ["Spool \e$B$K$"$k\e(B Mail \e$B$NAw?.\e(B" mail-spool-send t]
+        "----"
+        ["Offline \e$B>uBV$X\e(B" message-offline-state (not message-offline-state)]
+        ["Online \e$B>uBV$X\e(B" message-online-state message-offline-state]
+        "----"
+        ("Gnus Offline"
+         ["movemail \e$B$N@ZBX$(\e(B" gnus-offline-toggle-movemail-program t]
+         ["\e$B<hF@5-;v<oN`$NJQ99\e(B" gnus-offline-toggle-articles-to-fetch t]
+         ["Mail \e$BAw?.J}K!\e(B(On/Off)\e$B$N@ZBX$(\e(B" gnus-offline-toggle-on/off-send-mail t]
+         ["\e$B<+F0@ZCG$N@ZBX$(\e(B" gnus-offline-toggle-auto-hangup t]
+         "----"
+         ["\e$B<hF@:Q5-;v$r>C$9\e(B" gnus-offline-agent-expire (eq gnus-offline-news-fetch-method 'nnagent)]
+         ["\e$B5-;v<hF@4V3V;~4V$N@_Dj\e(B" gnus-offline-set-interval-time t]
+         "----"
+         ["\e$B2s@~$N@ZCG\e(B" gnus-offline-set-unplugged-state gnus-offline-connected])
+        ))
+    (easy-menu-change
+     nil
+     "Miee"
+     '(
+       ["Post news in spool" news-spool-post t]
+       ["Send mails in spool" mail-spool-send t]
+       "----"
+       ["Message Offline" message-offline-state (not message-offline-state)]
+       ["Message Online" message-online-state message-offline-state]
+       "----"
+       ("Gnus Offline"
+       ["Toggle movemail program" gnus-offline-toggle-movemail-program t]
+       ["Toggle articles to fetch" gnus-offline-toggle-articles-to-fetch t]
+       ["Toggle online/offline send mail" gnus-offline-toggle-on/off-send-mail t]
+       ["Toggle auto hangup" gnus-offline-toggle-auto-hangup t]
+       "----"
+       ["Expire articles" gnus-offline-agent-expire (eq gnus-offline-news-fetch-method 'nnagent)]
+       ["Set interval time" gnus-offline-set-interval-time t]
+       "----"
+       ["Hang up Line." gnus-offline-set-unplugged-state gnus-offline-connected]
+       )))))
+;;
+;; define menu without miee.
+;;
+(defun gnus-offline-define-menu-on-agent ()
+  "*Set menu bar on OFFLINE menu."
+  (easy-menu-define 
+   gnus-offline-menu-on-agent
+   gnus-group-mode-map
+   "Gnus offline Menu"
+   (if (featurep 'meadow)
+       '("Offline"
+        ["movemail \e$B$N@ZBX$(\e(B" gnus-offline-toggle-movemail-program t]
+        ["\e$B<hF@5-;v<oN`$NJQ99\e(B" gnus-offline-toggle-articles-to-fetch t]
+        ["Mail \e$BAw?.J}K!\e(B(On/Off)\e$B$N@ZBX$(\e(B" gnus-offline-toggle-on/off-send-mail t]
+        ["\e$B<+F0@ZCG$N@ZBX$(\e(B" gnus-offline-toggle-auto-hangup t]
+        "----"
+        ["\e$B<hF@:Q5-;v$r>C$9\e(B" gnus-offline-agent-expire (eq gnus-offline-news-fetch-method 'nnagent)]
+        ["\e$B5-;v<hF@4V3V;~4V$N@_Dj\e(B" gnus-offline-set-interval-time t]
+        "----"
+        ["\e$B2s@~$N@ZCG\e(B" gnus-offline-set-unplugged-state gnus-offline-connected])
+     '("Offline"
+       ["Toggle movemail program" gnus-offline-toggle-movemail-program t]
+       ["Toggle articles to fetch" gnus-offline-toggle-articles-to-fetch t]
+       ["Toggle online/offline send mail" gnus-offline-toggle-on/off-send-mail t]
+       ["Toggle auto hangup" gnus-offline-toggle-auto-hangup t]
+       "----"
+       ["Expire articles" gnus-offline-agent-expire (eq gnus-offline-news-fetch-method 'nnagent)]
+       ["Set interval time" gnus-offline-set-interval-time t]
+       "----"
+       ["Hang up Line." gnus-offline-set-unplugged-state gnus-offline-connected])))
+  (and (featurep 'xemacs)
+       (easy-menu-add gnus-offline-menu-on-agent)))
+\f
+;;
+;; Timer Function
+(defun gnus-offline-processed-by-timer ()
+  "*Set timer interval."
+  (if (and (> gnus-offline-interval-time 0)
+          (not gnus-offline-connected))
+      ;; Timer call
+      (gnus-demon-add-handler 'gnus-offline-gnus-get-new-news
+                             gnus-offline-interval-time
+                             gnus-offline-interval-time))
+  (if (= gnus-offline-interval-time 0)
+      (gnus-demon-remove-handler 'gnus-offline-gnus-get-new-news t)))
+;;
+;;
+(provide 'gnus-offline)
+;;; gnus-offline.el ends here
diff --git a/lisp/gnus-ofsetup.el b/lisp/gnus-ofsetup.el
new file mode 100644 (file)
index 0000000..2f03ac7
--- /dev/null
@@ -0,0 +1,317 @@
+;;; gnus-ofsetup.el --- Setup advisor for Offline reading for Mail/News.
+;;;
+;;; $Id: gnus-ofsetup.el,v 1.1.4.1 1998-12-24 03:34:48 yamaoka Exp $
+;;;
+;;; Copyright (C) 1998 Tatsuya Ichikawa
+;;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
+;;;
+;;; This file is part of Semi-gnus.
+;;;
+;;; GNU Emacs is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2, or (at your option)
+;;; any later version.
+
+;;; GNU Emacs is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;;; Boston, MA 02111-1307, USA.
+;;;
+;;;; Commentary:
+;;; How to use.
+;;;
+;;;      M-x load[RET]gnus-ofsetup
+;;;      M-x gnus-setup-for-offline
+;;;
+
+;;; Code:
+
+(defvar gnus-offline-setting-file "~/.gnus-offline.el")
+(defvar gnus-offline-use-miee nil)
+(defvar gnus-offline-news-fetch-method nil)
+(defvar gnus-offline-mail-fetch-method nil)
+(defvar gnus-offline-hangup-program nil)
+(defvar gnus-offline-dialup-program nil)
+(defvar pop3-fma-spool-file-alist nil)
+(defvar pop3-fma-movemail-type nil)
+(defvar pop3-fma-movemail-arguments nil)
+(defvar use-miee nil)
+(defvar address)
+(defvar options)
+
+;;; To silence byte compiler
+(and
+ (fboundp 'eval-when-compile)
+ (eval-when-compile
+   (save-excursion
+     (beginning-of-defun)
+     (eval-region (point-min) (point)))
+   (let (case-fold-search)
+     (mapcar
+      (function
+       (lambda (symbol)
+        (unless (boundp symbol)
+          (make-local-variable symbol)
+          (eval (list 'setq symbol nil)))))
+      '(:group
+       :prefix :type
+       sendmail-to-spool-directory
+       news-spool-request-post-directory
+       nnspool-version
+       nnagent-version
+       msspool-news-server
+       msspool-news-service
+       gnspool-get-news
+       mail-spool-send
+       news-spool-post
+       gnus-agent-handle-level
+       ))
+     (make-local-variable 'byte-compile-warnings)
+     (setq byte-compile-warnings nil))))
+
+(defun gnus-setup-for-offline ()
+  "*Set up Gnus for offline environment."
+  (interactive)
+  
+  (if (not (file-exists-p gnus-offline-setting-file))
+      (progn
+       (let ((news-method
+              (completing-read
+               "Method for offline News reading (TAB to completion): "
+               '(("gnus-agent" 1) ("nnspool" 2))
+               nil t nil))
+             (mail-method 'nnmail)
+             (program
+              (read-file-name "Dialup/Hangup program(type nil you do not use): "))
+             (mta-type
+              (completing-read
+               "Select MTA type for sending mail (TAB to completion): "
+               '(("smtp" 1) ("sendmail" 2))
+               nil t nil))
+             (num-of-address
+              (read-from-minibuffer "How many e-mail address do you have: "))
+             )
+         (if (string-equal news-method "nnspool")
+             (setq use-miee t)
+           (setq use-miee (y-or-n-p "Use MIEE post/send message ")))
+         ;;
+         ;; Set variables.
+         (if (string-equal news-method "gnus-agent")
+             (setq gnus-offline-news-fetch-method 'nnagent)
+           (setq gnus-offline-news-fetch-method 'nnspool))
+         ;;
+         (setq gnus-offline-mail-fetch-method mail-method)
+         (setq gnus-offline-use-miee use-miee)
+         
+         ;; Set programs.
+         (if (string-equal program "nil")
+             (progn
+               (setq gnus-offline-hangup-program nil)
+               (setq gnus-offline-dialup-program nil))
+           (let ((options
+                  (read-from-minibuffer "Dialup program options: ")))
+             (setq gnus-offline-dialup-program-arguments
+                   (split-string options "[\t ]+")))
+           (let ((options
+                  (read-from-minibuffer "Hangup program options: ")))
+             (setq gnus-offline-hangup-program-arguments
+                   (split-string options "[\t ]+")))
+           (setq gnus-offline-hangup-program program)
+           (setq gnus-offline-dialup-program program))
+           
+           ;; Set spool directory for outgoing messages.
+         (if use-miee
+             (progn
+               ;; Setting for MIEE with nnspool.
+               (let ((news-spool
+                      (read-from-minibuffer
+                       "News spool directory for sending: "
+                       "/usr/spool/news.out"))
+                     (mail-spool
+                      (read-from-minibuffer
+                       "Mail spool directory for sending: "
+                       "/usr/spool/mail.out")))
+                 (setq gnus-offline-mail-spool-directory mail-spool)
+                 (setq gnus-offline-news-spool-directory news-spool)
+                 (setq gnus-offline-drafts-queue-type 'miee)
+                 
+                 ;; Load MIEE.
+                 (load "miee")
+                 ;; Set news post function for MIEE.
+                 (setq message-send-news-function 'gnspool-request-post)
+                 ;; Spool directory setting - MIEE.
+                 (if (not (file-exists-p gnus-offline-mail-spool-directory))
+                     (make-directory gnus-offline-mail-spool-directory t))
+                 (setq sendmail-to-spool-directory
+                       gnus-offline-mail-spool-directory)
+                 (if (not (file-exists-p gnus-offline-news-spool-directory))
+                     (make-directory gnus-offline-news-spool-directory t))
+                 (setq news-spool-request-post-directory
+                       gnus-offline-news-spool-directory)))
+           
+           ;; Set drafts type gnus-agent.
+           (setq gnus-offline-drafts-queue-type 'agent))
+         
+         ;; Setting for gnus-agent.
+         (if (eq gnus-offline-news-fetch-method 'nnagent)
+             (let ((agent-directory
+                    (read-from-minibuffer "Agent directory: " "~/News/agent")))
+               (setq gnus-agent-directory agent-directory)))
+           
+         ;; Determin MTA type.
+         (if (string-equal mta-type "smtp")
+             (setq gnus-offline-MTA-type 'smtp)
+           (setq gnus-offline-MTA-type 'sendmail)
+           )
+         ;;
+         ;; Set E-Mail Address and pop3 movemail type.
+         (setq i (string-to-int num-of-address))
+         (setq address nil)
+         (while (> i 0)
+           (setq address
+                 (append address
+                         (list
+                          (list
+                           (concat "po:"
+                                   (read-from-minibuffer
+                                    "Email address (user@mailhost): "))
+                           (completing-read
+                            "Authentification Method (TAB to completion): "
+                            '(("pass" 1) ("apop" 2)) nil t nil)))))
+           (setq i (- i 1)))
+         
+         ;; Replace "hoge" -> 'hoge
+         (mapcar
+          (lambda (x)
+            (if (string-equal (nth 1 x) "pass")
+                (setcar (cdr x) 'pass)
+              (setcar (cdr x) 'apop)))
+          address)
+         (setq pop3-fma-spool-file-alist address)
+         
+         ;; Set movemail type.
+         (let ((movemail-type
+                (completing-read
+                 "Select movemail type for retreave mail (TAB to completion): "
+                 '(("exe" 1) ("lisp" 2))
+                 nil t nil))
+               )
+           (if (string-equal movemail-type "exe")
+               (let ((options
+                      (read-from-minibuffer "movemail options: ")))
+                 (setq pop3-fma-movemail-arguments (split-string options "[\t ]+"))))
+           (if (string-equal movemail-type "exe")
+               (setq pop3-fma-movemail-type 'exe)
+             (setq pop3-fma-movemail-type 'lisp))))
+       
+       ;; Write to setting file.
+       (setq tmp-buffer (get-buffer-create "* Setting"))
+       (set-buffer "* Setting")
+       (erase-buffer)
+       (insert ";;\n");
+       (insert ";; This file is created by gnus-ofsetup.el\n")
+       (insert ";; Creation date : ")
+       (insert (current-time-string))
+       (insert "\n")
+       (insert ";;\n")
+
+       ;; write Basic setting
+       (insert "(setq gnus-offline-news-fetch-method '")
+       (insert (prin1-to-string gnus-offline-news-fetch-method))
+       (insert ")\n")
+       (insert "(setq gnus-offline-mail-fetch-method '")
+       (insert (prin1-to-string gnus-offline-mail-fetch-method))
+       (insert ")\n")
+       (insert "(setq gnus-offline-use-miee ")
+       (insert (prin1-to-string gnus-offline-use-miee))
+       (insert ")\n")
+       (insert "(setq gnus-offline-dialup-program ")
+       (insert (prin1-to-string gnus-offline-dialup-program))
+       (insert ")\n")
+
+       ;; write dialup/hangup program and options.
+       (if (stringp gnus-offline-dialup-program)
+           (progn
+             (insert "(setq gnus-offline-dialup-program-arguments '")
+             (insert (prin1-to-string gnus-offline-dialup-program-arguments))
+             (insert ")\n")))
+       (insert "(setq gnus-offline-hangup-program ")
+       (insert (prin1-to-string gnus-offline-hangup-program))
+       (insert ")\n")
+       (if (stringp gnus-offline-hangup-program)
+           (progn
+             (insert "(setq gnus-offline-hangup-program-arguments '")
+             (insert (prin1-to-string gnus-offline-hangup-program-arguments))
+             (insert ")\n")))
+
+       ;; write setting about MIEE.
+       (if gnus-offline-use-miee
+           (progn
+             (insert "(setq gnus-offline-mail-spool-directory ")
+             (insert (prin1-to-string gnus-offline-mail-spool-directory))
+             (insert ")\n")
+             (insert "(setq gnus-offline-news-spool-directory ")
+             (insert (prin1-to-string gnus-offline-news-spool-directory))
+             (insert ")\n")
+             (insert "(setq sendmail-to-spool-directory gnus-offline-mail-spool-directory)\n")
+             (insert "(setq news-spool-request-post-directory gnus-offline-news-spool-directory)\n")
+             (insert "(load \"miee\")\n")
+             (insert "(setq message-send-news-function '")
+             (insert (prin1-to-string message-send-news-function))
+             (insert ")\n")))
+
+       ;; write setting about nnspool and gnus-agent.
+       (if (equal gnus-offline-news-fetch-method 'nnspool)
+           (insert "(message-offline-state)\n")
+         (insert "(setq gnus-agent-directory ")
+         (insert (prin1-to-string gnus-agent-directory))
+         (insert ")\n"))
+
+       ;; write setting about queue type -- MIEE or nnagent.
+       (insert "(setq gnus-offline-drafts-queue-type '")
+       (insert (prin1-to-string gnus-offline-drafts-queue-type))
+       (insert ")\n")
+       (insert "(setq gnus-offline-MTA-type '")
+       (insert (prin1-to-string gnus-offline-MTA-type))
+       (insert ")\n")
+
+       ;; Offline setting for gnus-nntp-*
+       (insert "(setq gnus-nntp-service nil)\n")
+       (insert "(setq gnus-nntp-server nil)\n")
+       (insert "(setq nnmail-spool-file nil)\n")
+
+       ;; Write setting about hooks.
+       (insert "(add-hook 'gnus-group-mode-hook 'gnus-offline-processed-by-timer t)\n")
+       (insert "(add-hook 'gnus-group-mode-hook 'gnus-offline-error-check t)\n")
+       (insert "(add-hook 'gnus-after-getting-new-news-hook 'gnus-offline-after-get-new-news)\n")
+       (insert "(add-hook 'gnus-after-getting-news-hook 'gnus-offline-after-get-new-news)\n")
+       (if (eq gnus-offline-news-fetch-method 'nnspool)
+           (insert "(add-hook 'after-getting-news-hook 'gnus-offline-nnspool-hangup-line)\n"))
+       (insert "(add-hook 'message-send-hook 'gnus-offline-message-add-header)\n")
+       (insert "(autoload 'gnus-offline-setup \"gnus-offline\")\n")
+       (insert "(add-hook 'gnus-load-hook 'gnus-offline-setup)\n")
+
+       ;; Write setting about pop3-fma.
+       (insert "(require 'pop3-fma)\n")
+       (insert "(add-hook 'message-send-hook 'pop3-fma-message-add-header)\n")
+       (insert "(setq pop3-fma-spool-file-alist '")
+       (insert (prin1-to-string pop3-fma-spool-file-alist))
+       (insert ")\n")
+       (insert "(setq pop3-fma-movemail-type '")
+       (insert (prin1-to-string pop3-fma-movemail-type))
+       (insert ")\n")
+       (if (eq pop3-fma-movemail-type 'exe)
+           (progn
+             (insert "(setq pop3-fma-movemail-arguments '")
+             (insert (prin1-to-string pop3-fma-movemail-arguments))
+             (insert ")\n")))
+       (write-region (point-min) (point-max) gnus-offline-setting-file)
+       (kill-buffer "* Setting"))
+    )
+  (load gnus-offline-setting-file))
+;; gnus-ofsetup.el Ends here.
index 1fd1f06..a3b5418 100644 (file)
@@ -117,7 +117,7 @@ Some people may want to add \"unknown\" to this list."
   :type '(repeat string)
   :group 'picons)
 
-(defcustom gnus-picons-display-article-move-p nil
+(defcustom gnus-picons-display-article-move-p t
   "*Whether to move point to first empty line when displaying picons.
 This has only an effect if `gnus-picons-display-where' has value `article'."
   :type 'boolean
@@ -145,14 +145,9 @@ please tell me so that we can list it."
   :group 'picons)
 
 (defface gnus-picons-xbm-face '((t (:foreground "black" :background "white")))
-  "Face to show xbm picons in."
+  "Face to show X face"
   :group 'picons)
 
-(defcustom gnus-picons-setup-hook nil
-  "Hook run in Picons buffers."
-  :group 'picons
-  :type 'hook)
-
 ;;; Internal variables:
 
 (defvar gnus-picons-processes-alist nil
@@ -189,9 +184,9 @@ arguments necessary for the job.")
 
 (defun gnus-get-buffer-name (variable)
   "Returns the buffer name associated with the contents of a variable."
-  (let ((buf (gnus-get-buffer-create
-             (gnus-window-to-buffer-helper
-              (cdr (assq variable gnus-window-to-buffer))))))
+  (let ((buf (gnus-get-buffer-create (gnus-window-to-buffer-helper
+                                (cdr 
+                                 (assq variable gnus-window-to-buffer))))))
     (and buf
         (buffer-name buf))))
 
@@ -208,8 +203,8 @@ arguments necessary for the job.")
 
 (defun gnus-picons-kill-buffer ()
   (let ((buf (get-buffer (gnus-picons-buffer-name))))
-    (when (buffer-live-p buf)
-      (kill-buffer buf))))
+    (if (buffer-live-p buf)
+       (kill-buffer buf))))
 
 (defun gnus-picons-setup-buffer ()
   (let ((name (gnus-picons-buffer-name)))
@@ -219,7 +214,6 @@ arguments necessary for the job.")
        (set-buffer (gnus-get-buffer-create name))
        (buffer-disable-undo)
        (setq buffer-read-only t)
-       (run-hooks 'gnus-picons-setup-hook)
        (add-hook 'gnus-summary-prepare-exit-hook 'gnus-picons-kill-buffer))
       (current-buffer))))
 
@@ -261,8 +255,8 @@ arguments necessary for the job.")
     (setq gnus-picons-processes-alist
          (delq process gnus-picons-processes-alist))
     (gnus-picons-set-buffer)
-    (gnus-picons-make-annotation
-     (make-glyph gnus-picons-x-face-file-name) nil 'text)
+    (gnus-picons-make-annotation (make-glyph gnus-picons-x-face-file-name)
+                                nil 'text)
     (when (file-exists-p gnus-picons-x-face-file-name)
       (delete-file gnus-picons-x-face-file-name))))
 
@@ -285,8 +279,8 @@ To use:  (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
           nil 'text nil nil nil t)))
     ;; convert the x-face header to a .xbm file
     (let* ((process-connection-type nil)
-          (process (start-process-shell-command
-                    "gnus-x-face" nil gnus-picons-convert-x-face)))
+          (process (start-process-shell-command "gnus-x-face" nil 
+                                                gnus-picons-convert-x-face)))
       (push process gnus-picons-processes-alist)
       (process-kill-without-query process)
       (set-process-sentinel process 'gnus-picons-x-face-sentinel)
@@ -314,15 +308,6 @@ To use:  (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
                                                "."))))
          (gnus-picons-prepare-for-annotations)
          (gnus-group-display-picons)
-         (unless gnus-picons-display-article-move-p
-           (save-restriction
-             (let ((buffer-read-only nil))
-               (when (re-search-forward "^From: " nil t)
-                 (narrow-to-region (point) (gnus-point-at-eol))
-                 (when (search-forward from nil t)
-                   (gnus-put-text-property
-                    (match-beginning 0) (match-end 0)
-                    'invisible t))))))
          (if (null gnus-picons-piconsearch-url)
              (progn
                (gnus-picons-display-pairs (gnus-picons-lookup-pairs
@@ -349,42 +334,27 @@ To use:  (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
             (or (null gnus-picons-group-excluded-groups)
                 (not (string-match gnus-picons-group-excluded-groups
                                    gnus-newsgroup-name))))
-    (let* ((newsgroups (mail-fetch-field "newsgroups"))
-          (groups
-           (if (or gnus-picons-display-article-move-p
-                   (not newsgroups))(mail-fetch-field "newsgroups")
-               (list (gnus-group-real-name gnus-newsgroup-name))
-             (split-string newsgroups ",")))
-          group)
-      (save-excursion
-       (gnus-picons-prepare-for-annotations)
-       (while (setq group (pop groups))
-         (unless gnus-picons-display-article-move-p
-           (save-restriction
-             (let ((buffer-read-only nil))
-               (goto-char (point-min))
-               (when (re-search-forward "^Newsgroups:" nil t)
-                 (narrow-to-region (point) (gnus-point-at-eol))
-                 (when (search-forward group nil t)
-                   (gnus-put-text-property
-                    (match-beginning 0) (match-end 0)
-                    'invisible t))))))
-         (if (null gnus-picons-piconsearch-url)
-             (gnus-picons-display-pairs
-              (gnus-picons-lookup-pairs
-               (reverse (split-string group "\\."))
-               gnus-picons-news-directories)
-              t ".")
-           (push (list 'gnus-group-annotations 'search nil
-                       (split-string group "\\.")
-                       (if (listp gnus-picons-news-directories)
-                           gnus-picons-news-directories
-                         (list gnus-picons-news-directories))
-                       nil)
-                 gnus-picons-jobs-alist)
-           (gnus-picons-next-job))
-
-         (add-hook 'gnus-summary-exit-hook 'gnus-picons-remove-all))))))
+    (save-excursion
+      (gnus-picons-prepare-for-annotations)
+      (if (null gnus-picons-piconsearch-url)
+         (gnus-picons-display-pairs
+                (gnus-picons-lookup-pairs
+                 (reverse (message-tokenize-header
+                           (gnus-group-real-name gnus-newsgroup-name) 
+                           "."))
+                 gnus-picons-news-directories)
+                t ".")
+       (push (list 'gnus-group-annotations 'search nil
+                   (message-tokenize-header 
+                    (gnus-group-real-name gnus-newsgroup-name) ".")
+                   (if (listp gnus-picons-news-directories)
+                       gnus-picons-news-directories
+                     (list gnus-picons-news-directories))
+                   nil)
+             gnus-picons-jobs-alist)
+       (gnus-picons-next-job))
+
+      (add-hook 'gnus-summary-exit-hook 'gnus-picons-remove-all))))
 
 (defun gnus-picons-lookup-internal (addrs dir)
   (setq dir (expand-file-name dir gnus-picons-database))
@@ -446,8 +416,7 @@ none, and whose CDR is the corresponding element of DOMAINS."
   "Display picons in list PAIRS."
   (let ((domain-p (and gnus-picons-display-as-address dot-p))
        pair picons)
-    (when (and bar-p domain-p right-p
-              gnus-picons-display-article-move-p)
+    (when (and bar-p domain-p right-p)
       (setq picons (gnus-picons-display-glyph
                    (let ((gnus-picons-file-suffixes '("xbm")))
                      (gnus-picons-try-face
@@ -482,7 +451,6 @@ none, and whose CDR is the corresponding element of DOMAINS."
     glyph))
 
 (defun gnus-picons-display-glyph (glyph &optional part rightp)
-  (set-glyph-baseline glyph 70)
   (let ((new (gnus-picons-make-annotation
              glyph (point) 'text nil nil nil rightp)))
     (when (and part gnus-picons-display-as-address)
@@ -520,10 +488,8 @@ none, and whose CDR is the corresponding element of DOMAINS."
 
 ;;; Query a remote DB.  This requires some stuff from w3 !
 
-(eval-and-compile
-  (ignore-errors
-    (require 'url)
-    (require 'w3-forms)))
+(require 'url)
+(require 'w3-forms)
 
 (defun gnus-picons-url-retrieve (url fn arg)
   (let ((old-asynch (default-value 'url-be-asynchronous))
@@ -618,6 +584,7 @@ none, and whose CDR is the corresponding element of DOMAINS."
 ;;; picon network display functions :
 
 (defun gnus-picons-network-display-internal (sym-ann glyph part right-p)
+  (gnus-picons-set-buffer)
   (gnus-picons-display-picon-or-name glyph part right-p)
   (gnus-picons-next-job-internal))
 
@@ -738,31 +705,29 @@ none, and whose CDR is the corresponding element of DOMAINS."
 ;;; Main jobs dispatcher function
 
 (defun gnus-picons-next-job-internal ()
-  (when (setq gnus-picons-job-already-running (pop gnus-picons-jobs-alist))
-    (let* ((job gnus-picons-job-already-running)
-          (sym-ann (pop job))
-          (tag (pop job)))
-      (when tag
-       (cond
-        ((stringp tag);; (SYM-ANN "..." RIGHT-P)
-         (gnus-picons-network-display-internal
-          sym-ann nil tag (pop job)))
-        ((eq 'bar tag)
-         (gnus-picons-network-display-internal
-          sym-ann
-          (let ((gnus-picons-file-suffixes '("xbm")))
-            (gnus-picons-try-face
-             gnus-xmas-glyph-directory "bar."))
-          nil (pop job)))
-        ((eq 'search tag);; (SYM-ANN 'search USER ADDRS DBS RIGHT-P)
-         (gnus-picons-network-search
-          (pop job) (pop job) (pop job) sym-ann (pop job)))
-        ((eq 'picon tag);; (SYM-ANN 'picon URL PART RIGHT-P)
-         (gnus-picons-network-display
-          (pop job) (pop job) sym-ann (pop job)))
-        (t
-         (setq gnus-picons-job-already-running nil)
-         (error "Unknown picon job tag %s" tag)))))))
+  (if (setq gnus-picons-job-already-running (pop gnus-picons-jobs-alist))
+      (let* ((job gnus-picons-job-already-running)
+            (sym-ann (pop job))
+            (tag (pop job)))
+       (if tag
+           (cond ((stringp tag);; (SYM-ANN "..." RIGHT-P)
+                  (gnus-picons-network-display-internal sym-ann nil tag
+                                                        (pop job)))
+                 ((eq 'bar tag)
+                  (gnus-picons-network-display-internal
+                   sym-ann
+                   (let ((gnus-picons-file-suffixes '("xbm")))
+                     (gnus-picons-try-face
+                      gnus-xmas-glyph-directory "bar."))
+                   nil (pop job)))
+                 ((eq 'search tag);; (SYM-ANN 'search USER ADDRS DBS RIGHT-P)
+                  (gnus-picons-network-search
+                   (pop job) (pop job) (pop job) sym-ann (pop job)))
+                 ((eq 'picon tag);; (SYM-ANN 'picon URL PART RIGHT-P)
+                  (gnus-picons-network-display
+                   (pop job) (pop job) sym-ann (pop job)))
+                 (t (setq gnus-picons-job-already-running nil)
+                    (error "Unknown picon job tag %s" tag)))))))
 
 (defun gnus-picons-next-job ()
   "Start processing the job queue if it is not in progress."
index e98762e..da62e48 100644 (file)
@@ -702,7 +702,7 @@ Two predefined functions are available:
          (while (progn
                   (forward-line -1)
                   (forward-char col)
-                  (= (following-char) ? ))
+                  (eq (char-after) ? ))
            (delete-char 1)
            (insert (caddr gnus-tree-parent-child-edges)))
          (goto-char beg)))
index c429950..76cc2a3 100644 (file)
@@ -435,20 +435,20 @@ of the last successful match.")
 
 (defconst gnus-header-index
   ;; Name to index alist.
-  '(("number" 0 gnus-score-integer)
-    ("subject" 1 gnus-score-string)
-    ("from" 2 gnus-score-string)
-    ("date" 3 gnus-score-date)
-    ("message-id" 4 gnus-score-string)
-    ("references" 5 gnus-score-string)
-    ("chars" 6 gnus-score-integer)
-    ("lines" 7 gnus-score-integer)
-    ("xref" 8 gnus-score-string)
+  '(("number" 1 gnus-score-integer)
+    ("subject" 8 gnus-score-string)
+    ("from" 9 gnus-score-string)
+    ("date" 10 gnus-score-date)
+    ("message-id" 11 gnus-score-string)
+    ("references" 12 gnus-score-string)
+    ("chars" 13 gnus-score-integer)
+    ("lines" 14 gnus-score-integer)
+    ("xref" 15 gnus-score-string)
     ("head" -1 gnus-score-body)
     ("body" -1 gnus-score-body)
     ("all" -1 gnus-score-body)
-    ("followup" 2 gnus-score-followup)
-    ("thread" 5 gnus-score-thread)))
+    ("followup" 9 gnus-score-followup)
+    ("thread" 12 gnus-score-thread)))
 
 ;;; Summary mode score maps.
 
index 3d97829..1fdd83f 100644 (file)
@@ -380,12 +380,12 @@ though the two last may be nil if they are missing."
          (push (vector (gnus-soup-field)
                        (gnus-soup-field)
                        (gnus-soup-field)
-                       (and (eq (preceding-char) ?\t)
+                       (and (eq (char-before) ?\t)
                             (gnus-soup-field))
-                       (and (eq (preceding-char) ?\t)
+                       (and (eq (char-before) ?\t)
                             (string-to-int (gnus-soup-field))))
                areas)
-         (when (eq (preceding-char) ?\t)
+         (when (eq (char-before) ?\t)
            (beginning-of-line 2)))
        (kill-buffer (current-buffer))))
     areas))
@@ -403,7 +403,7 @@ file.  The vector contain three strings, [prefix name encoding]."
        (push (vector (gnus-soup-field) (gnus-soup-field)
                      (gnus-soup-field))
              replies)
-       (when (eq (preceding-char) ?\t)
+       (when (eq (char-before) ?\t)
          (beginning-of-line 2)))
       (kill-buffer (current-buffer)))
     replies))
index 2a1e355..2b06fa8 100644 (file)
   ;; See whether all the stored info needs to be flushed.
   (when (or force
            (not (equal emacs-version
-                       (cdr (assq 'version gnus-format-specs)))))
+                       (cdr (assq 'version gnus-format-specs))))
+           (not (equal gnus-version
+                       (cdr (assq 'gnus-version gnus-format-specs)))))
+    (message "%s" "Force update format specs.")
     (setq gnus-format-specs nil))
 
   ;; Go through all the formats and see whether they need updating.
          (set (intern (format "gnus-%s-line-format-spec" type)) val)))))
 
   (unless (assq 'version gnus-format-specs)
-    (push (cons 'version emacs-version) gnus-format-specs)))
+    (push (cons 'version emacs-version) gnus-format-specs))
+  (unless (assq 'gnus-version gnus-format-specs)
+    (push (cons 'gnus-version gnus-version) gnus-format-specs)))
 
 (defvar gnus-mouse-face-0 'highlight)
 (defvar gnus-mouse-face-1 'highlight)
             (t
              nil)))
        ;; User-defined spec -- find the spec name.
-       (when (= (setq spec (following-char)) ?u)
+       (when (eq (setq spec (char-after)) ?u)
          (forward-char 1)
-         (setq user-defined (following-char)))
+         (setq user-defined (char-after)))
        (forward-char 1)
        (delete-region spec-beg (point))
 
index 21abf17..955a258 100644 (file)
@@ -706,7 +706,7 @@ buffer.
     (save-excursion
       (beginning-of-line)
       ;; If this group it killed, then we want to subscribe it.
-      (when (= (following-char) ?K)
+      (when (eq (char-after) ?K)
        (setq sub t))
       (setq group (gnus-browse-group-name))
       (when (and sub
index 1237936..9a5aa09 100644 (file)
@@ -1772,13 +1772,13 @@ newsgroup."
                       (progn
                         (skip-chars-forward " \t")
                         (not
-                         (or (= (following-char) ?=)
-                             (= (following-char) ?x)
-                             (= (following-char) ?j)))))
+                         (or (eq (char-after) ?=)
+                             (eq (char-after) ?x)
+                             (eq (char-after) ?j)))))
                  (progn
                    (set group (cons min max))
                    ;; if group is moderated, stick in moderation table
-                   (when (= (following-char) ?m)
+                   (when (eq (char-after) ?m)
                      (unless gnus-moderated-hashtb
                        (setq gnus-moderated-hashtb (gnus-make-hashtable)))
                      (gnus-sethash (symbol-name group) t
@@ -1813,7 +1813,7 @@ newsgroup."
     ;; Let the Gnus agent save the active file.
     (when (and gnus-agent real-active)
       (gnus-agent-save-groups method))
-    
+
     (goto-char (point-min))
     ;; We split this into to separate loops, one with the prefix
     ;; and one without to speed the reading up somewhat.
@@ -1836,7 +1836,7 @@ newsgroup."
       (let (min max group)
        (while (not (eobp))
          (condition-case ()
-             (when (= (following-char) ?2)
+             (when (eq (char-after) ?2)
                (read cur) (read cur)
                (setq min (read cur)
                      max (read cur))
@@ -2056,7 +2056,7 @@ If FORCE is non-nil, the .newsrc file is read."
        (unless (boundp symbol)
          (set symbol nil))
        ;; It was a group name.
-       (setq subscribed (= (following-char) ?:)
+       (setq subscribed (eq (char-after) ?:)
              group (symbol-name symbol)
              reads nil)
        (if (eolp)
@@ -2080,7 +2080,7 @@ If FORCE is non-nil, the .newsrc file is read."
                           (read buf)))
              (widen)
              ;; If the next character is a dash, then this is a range.
-             (if (= (following-char) ?-)
+             (if (eq (char-after) ?-)
                  (progn
                    ;; We read the upper bound of the range.
                    (forward-char 1)
@@ -2102,8 +2102,8 @@ If FORCE is non-nil, the .newsrc file is read."
                (push num1 reads))
              ;; If the next char in ?\n, then we have reached the end
              ;; of the line and return nil.
-             (/= (following-char) ?\n))
-            ((= (following-char) ?\n)
+             (not (eq (char-after) ?\n)))
+            ((eq (char-after) ?\n)
              ;; End of line, so we end.
              nil)
             (t
index c78156c..7466be1 100644 (file)
@@ -666,22 +666,6 @@ is not run if `gnus-visual' is nil."
   :group 'gnus-summary-visual
   :type 'hook)
 
-(defcustom gnus-structured-field-decoder
-  #'eword-decode-and-unfold-structured-field-body
-  "Function to decode non-ASCII characters in structured field for summary."
-  :group 'gnus-various
-  :type 'function)
-
-(defcustom gnus-unstructured-field-decoder
-  (function
-   (lambda (string)
-     (eword-decode-unstructured-field-body
-      (std11-unfold-string string))
-     ))
-  "Function to decode non-ASCII characters in unstructured field for summary."
-  :group 'gnus-various
-  :type 'function)
-
 (defcustom gnus-parse-headers-hook
   '(gnus-set-summary-default-charset)
   "*A hook called before parsing the headers."
@@ -821,9 +805,10 @@ which it may alter in any way.")
     (?S ,(macroexpand '(mail-header-subject gnus-tmp-header)) ?s)
     (?s gnus-tmp-subject-or-nil ?s)
     (?n gnus-tmp-name ?s)
-    (?A (car (cdr (funcall gnus-extract-address-components gnus-tmp-from)))
-       ?s)
-    (?a (or (car (funcall gnus-extract-address-components gnus-tmp-from))
+    (?A (std11-address-string
+        (car (mime-read-field 'From gnus-tmp-header))) ?s)
+    (?a (or (std11-full-name-string
+            (car (mime-read-field 'From gnus-tmp-header)))
            gnus-tmp-from) ?s)
     (?F gnus-tmp-from ?s)
     (?x ,(macroexpand '(mail-header-xref gnus-tmp-header)) ?s)
@@ -2237,7 +2222,7 @@ marks of articles."
     (while (setq point (pop config))
       (when (and (< point (point-max))
                 (goto-char point)
-                (= (following-char) ?\n))
+                (eq (char-after) ?\n))
        (subst-char-in-region point (1+ point) ?\n ?\r)))))
 
 ;; Various summary mode internalish functions.
@@ -2371,7 +2356,8 @@ marks of articles."
        (let ((gnus-summary-line-format-spec spec)
              (gnus-newsgroup-downloadable '((0 . t))))
          (gnus-summary-insert-line
-          [0 "" "" "" "" "" 0 0 ""]  0 nil 128 t nil "" nil 1)
+          (make-full-mail-header 0 "" "" "" "" "" 0 0 "")
+          0 nil 128 t nil "" nil 1)
          (goto-char (point-min))
          (setq pos (list (cons 'unread (and (search-forward "\200" nil t)
                                             (- (point) 2)))))
@@ -3041,7 +3027,7 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
 
 (defmacro gnus-nov-read-integer ()
   '(prog1
-       (if (= (following-char) ?\t)
+       (if (eq (char-after) ?\t)
           0
         (let ((num (ignore-errors (read buffer))))
           (if (numberp num) num 0)))
@@ -3071,10 +3057,8 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
          (setq header
                (make-full-mail-header
                 number                 ; number
-                (funcall
-                 gnus-unstructured-field-decoder (gnus-nov-field)) ; subject
-                (funcall
-                 gnus-structured-field-decoder (gnus-nov-field)) ; from
+                (gnus-nov-field)       ; subject
+                (gnus-nov-field)       ; from
                 (gnus-nov-field)       ; date
                 (or (gnus-nov-field)
                     (nnheader-generate-fake-message-id)) ; id
@@ -3470,14 +3454,15 @@ If LINE, insert the rebuilt thread starting on line LINE."
 (defsubst gnus-article-sort-by-author (h1 h2)
   "Sort articles by root author."
   (string-lessp
-   (let ((extract (funcall
-                  gnus-extract-address-components
-                  (mail-header-from h1))))
-     (or (car extract) (cadr extract) ""))
-   (let ((extract (funcall
-                  gnus-extract-address-components
-                  (mail-header-from h2))))
-     (or (car extract) (cadr extract) ""))))
+   (let ((addr (mime-read-field 'From h1)))
+     (or (std11-full-name-string addr)
+        (std11-address-string addr)
+        ""))
+   (let ((addr (mime-read-field 'From h2)))
+     (or (std11-full-name-string addr)
+        (std11-address-string addr)
+        ""))
+   ))
 
 (defun gnus-thread-sort-by-author (h1 h2)
   "Sort threads by root author."
@@ -4388,7 +4373,7 @@ The resulting hash table is returned, or nil if no Xrefs were found."
       (subst-char-in-region (point-min) (point-max) ?\t ?  t)
       (gnus-run-hooks 'gnus-parse-headers-hook)
       (let ((case-fold-search t)
-           in-reply-to header p lines chars)
+           in-reply-to header p lines chars ctype)
        (goto-char (point-min))
        ;; Search to the beginning of the next header.  Error messages
        ;; do not begin with 2 or 3.
@@ -4403,7 +4388,7 @@ The resulting hash table is returned, or nil if no Xrefs were found."
          ;; doesn't always go hand in hand.
          (setq
           header
-          (vector
+          (make-full-mail-header
            ;; Number.
            (prog1
                (read cur)
@@ -4417,21 +4402,20 @@ The resulting hash table is returned, or nil if no Xrefs were found."
            (progn
              (goto-char p)
              (if (search-forward "\nsubject: " nil t)
-                 (funcall
-                  gnus-unstructured-field-decoder (nnheader-header-value))
+                 (buffer-substring (match-end 0) (std11-field-end))
                "(none)"))
            ;; From.
            (progn
              (goto-char p)
              (if (search-forward "\nfrom: " nil t)
-                 (funcall
-                  gnus-structured-field-decoder (nnheader-header-value))
+                 (buffer-substring (match-end 0) (std11-field-end))
                "(nobody)"))
            ;; Date.
            (progn
              (goto-char p)
              (if (search-forward "\ndate: " nil t)
-                 (nnheader-header-value) ""))
+                 (buffer-substring (match-end 0) (std11-field-end))
+               ""))
            ;; Message-ID.
            (progn
              (goto-char p)
@@ -4451,11 +4435,10 @@ The resulting hash table is returned, or nil if no Xrefs were found."
                  (progn
                    (setq end (point))
                    (prog1
-                       (nnheader-header-value)
+                       (buffer-substring (match-end 0) (std11-field-end))
                      (setq ref
                            (buffer-substring
                             (progn
-                              (end-of-line)
                               (search-backward ">" end t)
                               (1+ (point)))
                             (progn
@@ -4465,7 +4448,9 @@ The resulting hash table is returned, or nil if no Xrefs were found."
                ;; were no references and the in-reply-to header looks
                ;; promising.
                (if (and (search-forward "\nin-reply-to: " nil t)
-                        (setq in-reply-to (nnheader-header-value))
+                        (setq in-reply-to
+                              (buffer-substring (match-end 0)
+                                                (std11-field-end)))
                         (string-match "<[^>]+>" in-reply-to))
                    (let (ref2)
                      (setq ref (substring in-reply-to (match-beginning 0)
@@ -4495,7 +4480,13 @@ The resulting hash table is returned, or nil if no Xrefs were found."
            (progn
              (goto-char p)
              (and (search-forward "\nxref: " nil t)
-                  (nnheader-header-value)))))
+                  (buffer-substring (match-end 0) (std11-field-end))))))
+         (goto-char p)
+         (if (and (search-forward "\ncontent-type: " nil t)
+                  (setq ctype
+                        (buffer-substring (match-end 0) (std11-field-end))))
+             (mime-entity-set-content-type-internal
+              header (mime-parse-Content-Type ctype)))
          (when (equal id ref)
            (setq ref nil))
 
@@ -4579,7 +4570,7 @@ This is meant to be called in `gnus-article-internal-prepare-hook'."
          (save-restriction
            (nnheader-narrow-to-headers)
            (goto-char (point-min))
-           (when (or (and (eq (downcase (following-char)) ?x)
+           (when (or (and (eq (downcase (char-after)) ?x)
                           (looking-at "Xref:"))
                      (search-forward "\nXref:" nil t))
              (goto-char (1+ (match-end 0)))
@@ -5124,12 +5115,12 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil."
          (gnus-kill-buffer buf)))
       (setq gnus-current-select-method gnus-select-method)
       (pop-to-buffer gnus-group-buffer)
-      ;; Clear the current group name.
       (if (not quit-config)
          (progn
            (goto-char group-point)
            (gnus-configure-windows 'group 'force))
        (gnus-handle-ephemeral-exit quit-config))
+      ;; Clear the current group name.
       (unless quit-config
        (setq gnus-newsgroup-name nil)))))
 
@@ -7787,21 +7778,21 @@ marked."
 
 (defun gnus-summary-update-mark (mark type)
   (let ((forward (cdr (assq type gnus-summary-mark-positions)))
-        (buffer-read-only nil))
+       (buffer-read-only nil))
     (re-search-backward "[\n\r]" (gnus-point-at-bol) 'move-to-limit)
     (when (looking-at "\r")
       (incf forward))
     (when (and forward
-               (<= (+ forward (point)) (point-max)))
+              (<= (+ forward (point)) (point-max)))
       ;; Go to the right position on the line.
       (goto-char (+ forward (point)))
       ;; Replace the old mark with the new mark.
-      (subst-char-in-region (point) (1+ (point)) (following-char) mark)
+      (subst-char-in-region (point) (1+ (point)) (char-after) mark)
       ;; Optionally update the marks by some user rule.
       (when (eq type 'unread)
-        (gnus-data-set-mark
-         (gnus-data-find (gnus-summary-article-number)) mark)
-        (gnus-summary-update-line (eq mark gnus-unread-mark))))))
+       (gnus-data-set-mark
+        (gnus-data-find (gnus-summary-article-number)) mark)
+       (gnus-summary-update-line (eq mark gnus-unread-mark))))))
 
 (defun gnus-mark-article-as-read (article &optional mark)
   "Enter ARTICLE in the pertinent lists and remove it from others."
index cba9137..6c3400e 100644 (file)
@@ -2,6 +2,7 @@
 ;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
+;;         Katsumi Yamaoka <yamaoka@jpl.org>
 ;; Keywords: mail, news, MIME
 
 ;; This file is part of GNU Emacs.
index 41d5116..26245b3 100644 (file)
@@ -2,6 +2,7 @@
 ;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
+;;         Katsumi Yamaoka <yamaoka@jpl.org>
 ;; Keywords: news
 
 ;; This file is part of GNU Emacs.
@@ -56,7 +57,7 @@ automatically."
     (september "#bf9900" "#ffcc00"))
   "Color alist used for the Gnus logo.")
 
-(defcustom gnus-xmas-logo-color-style 'moss
+(defcustom gnus-xmas-logo-color-style 'sky
   "*Color styles used for the Gnus logo."
   :type '(choice (const flame) (const pine) (const moss)
                 (const irish) (const sky) (const tin)
@@ -668,8 +669,13 @@ the resulting string may be narrower than END-COLUMN.
     (goto-char (point-min))
     (let* ((pheight (+ 20 (count-lines (point-min) (point-max))))
           (wheight (window-height))
-          (rest (- wheight pheight)))
-      (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n))))
+          (rest (1- (- wheight pheight))))
+      (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n)))
+    (goto-char (point-min))
+    (insert-char ?\ ;;;
+                (max 0 (/ (- (window-width) (length gnus-version)) 2)))
+    (insert gnus-version "\n")
+    (put-text-property (point-min) (1- (point)) 'face 'gnus-splash-face))
    (t
     (insert
      (format "              %s
@@ -700,8 +706,13 @@ the resulting string may be narrower than END-COLUMN.
     (forward-line 1)
     (let* ((pheight (count-lines (point-min) (point-max)))
           (wheight (window-height))
-          (rest (- wheight pheight)))
+          (rest (1- (- wheight pheight))))
       (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n)))
+    (save-excursion
+      (goto-char (point-min))
+      (insert-char ? ;;;
+                  (max 0 (/ (- (window-width) (length gnus-version)) 2)))
+      (insert gnus-version "\n"))
     ;; Paint it.
     (put-text-property (point-min) (point-max) 'face 'gnus-splash-face)))
   (setq modeline-buffer-identification
index 2157444..e36f1e6 100644 (file)
@@ -253,11 +253,11 @@ is restarted, and sometimes reloaded."
 (defconst gnus-product-name "Semi-gnus"
   "Product name of this version of gnus.")
 
-(defconst gnus-version-number "6.9.2"
+(defconst gnus-version-number "6.10.1"
   "Version number for this version of gnus.")
 
 (defconst gnus-version
-  (format "%s %s (based on Gnus 5.6.45; for SEMI 1.11, FLIM 1.12)"
+  (format "%s %s (based on Gnus 5.6.45; for SEMI 1.12, FLIM 1.12)"
           gnus-product-name gnus-version-number)
   "Version string for this version of gnus.")
 
@@ -642,10 +642,10 @@ be set in `.emacs' instead."
 (defface gnus-splash-face
   '((((class color)
       (background dark))
-     (:foreground "ForestGreen"))
+     (:foreground "#05deff"))
     (((class color)
       (background light))
-     (:foreground "ForestGreen"))
+     (:foreground "#049acc"))
     (t
      ()))
   "Level 1 newsgroup face.")
@@ -701,7 +701,7 @@ be set in `.emacs' instead."
           __
 
 "
-           ""))
+          ""))
   ;; And then hack it.
   (gnus-indent-rigidly (point-min) (point-max)
                       (/ (max (- (window-width) (or x 46)) 0) 2))
@@ -709,8 +709,13 @@ be set in `.emacs' instead."
   (forward-line 1)
   (let* ((pheight (count-lines (point-min) (point-max)))
         (wheight (window-height))
-        (rest (- wheight pheight)))
+        (rest (1- (- wheight pheight))))
     (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n)))
+  (save-excursion
+    (goto-char (point-min))
+    (insert-char ?\ ;;;
+                (max 0 (/ (- (window-width) (length gnus-version)) 2)))
+    (insert gnus-version "\n"))
   ;; Fontify some.
   (put-text-property (point-min) (point-max) 'face 'gnus-splash-face)
   (goto-char (point-min))
index 5e2b097..6eb5669 100644 (file)
@@ -60,7 +60,7 @@ that name."
        start end)
     (while (and (setq start (point))
                (> (skip-chars-forward "^\0- :") 0)
-               (= (following-char) ?:)
+               (eq (char-after) ?:)
                (setq end (point))
                (progn (forward-char)
                       (> (skip-chars-forward " \t") 0)))
index 82923d6..21576e3 100644 (file)
@@ -4,7 +4,8 @@
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;         Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-;;         Keiichi Suzuki <kei-suzu@mail.wbs.ne.jp>
+;;         Keiichi Suzuki   <kei-suzu@mail.wbs.ne.jp>
+;;         Katsumi Yamaoka  <yamaoka@jpl.org>
 ;; Keywords: mail, news, MIME
 
 ;; This file is part of GNU Emacs.
@@ -480,8 +481,7 @@ variable isn't used."
   :group 'message-headers
   :type 'boolean)
 
-(defcustom message-setup-hook
-  '(message-maybe-setup-default-charset turn-on-mime-edit)
+(defcustom message-setup-hook '(turn-on-mime-edit)
   "Normal hook, run each time a new outgoing message is initialized.
 The function `message-setup' runs this hook."
   :group 'message-various
@@ -602,8 +602,6 @@ If stringp, use this; if non-nil, use no host name (user name only)."
 
 (defvar message-reply-buffer nil)
 (defvar message-reply-headers nil)
-(defvar message-newsreader nil)
-(defvar message-mailer nil)
 (defvar message-sent-message-via nil)
 (defvar message-checksum nil)
 (defvar message-send-actions nil
@@ -1083,12 +1081,12 @@ The cdr of ech entry is a function for applying the face to a region.")
                               (not paren))))
                 (push (buffer-substring beg (point)) elems)
                 (setq beg (match-end 0)))
-               ((= (following-char) ?\")
+               ((eq (char-after) ?\")
                 (setq quoted (not quoted)))
-               ((and (= (following-char) ?\()
+               ((and (eq (char-after) ?\()
                      (not quoted))
                 (setq paren t))
-               ((and (= (following-char) ?\))
+               ((and (eq (char-after) ?\))
                      (not quoted))
                 (setq paren nil))))
        (nreverse elems)))))
@@ -1321,7 +1319,7 @@ Return the number of headers removed."
   (define-key message-mode-map "\t" 'message-tab)
 
   (define-key message-mode-map "\C-x\C-s" 'message-save-drafts)
-  (define-key message-mode-map "\C-xk" 'message-kill-buffer))
+  (define-key message-mode-map "\C-xk" 'message-mimic-kill-buffer))
 
 (easy-menu-define
  message-mode-menu message-mode-map "Message Menu."
@@ -1979,8 +1977,7 @@ The text will also be indented the normal way."
 (defun message-dont-send ()
   "Don't send the message you have been editing."
   (interactive)
-  (set-buffer-modified-p t)
-  (save-buffer)
+  (message-save-drafts)
   (let ((actions message-postpone-actions)
        (frame (selected-frame))
        (org-frame message-original-frame))
@@ -2146,11 +2143,56 @@ the user from the mailer."
        (eval (car actions)))))
     (pop actions)))
 
+(defsubst message-maybe-split-and-send-mail ()
+  "Split a message if necessary, and send it via mail.
+Returns nil if sending succeeded, returns any string if sending failed.
+This sub function is for exclusive use of `message-send-mail'."
+  (let ((mime-edit-split-ignored-field-regexp
+        mime-edit-split-ignored-field-regexp)
+       (case-fold-search t)
+       failure)
+    (while (string-match "Message-ID" mime-edit-split-ignored-field-regexp)
+      (setq mime-edit-split-ignored-field-regexp
+           (concat (substring mime-edit-split-ignored-field-regexp
+                              0 (match-beginning 0))
+                   "Hey_MIME-Edit,_there_is_an_inviolable_Message_ID"
+                   "_so_don't_rape_it!"
+                   (substring mime-edit-split-ignored-field-regexp
+                              (match-end 0)))))
+    (setq failure
+         (or
+          (catch 'message-sending-mail-failure
+            (mime-edit-maybe-split-and-send
+             (function
+              (lambda ()
+                (interactive)
+                (save-restriction
+                  (std11-narrow-to-header mail-header-separator)
+                  (goto-char (point-min))
+                  (when (re-search-forward "^Message-ID:" nil t)
+                    (delete-region (match-end 0) (std11-field-end))
+                    (insert " " (message-make-message-id))))
+                (condition-case err
+                    (funcall message-send-mail-function)
+                  (error
+                   (throw 'message-sending-mail-failure err))))))
+            nil)
+          (condition-case err
+              (progn
+                (funcall message-send-mail-function)
+                nil)
+            (error err))))
+    (when failure
+      (if (eq 'error (car failure))
+         (cadr failure)
+       (prin1-to-string failure)))))
+
 (defun message-send-mail (&optional arg)
   (require 'mail-utils)
   (let ((tembuf (message-generate-new-buffer-clone-locals " message temp"))
        (case-fold-search nil)
-       (news (message-news-p)))
+       (news (message-news-p))
+       failure)
     (save-restriction
       (message-narrow-to-headers)
       ;; Insert some headers.
@@ -2162,7 +2204,6 @@ the user from the mailer."
     (if (not (message-check-mail-syntax))
        (progn
          (message "")
-         ;;(message "Posting not performed")
          nil)
       (unwind-protect
          (save-excursion
@@ -2172,25 +2213,24 @@ the user from the mailer."
            ;; Remove some headers.
            (save-restriction
              (message-narrow-to-headers)
+             ;; Remove some headers.
              (message-remove-header message-ignored-mail-headers t))
            (goto-char (point-max))
            ;; require one newline at the end.
-           (or (= (preceding-char) ?\n)
+           (or (eq (char-before) ?\n)
                (insert ?\n))
            (when (and news
                       (or (message-fetch-field "cc")
                           (message-fetch-field "to")))
              (message-insert-courtesy-copy))
-           (mime-edit-maybe-split-and-send
-            (function
-             (lambda ()
-               (interactive)
-               (funcall message-send-mail-function)
-               )))
-           (funcall message-send-mail-function))
+           (setq failure (message-maybe-split-and-send-mail)))
        (kill-buffer tembuf))
       (set-buffer message-edit-buffer)
-      (push 'mail message-sent-message-via))))
+      (if failure
+         (progn
+           (message "Couldn't send message via mail: %s" failure)
+           nil)
+       (push 'mail message-sent-message-via)))))
 
 (defun message-send-mail-with-sendmail ()
   "Send off the prepared buffer with sendmail."
@@ -2317,143 +2357,64 @@ to find out how to use this."
     (mh-send-letter)))
 
 (defun message-send-mail-with-smtp ()
-  "Send the prepared message buffer with SMTP."
-  (require 'smtp)
-  (let ((errbuf (if mail-interactive
-                   (generate-new-buffer " smtp errors")
-                 0))
-       (case-fold-search nil)
-       resend-to-addresses
-       delimline)
-    (unwind-protect
-       (save-excursion
-         (goto-char (point-max))
-         ;; require one newline at the end.
-         (or (= (preceding-char) ?\n)
-             (insert ?\n))
-         ;; Change header-delimiter to be what sendmail expects.
-         (goto-char (point-min))
-         (re-search-forward
-          (concat "^" (regexp-quote mail-header-separator) "\n"))
-         (replace-match "\n")
-         (backward-char 1)
-         (setq delimline (point-marker))
-         (run-hooks 'message-send-mail-hook)
-         ;; (sendmail-synch-aliases)
-          ;; (if mail-aliases
-          ;;     (expand-mail-aliases (point-min) delimline))
-         (goto-char (point-min))
-         ;; ignore any blank lines in the header
-         (while (and (re-search-forward "\n\n\n*" delimline t)
-                     (< (point) delimline))
-           (replace-match "\n"))
-         (let ((case-fold-search t))
-           (goto-char (point-min))
-           (goto-char (point-min))
-           (while (re-search-forward "^Resent-to:" delimline t)
-             (setq resend-to-addresses
-                   (save-restriction
-                     (narrow-to-region (point)
-                                       (save-excursion
-                                         (end-of-line)
-                                         (point)))
-                     (append (mail-parse-comma-list)
-                             resend-to-addresses))))
-;;; Apparently this causes a duplicate Sender.
-;;;        ;; If the From is different than current user, insert Sender.
-;;;        (goto-char (point-min))
-;;;        (and (re-search-forward "^From:"  delimline t)
-;;;             (progn
-;;;               (require 'mail-utils)
-;;;               (not (string-equal
-;;;                     (mail-strip-quoted-names
-;;;                      (save-restriction
-;;;                        (narrow-to-region (point-min) delimline)
-;;;                        (mail-fetch-field "From")))
-;;;                     (user-login-name))))
-;;;             (progn
-;;;               (forward-line 1)
-;;;               (insert "Sender: " (user-login-name) "\n")))
-           ;; Don't send out a blank subject line
-           (goto-char (point-min))
-           (if (re-search-forward "^Subject:[ \t]*\n" delimline t)
-               (replace-match ""))
-           ;; Put the "From:" field in unless for some odd reason
-           ;; they put one in themselves.
-           (goto-char (point-min))
-           (if (not (re-search-forward "^From:" delimline t))
-               (let* ((login user-mail-address)
-                      (fullname (user-full-name)))
-                 (cond ((eq mail-from-style 'angles)
-                        (insert "From: " fullname)
-                        (let ((fullname-start (+ (point-min) 6))
-                              (fullname-end (point-marker)))
-                          (goto-char fullname-start)
-                          ;; Look for a character that cannot appear unquoted
-                          ;; according to RFC 822.
-                          (if (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]"
-                                                 fullname-end 1)
-                              (progn
-                                ;; Quote fullname, escaping specials.
-                                (goto-char fullname-start)
-                                (insert "\"")
-                                (while (re-search-forward "[\"\\]"
-                                                          fullname-end 1)
-                                  (replace-match "\\\\\\&" t))
-                                (insert "\""))))
-                        (insert " <" login ">\n"))
-                       ((eq mail-from-style 'parens)
-                        (insert "From: " login " (")
-                        (let ((fullname-start (point)))
-                          (insert fullname)
-                          (let ((fullname-end (point-marker)))
-                            (goto-char fullname-start)
-                            ;; RFC 822 says \ and nonmatching parentheses
-                            ;; must be escaped in comments.
-                            ;; Escape every instance of ()\ ...
-                            (while (re-search-forward "[()\\]" fullname-end 1)
-                              (replace-match "\\\\\\&" t))
-                            ;; ... then undo escaping of matching parentheses,
-                            ;; including matching nested parentheses.
-                            (goto-char fullname-start)
-                            (while (re-search-forward 
-                                    "\\(\\=\\|[^\\]\\(\\\\\\\\\\)*\\)\\\\(\\(\\([^\\]\\|\\\\\\\\\\)*\\)\\\\)"
-                                    fullname-end 1)
-                              (replace-match "\\1(\\3)" t)
-                              (goto-char fullname-start))))
-                        (insert ")\n"))
-                       ((null mail-from-style)
-                        (insert "From: " login "\n")))))
-           ;; Insert an extra newline if we need it to work around
-           ;; Sun's bug that swallows newlines.
-           (goto-char (1+ delimline))
-           (if (eval mail-mailer-swallows-blank-line)
-               (newline))
-           ;; Find and handle any FCC fields.
-           (goto-char (point-min))
-           (if (re-search-forward "^FCC:" delimline t)
-               (mail-do-fcc delimline))
-           (if mail-interactive
-               (save-excursion
-                 (set-buffer errbuf)
-                 (erase-buffer))))
-         ;;
-         ;;
-         ;;
-         (let ((recipient-address-list
-                (or resend-to-addresses
-                    (smtp-deduce-address-list (current-buffer)
-                                              (point-min) delimline))))
-           (smtp-do-bcc delimline)
-           
-           (if recipient-address-list
-               (if (not (smtp-via-smtp recipient-address-list
-                                       (current-buffer)))
-                   (error "Sending failed; SMTP protocol error"))
-             (error "Sending failed; no recipients"))
-           ))
-      (if (bufferp errbuf)
-         (kill-buffer errbuf)))))
+  "Send off the prepared buffer with SMTP."
+  (require 'smtp) ; XXX
+  (let ((case-fold-search t)
+       recipients)
+    (save-restriction
+      (message-narrow-to-headers)
+      (setq recipients
+           ;; XXX: Should be replaced by better one.
+           (smtp-deduce-address-list (current-buffer)
+                                     (point-min) (point-max)))
+      ;; Remove BCC lines.
+      (message-remove-header "bcc"))
+    ;; replace the header delimiter with a blank line.
+    (goto-char (point-min))
+    (re-search-forward
+     (concat "^" (regexp-quote mail-header-separator) "\n"))
+    (replace-match "\n")
+    (backward-char 1)
+    (run-hooks 'message-send-mail-hook)
+    (if recipients
+       (let ((result (smtp-via-smtp user-mail-address
+                                    recipients
+                                    (current-buffer))))
+         (unless (eq result t)
+           (error "Sending failed; " result)))
+      (error "Sending failed; no recipients"))))
+
+(defsubst message-maybe-split-and-send-news (method)
+  "Split a message if necessary, and send it via news.
+Returns nil if sending succeeded, returns t if sending failed.
+This sub function is for exclusive use of `message-send-news'."
+  (let ((mime-edit-split-ignored-field-regexp
+        mime-edit-split-ignored-field-regexp)
+       (case-fold-search t))
+    (while (string-match "Message-ID" mime-edit-split-ignored-field-regexp)
+      (setq mime-edit-split-ignored-field-regexp
+           (concat (substring mime-edit-split-ignored-field-regexp
+                              0 (match-beginning 0))
+                   "Hey_MIME-Edit,_there_is_an_inviolable_Message_ID"
+                   "_so_don't_rape_it!"
+                   (substring mime-edit-split-ignored-field-regexp
+                              (match-end 0)))))
+    (or
+     (catch 'message-sending-news-failure
+       (mime-edit-maybe-split-and-send
+       (function
+        (lambda ()
+          (interactive)
+          (save-restriction
+            (std11-narrow-to-header mail-header-separator)
+            (goto-char (point-min))
+            (when (re-search-forward "^Message-ID:" nil t)
+              (delete-region (match-end 0) (std11-field-end))
+              (insert " " (message-make-message-id))))
+          (unless (funcall message-send-news-function method)
+            (throw 'message-sending-news-failure t)))))
+       nil)
+     (not (funcall message-send-news-function method)))))
 
 (defun message-send-news (&optional arg)
   (let ((tembuf (message-generate-new-buffer-clone-locals " *message temp*"))
@@ -2475,9 +2436,7 @@ to find out how to use this."
       (run-hooks 'message-header-hook))
     (message-cleanup-headers)
     (if (not (message-check-news-syntax))
-       (progn
-         ;;(message "Posting not performed")
-         nil)
+       nil
       (unwind-protect
          (save-excursion
            (set-buffer tembuf)
@@ -2491,29 +2450,17 @@ to find out how to use this."
              (message-remove-header message-ignored-news-headers t))
            (goto-char (point-max))
            ;; require one newline at the end.
-           (or (= (preceding-char) ?\n)
+           (or (eq (char-before) ?\n)
                (insert ?\n))
-           (mime-edit-maybe-split-and-send
-            (function
-             (lambda ()
-               (interactive)
-               (save-restriction
-                 (std11-narrow-to-header mail-header-separator)
-                 (goto-char (point-min))
-                 (when (re-search-forward "^Message-Id:" nil t)
-                   (delete-region (match-end 0)(std11-field-end))
-                   (insert (concat " " (message-make-message-id)))
-                   ))
-               (funcall message-send-news-function method)
-               )))
-           (setq result (funcall message-send-news-function method)))
+           (setq result (message-maybe-split-and-send-news method)))
        (kill-buffer tembuf))
       (set-buffer message-edit-buffer)
       (if result
-         (push 'news message-sent-message-via)
-       (message "Couldn't send message via news: %s"
-                (nnheader-get-report (car method)))
-       nil))))
+         (progn
+           (message "Couldn't send message via news: %s"
+                    (nnheader-get-report (car method)))
+           nil)
+       (push 'news message-sent-message-via)))))
 
 ;; 1997-09-29 by MORIOKA Tomohiko
 (defun message-send-news-with-gnus (method)
@@ -2873,8 +2820,8 @@ to find out how to use this."
        (concat "^" (regexp-quote mail-header-separator) "$"))
       (while (not (eobp))
        (when (not (looking-at "[ \t\n]"))
-         (setq sum (logxor (ash sum 1) (if (natnump sum) 0 1)
-                           (following-char))))
+         (setq sum (logxor (ash sum 1) (if (natnump sum) 0 1)
+                           (char-after))))
        (forward-char 1)))
     sum))
 
@@ -3287,7 +3234,9 @@ Headers already prepared in the buffer are not modified."
                  (progn
                    ;; The header was found.  We insert a space after the
                    ;; colon, if there is none.
-                   (if (/= (following-char) ? ) (insert " ") (forward-char 1))
+                   (if (eq (char-after) ? )
+                       (forward-char 1)
+                     (insert " "))
                    ;; Find out whether the header is empty...
                    (looking-at "[ \t]*$")))
          ;; So we find out what value we should insert.
@@ -3396,7 +3345,7 @@ Headers already prepared in the buffer are not modified."
       (goto-char (point-min))
       (while (not (eobp))
        (skip-chars-forward "^,\"" (point-max))
-       (if (or (= (following-char) ?,)
+       (if (or (eq (char-after) ?,)
                (eobp))
            (when (not quoted)
              (if (and (> (current-column) 78)
@@ -3468,7 +3417,7 @@ Headers already prepared in the buffer are not modified."
     (search-backward ":" )
     (widen)
     (forward-char 1)
-    (if (= (following-char) ? )
+    (if (eq (char-after) ? )
        (forward-char 1)
       (insert " ")))
    (t
@@ -3765,7 +3714,8 @@ OTHER-HEADERS is an alist of header/value pairs."
                            (if wide to-address nil)))
 
     (setq message-reply-headers
-         (vector 0 subject from date message-id references 0 0 ""))
+         (make-full-mail-header-from-decoded-header
+          0 subject from date message-id references 0 0 ""))
 
     (message-setup
      `((Subject . ,subject)
@@ -3890,7 +3840,8 @@ responses here are directed to other newsgroups."))
      cur)
 
     (setq message-reply-headers
-         (vector 0 subject from date message-id references 0 0 ""))))
+         (make-full-mail-header-from-decoded-header
+          0 subject from date message-id references 0 0 ""))))
 
 
 ;;;###autoload
@@ -4063,10 +4014,12 @@ the message."
       (let ((funcs message-make-forward-subject-function)
            (subject (if message-wash-forwarded-subjects
                         (message-wash-subject
-                         (or (eword-decode-unstructured-field-body
-                              (message-fetch-field "Subject")) ""))
-                      (or (eword-decode-unstructured-field-body
-                           (message-fetch-field "Subject")) ""))))
+                         (or (nnheader-decode-subject
+                              (message-fetch-field "Subject"))
+                             ""))
+                      (or (nnheader-decode-subject
+                           (message-fetch-field "Subject"))
+                          ""))))
        ;; Make sure funcs is a list.
        (and funcs
             (not (listp funcs))
@@ -4290,7 +4243,7 @@ which specify the range to operate on."
       (goto-char (min start end))
       (while (< (point) end1)
        (or (looking-at "[_\^@- ]")
-           (insert (following-char) "\b"))
+           (insert (char-after) "\b"))
        (forward-char 1)))))
 
 ;;;###autoload
@@ -4304,7 +4257,7 @@ which specify the range to operate on."
       (move-marker end1 (max start end))
       (goto-char (min start end))
       (while (re-search-forward "\b" end1 t)
-       (if (eq (following-char) (char-after (- (point) 2)))
+       (if (eq (char-after) (char-after (- (point) 2)))
            (delete-char -2))))))
 
 (defalias 'message-exchange-point-and-mark 'exchange-point-and-mark)
@@ -4428,19 +4381,6 @@ regexp varstr."
 ;;; @ for MIME Edit mode
 ;;;
 
-(defun message-maybe-setup-default-charset ()
-  (let ((charset
-        (and (boundp 'gnus-summary-buffer)
-              (buffer-live-p gnus-summary-buffer)
-             (save-excursion
-               (set-buffer gnus-summary-buffer)
-               default-mime-charset))))
-    (if charset
-       (progn
-         (make-local-variable 'default-mime-charset)
-         (setq default-mime-charset charset)
-         ))))
-
 (defun message-maybe-encode ()
   (when message-mime-mode
     (run-hooks 'mime-edit-translate-hook)
diff --git a/lisp/mmgnus.el b/lisp/mmgnus.el
new file mode 100644 (file)
index 0000000..a2f5d2c
--- /dev/null
@@ -0,0 +1,62 @@
+;;; mmgnus.el --- MIME entity implementation for gnus-article
+
+;; Copyright (C) 1998 Free Software Foundation, Inc.
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Keywords: MIME, multimedia, mail, news
+
+;; This file is part of Chao-gnus.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'mmbuffer)
+
+(mm-define-backend gnus (generic))
+
+(mm-define-method entity-buffer ((entity gnus))
+  ;; (if (with-current-buffer gnus-summary-buffer
+  ;;       (eq gnus-current-article (mail-header-number entity)))
+  ;;     ...)
+  (unless (mime-entity-header-start-internal entity)
+    (set-buffer gnus-original-article-buffer)
+    (mime-entity-set-header-start-internal entity (point-min))
+    (mime-entity-set-body-end-internal entity (point-max))
+    (goto-char (point-min))
+    (if (re-search-forward "^$" nil t)
+       (progn
+         (mime-entity-set-header-end-internal entity (match-end 0))
+         (mime-entity-set-body-start-internal
+          entity
+          (if (= (mime-entity-header-end-internal entity)
+                 (mime-entity-body-end-internal entity))
+              (mime-entity-body-end-internal entity)
+            (1+ (mime-entity-header-end-internal entity))
+            ))
+         )
+      (mime-entity-set-header-end-internal entity (point-min))
+      (mime-entity-set-body-start-internal entity (point-min))
+      ))
+  gnus-original-article-buffer)
+
+
+;;; @ end
+;;;
+
+(provide 'mmgnus)
+
+;;; mmgnus.el ends here
index 7ef13f2..9e6024d 100644 (file)
@@ -1,9 +1,11 @@
-;;; nnheader.el --- header access macros for Gnus and its backends
+;;; nnheader.el --- header access macros for Semi-gnus and its backends
 ;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
-;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
-;; Keywords: news
+;;         Lars Magne Ingebrigtsen <larsi@gnus.org>
+;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;;         Katsumi Yamaoka  <yamaoka@jpl.org>
+;; Keywords: mail, news, MIME
 
 ;; This file is part of GNU Emacs.
 
@@ -40,6 +42,7 @@
 (eval-when-compile (require 'cl))
 
 (require 'mail-utils)
+(require 'mime)
 
 (defvar nnheader-max-head-length 4096
   "*Max length of the head of articles.")
@@ -68,86 +71,78 @@ on your system, you could say something like:
 
 (defmacro mail-header-number (header)
   "Return article number in HEADER."
-  `(aref ,header 0))
+  `(mime-entity-location-internal ,header))
 
 (defmacro mail-header-set-number (header number)
   "Set article number of HEADER to NUMBER."
-  `(aset ,header 0 ,number))
+  `(mime-entity-set-location-internal ,header ,number))
 
-(defmacro mail-header-subject (header)
-  "Return subject string in HEADER."
-  `(aref ,header 1))
+(defalias 'mail-header-subject 'mime-entity-decoded-subject-internal)
+(defalias 'mail-header-set-subject 'mime-entity-set-decoded-subject-internal)
 
-(defmacro mail-header-set-subject (header subject)
-  "Set article subject of HEADER to SUBJECT."
-  `(aset ,header 1 ,subject))
+(defalias 'mail-header-from 'mime-entity-decoded-from-internal)
+(defalias 'mail-header-set-from 'mime-entity-set-decoded-from-internal)
 
-(defmacro mail-header-from (header)
-  "Return author string in HEADER."
-  `(aref ,header 2))
+(defalias 'mail-header-date 'mime-entity-date-internal)
+(defalias 'mail-header-set-date 'mime-entity-set-date-internal)
 
-(defmacro mail-header-set-from (header from)
-  "Set article author of HEADER to FROM."
-  `(aset ,header 2 ,from))
+(defalias 'mail-header-message-id 'mime-entity-message-id-internal)
+(defalias 'mail-header-id 'mime-entity-message-id-internal)
+(defalias 'mail-header-set-message-id 'mime-entity-set-message-id-internal)
+(defalias 'mail-header-set-id 'mime-entity-set-message-id-internal)
 
-(defmacro mail-header-date (header)
-  "Return date in HEADER."
-  `(aref ,header 3))
+(defalias 'mail-header-references 'mime-entity-references-internal)
+(defalias 'mail-header-set-references 'mime-entity-set-references-internal)
 
-(defmacro mail-header-set-date (header date)
-  "Set article date of HEADER to DATE."
-  `(aset ,header 3 ,date))
+(defalias 'mail-header-chars 'mime-entity-chars-internal)
+(defalias 'mail-header-set-chars 'mime-entity-set-chars-internal)
 
-(defalias 'mail-header-message-id 'mail-header-id)
-(defmacro mail-header-id (header)
-  "Return Id in HEADER."
-  `(aref ,header 4))
+(defalias 'mail-header-lines 'mime-entity-lines-internal)
+(defalias 'mail-header-set-lines 'mime-entity-set-lines-internal)
 
-(defalias 'mail-header-set-message-id 'mail-header-set-id)
-(defmacro mail-header-set-id (header id)
-  "Set article Id of HEADER to ID."
-  `(aset ,header 4 ,id))
+(defalias 'mail-header-xref 'mime-entity-xref-internal)
+(defalias 'mail-header-set-xref 'mime-entity-set-xref-internal)
 
-(defmacro mail-header-references (header)
-  "Return references in HEADER."
-  `(aref ,header 5))
+(defalias 'nnheader-decode-subject
+  (mime-find-field-decoder 'Subject 'nov))
+(defalias 'nnheader-decode-from
+  (mime-find-field-decoder 'From 'nov))
 
-(defmacro mail-header-set-references (header ref)
-  "Set article references of HEADER to REF."
-  `(aset ,header 5 ,ref))
-
-(defmacro mail-header-chars (header)
-  "Return number of chars of article in HEADER."
-  `(aref ,header 6))
-
-(defmacro mail-header-set-chars (header chars)
-  "Set number of chars in article of HEADER to CHARS."
-  `(aset ,header 6 ,chars))
-
-(defmacro mail-header-lines (header)
-  "Return lines in HEADER."
-  `(aref ,header 7))
-
-(defmacro mail-header-set-lines (header lines)
-  "Set article lines of HEADER to LINES."
-  `(aset ,header 7 ,lines))
-
-(defmacro mail-header-xref (header)
-  "Return xref string in HEADER."
-  `(aref ,header 8))
-
-(defmacro mail-header-set-xref (header xref)
-  "Set article xref of HEADER to xref."
-  `(aset ,header 8 ,xref))
+(defsubst make-full-mail-header (&optional number subject from date id
+                                          references chars lines xref)
+  "Create a new mail header structure initialized with the parameters given."
+  (make-mime-entity-internal
+   'gnus number
+   nil
+   nil nil nil
+   (if subject
+       (nnheader-decode-subject subject)
+     )
+   (if from
+       (nnheader-decode-from from)
+     )
+   date id references
+   chars lines xref
+   (list (cons 'Subject subject)
+        (cons 'From from))
+   ))
+
+(defsubst make-full-mail-header-from-decoded-header
+  (&optional number subject from date id references chars lines xref)
+  "Create a new mail header structure initialized with the parameters given."
+  (make-mime-entity-internal
+   'gnus number
+   nil
+   nil nil nil
+   subject
+   from
+   date id references
+   chars lines xref))
 
 (defun make-mail-header (&optional init)
   "Create a new mail header structure initialized with INIT."
-  (make-vector 9 init))
-
-(defun make-full-mail-header (&optional number subject from date id
-                                       references chars lines xref)
-  "Create a new mail header structure initialized with the parameters given."
-  (vector number subject from date id references chars lines xref))
+  (make-full-mail-header init init init init init
+                        init init init init))
 
 ;; fake message-ids: generation and detection
 
@@ -183,7 +178,7 @@ on your system, you could say something like:
          ;; about twice as fast, even though it looks messier.  You
          ;; can't have everything, I guess.  Speed and elegance
          ;; don't always go hand in hand.
-         (vector
+         (make-full-mail-header
           ;; Number.
           (if naked
               (progn
@@ -270,17 +265,15 @@ on your system, you could say something like:
 
 (defmacro nnheader-nov-read-integer ()
   '(prog1
-       (if (= (following-char) ?\t)
+       (if (eq (char-after) ?\t)
           0
         (let ((num (ignore-errors (read (current-buffer)))))
           (if (numberp num) num 0)))
      (or (eobp) (forward-char 1))))
 
-;; (defvar nnheader-none-counter 0)
-
 (defun nnheader-parse-nov ()
   (let ((eol (gnus-point-at-eol)))
-    (vector
+    (make-full-mail-header
      (nnheader-nov-read-integer)       ; number
      (nnheader-nov-field)              ; subject
      (nnheader-nov-field)              ; from
@@ -290,7 +283,7 @@ on your system, you could say something like:
      (nnheader-nov-field)              ; refs
      (nnheader-nov-read-integer)       ; chars
      (nnheader-nov-read-integer)       ; lines
-     (if (= (following-char) ?\n)
+     (if (eq (char-after) ?\n)
         nil
        (nnheader-nov-field))           ; misc
      )))
@@ -299,8 +292,8 @@ on your system, you could say something like:
   (princ (mail-header-number header) (current-buffer))
   (insert
    "\t"
-   (or (mail-header-subject header) "(none)") "\t"
-   (or (mail-header-from header) "(nobody)") "\t"
+   (or (mime-fetch-field 'Subject header) "(none)") "\t"
+   (or (mime-fetch-field 'From header) "(nobody)") "\t"
    (or (mail-header-date header) "") "\t"
    (or (mail-header-id header)
        (nnmail-message-id))
index 7c1435c..8a38564 100644 (file)
@@ -2,6 +2,7 @@
 ;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
+;;         Katsumi Yamaoka <yamaoka@jpl.org>
 ;; Keywords: news
 
 ;; This file is part of GNU Emacs.
index 8e8359e..524bb4b 100644 (file)
@@ -838,7 +838,7 @@ is a spool.  If not using procmail, return GROUP."
          (when (and (or (bobp)
                         (save-excursion
                           (forward-line -1)
-                          (= (following-char) ?\n)))
+                          (eq (char-after) ?\n)))
                     (save-excursion
                       (forward-line 1)
                       (while (looking-at ">From \\|From ")
@@ -867,7 +867,7 @@ is a spool.  If not using procmail, return GROUP."
          (when (and (or (bobp)
                         (save-excursion
                           (forward-line -1)
-                          (= (following-char) ?\n)))
+                          (eq (char-after) ?\n)))
                     (save-excursion
                       (forward-line 1)
                       (while (looking-at ">From \\|From ")
@@ -1740,11 +1740,11 @@ If ARGS, PROMPT is used as an argument to `format'."
        (goto-char (point-min))
        (while (re-search-forward "[^ \t=]+" nil t)
          (setq name (match-string 0))
-         (if (not (= (following-char) ?=))
+         (if (not (eq (char-after) ?=))
              ;; Implied "yes".
              (setq value "yes")
            (forward-char 1)
-           (if (not (= (following-char) ?\"))
+           (if (not (eq (char-after) ?\"))
                (if (not (looking-at "[^ \t]"))
                    ;; Implied "no".
                    (setq value "no")
index 8aafd7d..3a4c27a 100644 (file)
        (when large
          (nnheader-message 5 "nnmh: Receiving headers...done"))
 
-       (nnheader-fold-continuation-lines)
        'headers))))
 
 (deffoo nnmh-open-server (server &optional defs)
index e764150..76160f9 100644 (file)
@@ -687,7 +687,7 @@ backend for the messages.")
            (message-remove-header message-ignored-mail-headers t))
          (goto-char (point-max))
          ;; require one newline at the end.
-         (or (= (preceding-char) ?\n)
+         (or (eq (char-before) ?\n)
              (insert ?\n))
          (let ((case-fold-search t))
            ;; Change header-delimiter to be what sendmail expects.
index d7665b5..f38c4b7 100644 (file)
@@ -390,7 +390,7 @@ If this variable is nil, which is the default, no timers are set.")
   (cond
    ;; A result that starts with a 2xx code is terminated by
    ;; a line with only a "." on it.
-   ((eq (following-char) ?2)
+   ((eq (char-after) ?2)
     (if (re-search-forward "\n\\.\r?\n" nil t)
        t
       nil))
index 293efe6..90db4d2 100644 (file)
@@ -3,7 +3,7 @@
 ;;                                                           Yasuo Okabe
 ;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
 ;;         Yasuo OKABE <okabe@kuis.kyoto-u.ac.jp>
-;; Version: 1.16
+;; Version: 1.17
 ;; Keywords: mail , gnus , pop3
 ;;
 ;; SPECIAL THANKS
@@ -92,7 +92,8 @@
 ;;  "Goodbye Game"             ; 1.12
 ;;  "Love is Gamble"           ; 1.13
 ;;  "Lonely"                   ; 1.14
-  "Feel the wind"              ; 1.16
+;;  "Feel the wind"            ; 1.16
+  "Sadness like snow"          ; 1.17
   )
 (defconst pop3-fma-version (format "Multiple POP3 account utiliy for Gnus v%s - \"%s\""
                                       pop3-fma-version-number
@@ -211,8 +212,8 @@ If there is any problem , please set this variable to nil(default).
                  (substring inbox (match-end (string-match "^po:" inbox))
                             (- (match-end (string-match "^.*@" inbox)) 1)))))
              (pop3-authentication-scheme
-              (nth 1 (assoc inbox pop3-fma-spool-file-alist)))
-             (pop3-fma-movemail-type (pop3-fma-get-movemail-type inbox)))
+              (nth 1 (assoc inbox pop3-fma-spool-file-alist))))
+;;           (pop3-fma-movemail-type (pop3-fma-get-movemail-type inbox)))
          (if (eq pop3-authentication-scheme 'pass)
              (message "Checking new mail user %s at %s using USER/PASS ..." pop3-maildrop pop3-mailhost)
            (message "Checking new mail user %s at %s using APOP ..." pop3-maildrop pop3-mailhost))
@@ -223,13 +224,22 @@ If there is any problem , please set this variable to nil(default).
                (if (and (not (memq pop3-password pop3-fma-commandline-arguments))
                         (not (memq (concat "po:" pop3-maildrop) pop3-fma-commandline-arguments)))
                    (progn
-                     (setq pop3-fma-commandline-arguments
-                           (append
-                            pop3-fma-movemail-arguments
-                                   (list
-                                    (concat "po:" pop3-maildrop)
-                                    crashbox
-                                    pop3-password)))))
+                     (if (eq pop3-authentication-scheme 'apop)
+                         (setq pop3-fma-commandline-arguments
+                               (append
+                                pop3-fma-movemail-arguments
+                                (list
+                                 "-A"
+                                 (concat "po:" pop3-maildrop)
+                                 crashbox
+                                 pop3-password)))
+                       (setq pop3-fma-commandline-arguments
+                             (append
+                              pop3-fma-movemail-arguments
+                              (list
+                               (concat "po:" pop3-maildrop)
+                               crashbox
+                               pop3-password))))))
                (if (not (get-buffer movemail-output-buffer))
                    (get-buffer-create movemail-output-buffer))
                (set-buffer movemail-output-buffer)
diff --git a/lisp/rfc2045.el b/lisp/rfc2045.el
deleted file mode 100644 (file)
index c8028db..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;;; rfc2045.el --- Functions for decoding rfc2045 headers
-;; Copyright (C) 1998 Free Software Foundation, Inc.
-
-;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;;; Code:
-
-(require 'ietf-drums)
-
-(defun rfc2045-encode-string (param value)
-  "Return and PARAM=VALUE string encoded according to RFC2045."
-  (if (or (string-match (concat "[" ietf-drums-no-ws-ctl-token "]") value)
-         (string-match (concat "[" ietf-drums-tspecials "]") value)
-         (string-match "[ \n\t]" value)
-         (not (string-match (concat "[" ietf-drums-text-token "]") value)))
-      (concat param "=" (format "%S" value))
-    (concat param "=" value)))
-
-(provide 'rfc2045)
-
-;;; rfc2045.el ends here
index e6c13f7..87ea5e0 100644 (file)
@@ -294,7 +294,7 @@ Mouse button3 - menu"))
   (save-excursion
     (goto-char start)
     (when (and (re-search-backward "[()]" nil t)
-              (= (following-char) ?\()
+              (eq (char-after) ?\()
               (goto-char end)
               (or (not (re-search-forward "[()]" nil t))
                   (= (char-after (1- (point))) ?\()))
diff --git a/lisp/smtp.el b/lisp/smtp.el
deleted file mode 100644 (file)
index 1954200..0000000
+++ /dev/null
@@ -1,451 +0,0 @@
-;;; smtp.el --- basic functions to send mail with SMTP server
-
-;; Copyright (C) 1995, 1996, 1998 Free Software Foundation, Inc.
-
-;; Author: Tomoji Kagatani <kagatani@rbc.ncl.omron.co.jp>
-;; ESMTP support: Simon Leinen <simon@switch.ch>
-;; Keywords: SMTP, mail
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(defgroup smtp nil
-  "SMTP protocol for sending mail."
-  :group 'mail)
-
-(defcustom smtp-default-server nil
-  "*Specify default SMTP server."
-  :type '(choice (const nil) string)
-  :group 'smtp)
-
-(defcustom smtp-server 
-  (or (getenv "SMTPSERVER") smtp-default-server)
-  "*The name of the host running SMTP server."
-  :type '(choice (const nil) string)
-  :group 'smtp)
-
-(defcustom smtp-service 25
-  "*SMTP service port number. smtp or 25 ."
-  :type 'integer
-  :group 'smtp)
-
-(defcustom smtp-local-domain nil
-  "*Local domain name without a host name.
-If the function (system-name) returns the full internet address,
-don't define this value."
-  :type '(choice (const nil) string)
-  :group 'smtp)
-
-(defcustom smtp-debug-info nil
-  "*smtp debug info printout. messages and process buffer."
-  :type 'boolean
-  :group 'smtp)
-
-
-(defun smtp-fqdn ()
-  (if smtp-local-domain
-      (concat (system-name) "." smtp-local-domain)
-    (system-name)))
-
-(defun smtp-via-smtp (recipient smtp-text-buffer)
-  (let ((process nil)
-       (host smtp-server)
-       (port smtp-service)
-       response-code
-       greeting
-       process-buffer
-       (supported-extensions '()))
-    (unwind-protect
-       (catch 'done
-         ;; get or create the trace buffer
-         (setq process-buffer
-               (get-buffer-create
-                (format "*trace of SMTP session to %s*" host)))
-
-         ;; clear the trace buffer of old output
-         (save-excursion
-           (set-buffer process-buffer)
-           (erase-buffer))
-
-         ;; open the connection to the server
-         (setq process (open-network-stream-as-binary
-                        "SMTP" process-buffer host port))
-         (and (null process) (throw 'done nil))
-
-         ;; set the send-filter
-         (set-process-filter process 'smtp-process-filter)
-
-         (save-excursion
-           (set-buffer process-buffer)
-           (make-local-variable 'smtp-read-point)
-           (setq smtp-read-point (point-min))
-
-           (if (or (null (car (setq greeting (smtp-read-response process))))
-                   (not (integerp (car greeting)))
-                   (>= (car greeting) 400))
-               (throw 'done nil)
-             )
-
-           ;; EHLO
-           (smtp-send-command process (format "EHLO %s" (smtp-fqdn)))
-
-           (if (or (null (car (setq response-code (smtp-read-response process))))
-                   (not (integerp (car response-code)))
-                   (>= (car response-code) 400))
-               (progn
-                 ;; HELO
-                 (smtp-send-command process (format "HELO %s" (smtp-fqdn)))
-
-                 (if (or (null (car (setq response-code (smtp-read-response process))))
-                         (not (integerp (car response-code)))
-                         (>= (car response-code) 400))
-                     (throw 'done nil)))
-             (let ((extension-lines (cdr (cdr response-code))))
-               (while extension-lines
-                 (let ((name (intern (downcase (substring (car extension-lines) 4)))))
-                   (and name
-                        (cond ((memq name '(verb xvrb 8bitmime onex xone
-                                                 expn size dsn etrn
-                                                 help xusr))
-                               (setq supported-extensions
-                                     (cons name supported-extensions)))
-                              (t (message "unknown extension %s"
-                                          name)))))
-                 (setq extension-lines (cdr extension-lines)))))
-
-           (if (or (member 'onex supported-extensions)
-                   (member 'xone supported-extensions))
-               (progn
-                 (smtp-send-command process (format "ONEX"))
-                 (if (or (null (car (setq response-code (smtp-read-response process))))
-                         (not (integerp (car response-code)))
-                         (>= (car response-code) 400))
-                     (throw 'done nil))))
-
-           (if (and smtp-debug-info
-                    (or (member 'verb supported-extensions)
-                        (member 'xvrb supported-extensions)))
-               (progn
-                 (smtp-send-command process (format "VERB"))
-                 (if (or (null (car (setq response-code (smtp-read-response process))))
-                         (not (integerp (car response-code)))
-                         (>= (car response-code) 400))
-                     (throw 'done nil))))
-
-           (if (member 'xusr supported-extensions)
-               (progn
-                 (smtp-send-command process (format "XUSR"))
-                 (if (or (null (car (setq response-code (smtp-read-response process))))
-                         (not (integerp (car response-code)))
-                         (>= (car response-code) 400))
-                     (throw 'done nil))))
-
-           ;; MAIL FROM: <sender>
-           (let ((size-part
-                  (if (member 'size supported-extensions)
-                      (format " SIZE=%d"
-                              (save-excursion
-                                (set-buffer smtp-text-buffer)
-                                ;; size estimate:
-                                (+ (- (point-max) (point-min))
-                                   ;; Add one byte for each change-of-line
-                                   ;; because or CR-LF representation:
-                                   (count-lines (point-min) (point-max))
-                                   ;; For some reason, an empty line is
-                                   ;; added to the message.  Maybe this
-                                   ;; is a bug, but it can't hurt to add
-                                   ;; those two bytes anyway:
-                                   2)))
-                    ""))
-                 (body-part
-                  (if (member '8bitmime supported-extensions)
-                      ;; FIXME:
-                      ;; Code should be added here that transforms
-                      ;; the contents of the message buffer into
-                      ;; something the receiving SMTP can handle.
-                      ;; For a receiver that supports 8BITMIME, this
-                      ;; may mean converting BINARY to BASE64, or
-                      ;; adding Content-Transfer-Encoding and the
-                      ;; other MIME headers.  The code should also
-                      ;; return an indication of what encoding the
-                      ;; message buffer is now, i.e. ASCII or
-                      ;; 8BITMIME.
-                      (if nil
-                          " BODY=8BITMIME"
-                        "")
-                    "")))
-;            (smtp-send-command process (format "MAIL FROM:%s@%s" (user-login-name) (smtp-fqdn)))
-             (smtp-send-command process (format "MAIL FROM: <%s>%s%s"
-                                                    user-mail-address
-                                                    size-part
-                                                    body-part))
-
-             (if (or (null (car (setq response-code (smtp-read-response process))))
-                     (not (integerp (car response-code)))
-                     (>= (car response-code) 400))
-                 (throw 'done nil)
-               ))
-           
-           ;; RCPT TO: <recipient>
-           (let ((n 0))
-             (while (not (null (nth n recipient)))
-               (smtp-send-command process (format "RCPT TO: <%s>" (nth n recipient)))
-               (setq n (1+ n))
-
-               (setq response-code (smtp-read-response process))
-               (if (or (null (car response-code))
-                       (not (integerp (car response-code)))
-                       (>= (car response-code) 400))
-                   (throw 'done nil)
-                 )
-               ))
-           
-           ;; DATA
-           (smtp-send-command process "DATA")
-
-           (if (or (null (car (setq response-code (smtp-read-response process))))
-                   (not (integerp (car response-code)))
-                   (>= (car response-code) 400))
-               (throw 'done nil)
-             )
-
-           ;; Mail contents
-           (smtp-send-data process smtp-text-buffer)
-
-           ;;DATA end "."
-           (smtp-send-command process ".")
-
-           (if (or (null (car (setq response-code (smtp-read-response process))))
-                   (not (integerp (car response-code)))
-                   (>= (car response-code) 400))
-               (throw 'done nil)
-             )
-
-           ;;QUIT
-;          (smtp-send-command process "QUIT")
-;          (and (null (car (smtp-read-response process)))
-;               (throw 'done nil))
-           t ))
-      (if process
-         (save-excursion
-           (set-buffer (process-buffer process))
-           (smtp-send-command process "QUIT")
-           (smtp-read-response process)
-
-;          (if (or (null (car (setq response-code (smtp-read-response process))))
-;                  (not (integerp (car response-code)))
-;                  (>= (car response-code) 400))
-;              (throw 'done nil)
-;            )
-           (delete-process process))))))
-
-(defun smtp-process-filter (process output)
-  (save-excursion
-    (set-buffer (process-buffer process))
-    (goto-char (point-max))
-    (insert output)))
-
-(defun smtp-read-response (process)
-  (let ((case-fold-search nil)
-       (response-strings nil)
-       (response-continue t)
-       (return-value '(nil ()))
-       match-end)
-
-    (while response-continue
-      (goto-char smtp-read-point)
-      (while (not (search-forward "\r\n" nil t))
-       (accept-process-output process)
-       (goto-char smtp-read-point))
-
-      (setq match-end (point))
-      (setq response-strings
-           (cons (buffer-substring smtp-read-point (- match-end 2))
-                 response-strings))
-       
-      (goto-char smtp-read-point)
-      (if (looking-at "[0-9]+ ")
-         (let ((begin (match-beginning 0))
-               (end (match-end 0)))
-           (if smtp-debug-info
-               (message "%s" (car response-strings)))
-
-           (setq smtp-read-point match-end)
-
-           ;; ignore lines that start with "0"
-           (if (looking-at "0[0-9]+ ")
-               nil
-             (setq response-continue nil)
-             (setq return-value
-                   (cons (string-to-int 
-                          (buffer-substring begin end)) 
-                         (nreverse response-strings)))))
-       
-       (if (looking-at "[0-9]+-")
-           (progn (if smtp-debug-info
-                    (message "%s" (car response-strings)))
-                  (setq smtp-read-point match-end)
-                  (setq response-continue t))
-         (progn
-           (setq smtp-read-point match-end)
-           (setq response-continue nil)
-           (setq return-value 
-                 (cons nil (nreverse response-strings)))
-           )
-         )))
-    (setq smtp-read-point match-end)
-    return-value))
-
-(defun smtp-send-command (process command)
-  (goto-char (point-max))
-  (if (= (aref command 0) ?P)
-      (insert "PASS <omitted>\r\n")
-    (insert command "\r\n"))
-  (setq smtp-read-point (point))
-  (process-send-string process command)
-  (process-send-string process "\r\n"))
-
-(defun smtp-send-data-1 (process data)
-  (goto-char (point-max))
-
-  (if smtp-debug-info
-      (insert data "\r\n"))
-
-  (setq smtp-read-point (point))
-  ;; Escape "." at start of a line
-  (if (eq (string-to-char data) ?.)
-      (process-send-string process "."))
-  (process-send-string process data)
-  (process-send-string process "\r\n")
-  )
-
-(defun smtp-send-data (process buffer)
-  (let
-      ((data-continue t)
-       (sending-data nil)
-       this-line
-       this-line-end)
-
-    (save-excursion
-      (set-buffer buffer)
-      (goto-char (point-min)))
-
-    (while data-continue
-      (save-excursion
-       (set-buffer buffer)
-       (beginning-of-line)
-       (setq this-line (point))
-       (end-of-line)
-       (setq this-line-end (point))
-       (setq sending-data nil)
-       (setq sending-data (buffer-substring this-line this-line-end))
-       (if (or (/= (forward-line 1) 0) (eobp))
-           (setq data-continue nil)))
-
-      (smtp-send-data-1 process sending-data)
-      )
-    )
-  )
-
-(defun smtp-deduce-address-list (smtp-text-buffer header-start header-end)
-  "Get address list suitable for smtp RCPT TO: <address>."
-  (require 'mail-utils)  ;; pick up mail-strip-quoted-names
-  (let ((case-fold-search t)
-       (simple-address-list "")
-       this-line
-       this-line-end
-       addr-regexp
-       (smtp-address-buffer (generate-new-buffer " *smtp-mail*")))
-    (unwind-protect
-       (save-excursion
-         ;;
-         (set-buffer smtp-address-buffer)
-         (erase-buffer)
-         (insert-buffer-substring smtp-text-buffer
-                                  header-start header-end)
-         (goto-char (point-min))
-         ;; RESENT-* fields should stop processing of regular fields.
-         (save-excursion
-           (if (re-search-forward "^RESENT-TO:" header-end t)
-               (setq addr-regexp
-                     "^\\(RESENT-TO:\\|RESENT-CC:\\|RESENT-BCC:\\)")
-             (setq addr-regexp  "^\\(TO:\\|CC:\\|BCC:\\)")))
-
-         (while (re-search-forward addr-regexp header-end t)
-           (replace-match "")
-           (setq this-line (match-beginning 0))
-           (forward-line 1)
-           ;; get any continuation lines
-           (while (and (looking-at "^[ \t]+") (< (point) header-end))
-             (forward-line 1))
-           (setq this-line-end (point-marker))
-           (setq simple-address-list
-                 (concat simple-address-list " "
-                         (mail-strip-quoted-names
-                          (buffer-substring this-line this-line-end))))
-           )
-         (erase-buffer)
-         (insert-string " ")
-         (insert-string simple-address-list)
-         (insert-string "\n")
-         ;; newline --> blank
-         (subst-char-in-region (point-min) (point-max) 10 ?  t)
-         ;; comma   --> blank
-         (subst-char-in-region (point-min) (point-max) ?, ?  t)
-         ;; tab     --> blank
-         (subst-char-in-region (point-min) (point-max)  9 ?  t)
-
-         (goto-char (point-min))
-         ;; tidyness in case hook is not robust when it looks at this
-         (while (re-search-forward "[ \t]+" header-end t) (replace-match " "))
-
-         (goto-char (point-min))
-         (let (recipient-address-list)
-           (while (re-search-forward " \\([^ ]+\\) " (point-max) t)
-             (backward-char 1)
-             (setq recipient-address-list
-                   (cons (buffer-substring (match-beginning 1) (match-end 1))
-                         recipient-address-list))
-             )
-           recipient-address-list)
-         )
-      (kill-buffer smtp-address-buffer))
-    ))
-
-(defun smtp-do-bcc (header-end)
-  "Delete BCC: and their continuation lines from the header area.
-There may be multiple BCC: lines, and each may have arbitrarily
-many continuation lines."
-  (let ((case-fold-search t))
-    (save-excursion
-      (goto-char (point-min))
-      ;; iterate over all BCC: lines
-      (while (re-search-forward "^BCC:" header-end t)
-       (delete-region (match-beginning 0) (progn (forward-line 1) (point)))
-       ;; get rid of any continuation lines
-       (while (and (looking-at "^[ \t].*\n") (< (point) header-end))
-         (replace-match ""))
-       )
-      ) ;; save-excursion
-    ) ;; let
-  )
-
-(provide 'smtp)
-
-;;; smtp.el ends here
diff --git a/lisp/smtpmail.el b/lisp/smtpmail.el
deleted file mode 100644 (file)
index 77a5947..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-;;; smtpmail.el --- simple SMTP protocol (RFC 821) for sending mail
-
-;; Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-
-;; Author: Tomoji Kagatani <kagatani@rbc.ncl.omron.co.jp>
-;; Maintainer: Brian D. Carlstrom <bdc@ai.mit.edu>
-;; ESMTP support: Simon Leinen <simon@switch.ch>
-;; Keywords: mail
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;; Send Mail to smtp host from smtpmail temp buffer.
-
-;; Please add these lines in your .emacs(_emacs).
-;;
-;;(setq send-mail-function 'smtpmail-send-it)
-;;(setq smtp-default-server "YOUR SMTP HOST")
-;;(setq smtp-service "smtp")
-;;(setq smtp-local-domain "YOUR DOMAIN NAME")
-;;(setq smtp-debug-info t)
-;;(autoload 'smtpmail-send-it "smtpmail")
-;;(setq user-full-name "YOUR NAME HERE")
-
-;; To queue mail, set smtpmail-queue-mail to t and use 
-;; smtpmail-send-queued-mail to send.
-
-
-;;; Code:
-
-(require 'smtp)
-(require 'sendmail)
-(require 'time-stamp)
-
-;;;
-
-(defcustom smtpmail-queue-mail nil 
-  "*Specify if mail is queued (if t) or sent immediately (if nil).
-If queued, it is stored in the directory `smtpmail-queue-dir'
-and sent with `smtpmail-send-queued-mail'."
-  :type 'boolean
-  :group 'smtp)
-
-(defcustom smtpmail-queue-dir "~/Mail/queued-mail/"
-  "*Directory where `smtpmail.el' stores queued mail."
-  :type 'directory
-  :group 'smtp)
-
-(defvar smtpmail-queue-index-file "index"
-  "File name of queued mail index,
-This is relative to `smtpmail-queue-dir'.")
-
-(defvar smtpmail-queue-index (concat smtpmail-queue-dir
-                                    smtpmail-queue-index-file))
-
-(defvar smtpmail-recipient-address-list nil)
-
-
-;;;
-;;;
-;;;
-
-(defun smtpmail-send-it ()
-  (require 'mail-utils)
-  (let ((errbuf (if mail-interactive
-                   (generate-new-buffer " smtpmail errors")
-                 0))
-       (tembuf (generate-new-buffer " smtpmail temp"))
-       (case-fold-search nil)
-       resend-to-addresses
-       delimline
-       (mailbuf (current-buffer)))
-    (unwind-protect
-       (save-excursion
-         (set-buffer tembuf)
-         (erase-buffer)
-         (insert-buffer-substring mailbuf)
-         (goto-char (point-max))
-         ;; require one newline at the end.
-         (or (= (preceding-char) ?\n)
-             (insert ?\n))
-         ;; Change header-delimiter to be what sendmail expects.
-         (goto-char (point-min))
-         (re-search-forward
-           (concat "^" (regexp-quote mail-header-separator) "\n"))
-         (replace-match "\n")
-         (backward-char 1)
-         (setq delimline (point-marker))
-;;       (sendmail-synch-aliases)
-         (if mail-aliases
-             (expand-mail-aliases (point-min) delimline))
-         (goto-char (point-min))
-         ;; ignore any blank lines in the header
-         (while (and (re-search-forward "\n\n\n*" delimline t)
-                     (< (point) delimline))
-           (replace-match "\n"))
-         (let ((case-fold-search t))
-           (goto-char (point-min))
-           (goto-char (point-min))
-           (while (re-search-forward "^Resent-to:" delimline t)
-             (setq resend-to-addresses
-                   (save-restriction
-                     (narrow-to-region (point)
-                                       (save-excursion
-                                         (end-of-line)
-                                         (point)))
-                     (append (mail-parse-comma-list)
-                             resend-to-addresses))))
-;;; Apparently this causes a duplicate Sender.
-;;;        ;; If the From is different than current user, insert Sender.
-;;;        (goto-char (point-min))
-;;;        (and (re-search-forward "^From:"  delimline t)
-;;;             (progn
-;;;               (require 'mail-utils)
-;;;               (not (string-equal
-;;;                     (mail-strip-quoted-names
-;;;                      (save-restriction
-;;;                        (narrow-to-region (point-min) delimline)
-;;;                        (mail-fetch-field "From")))
-;;;                     (user-login-name))))
-;;;             (progn
-;;;               (forward-line 1)
-;;;               (insert "Sender: " (user-login-name) "\n")))
-           ;; Don't send out a blank subject line
-           (goto-char (point-min))
-           (if (re-search-forward "^Subject:[ \t]*\n" delimline t)
-               (replace-match ""))
-           ;; Put the "From:" field in unless for some odd reason
-           ;; they put one in themselves.
-           (goto-char (point-min))
-           (if (not (re-search-forward "^From:" delimline t))
-               (let* ((login user-mail-address)
-                      (fullname (user-full-name)))
-                 (cond ((eq mail-from-style 'angles)
-                        (insert "From: " fullname)
-                        (let ((fullname-start (+ (point-min) 6))
-                              (fullname-end (point-marker)))
-                          (goto-char fullname-start)
-                          ;; Look for a character that cannot appear unquoted
-                          ;; according to RFC 822.
-                          (if (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]"
-                                                 fullname-end 1)
-                              (progn
-                                ;; Quote fullname, escaping specials.
-                                (goto-char fullname-start)
-                                (insert "\"")
-                                (while (re-search-forward "[\"\\]"
-                                                          fullname-end 1)
-                                  (replace-match "\\\\\\&" t))
-                                (insert "\""))))
-                        (insert " <" login ">\n"))
-                       ((eq mail-from-style 'parens)
-                        (insert "From: " login " (")
-                        (let ((fullname-start (point)))
-                          (insert fullname)
-                          (let ((fullname-end (point-marker)))
-                            (goto-char fullname-start)
-                            ;; RFC 822 says \ and nonmatching parentheses
-                            ;; must be escaped in comments.
-                            ;; Escape every instance of ()\ ...
-                            (while (re-search-forward "[()\\]" fullname-end 1)
-                              (replace-match "\\\\\\&" t))
-                            ;; ... then undo escaping of matching parentheses,
-                            ;; including matching nested parentheses.
-                            (goto-char fullname-start)
-                            (while (re-search-forward 
-                                    "\\(\\=\\|[^\\]\\(\\\\\\\\\\)*\\)\\\\(\\(\\([^\\]\\|\\\\\\\\\\)*\\)\\\\)"
-                                    fullname-end 1)
-                              (replace-match "\\1(\\3)" t)
-                              (goto-char fullname-start))))
-                        (insert ")\n"))
-                       ((null mail-from-style)
-                        (insert "From: " login "\n")))))
-           ;; Insert an extra newline if we need it to work around
-           ;; Sun's bug that swallows newlines.
-           (goto-char (1+ delimline))
-           (if (eval mail-mailer-swallows-blank-line)
-               (newline))
-           ;; Find and handle any FCC fields.
-           (goto-char (point-min))
-           (if (re-search-forward "^FCC:" delimline t)
-               (mail-do-fcc delimline))
-           (if mail-interactive
-               (save-excursion
-                 (set-buffer errbuf)
-                 (erase-buffer))))
-         ;;
-         ;;
-         ;;
-         (setq smtpmail-recipient-address-list
-               (or resend-to-addresses
-                   (smtp-deduce-address-list tembuf (point-min) delimline)))
-
-         (smtp-do-bcc delimline)
-         ; Send or queue
-         (if (not smtpmail-queue-mail)
-             (if smtpmail-recipient-address-list
-                 (if (not (smtp-via-smtp
-                           smtpmail-recipient-address-list tembuf))
-                     (error "Sending failed; SMTP protocol error"))
-               (error "Sending failed; no recipients"))
-           (let* ((file-data (concat 
-                              smtpmail-queue-dir
-                              (time-stamp-strftime 
-                               "%02y%02m%02d-%02H%02M%02S")))
-                  (file-elisp (concat file-data ".el"))
-                  (buffer-data (create-file-buffer file-data))
-                  (buffer-elisp (create-file-buffer file-elisp))
-                  (buffer-scratch "*queue-mail*"))
-             (save-excursion
-               (set-buffer buffer-data)
-               (erase-buffer)
-               (insert-buffer tembuf)
-               (write-file file-data)
-               (set-buffer buffer-elisp)
-               (erase-buffer)
-               (insert (concat
-                        "(setq smtpmail-recipient-address-list '"
-                        (prin1-to-string smtpmail-recipient-address-list)
-                        ")\n"))                    
-               (write-file file-elisp)
-               (set-buffer (generate-new-buffer buffer-scratch))
-               (insert (concat file-data "\n"))
-               (append-to-file (point-min) 
-                               (point-max) 
-                               smtpmail-queue-index)
-               )
-             (kill-buffer buffer-scratch)
-             (kill-buffer buffer-data)
-             (kill-buffer buffer-elisp))))
-      (kill-buffer tembuf)
-      (if (bufferp errbuf)
-         (kill-buffer errbuf)))))
-
-(defun smtpmail-send-queued-mail ()
-  "Send mail that was queued as a result of setting `smtpmail-queue-mail'."
-  (interactive)
-  ;;; Get index, get first mail, send it, get second mail, etc...
-  (let ((buffer-index (find-file-noselect smtpmail-queue-index))
-       (file-msg "")
-       (tembuf nil))
-    (save-excursion
-      (set-buffer buffer-index)
-      (beginning-of-buffer)
-      (while (not (eobp))
-       (setq file-msg (buffer-substring (point) (save-excursion
-                                                  (end-of-line)
-                                                  (point))))
-       (load file-msg)
-       (setq tembuf (find-file-noselect file-msg))
-       (if smtpmail-recipient-address-list
-           (if (not (smtp-via-smtp smtpmail-recipient-address-list tembuf))
-               (error "Sending failed; SMTP protocol error"))
-         (error "Sending failed; no recipients"))  
-       (delete-file file-msg)
-       (delete-file (concat file-msg ".el"))
-       (kill-buffer tembuf)
-       (kill-line 1))      
-      (set-buffer buffer-index)
-      (save-buffer smtpmail-queue-index)
-      (kill-buffer buffer-index)
-      )))
-
-
-;;;
-
-(provide 'smtpmail)
-
-;;; smtpmail.el ends here
index b742de3..12cf1d0 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus-ja
-@settitle Semi-gnus 6.9.2 Manual
+@settitle Semi-gnus 6.10 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -345,7 +345,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Semi-gnus 6.9.2 Manual
+@title Semi-gnus 6.10 Manual
 
 @author by Lars Magne Ingebrigtsen
 @author by members of Semi-gnus mailing-list
@@ -399,7 +399,7 @@ Semi-gnus \e$B$O!"Bg$-$J3($,F~$C$F$$$?$j$5$^$6$^$J7A<0$rMQ$$$?$j$7$F$$$k$A$g$C\e(B
 \e$B$J8@8l7w$r:9JL$7$^$;$s!#$"$"!"%/%j%s%4%s$NJ}$O\e(B Unicode Next Generation\e$B$r\e(B
 \e$B$*BT$A$/$@$5$$!#\e(B
 
-\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.9.2 \e$B$KBP1~$7$^$9!#\e(B
+\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.10 \e$B$KBP1~$7$^$9!#\e(B
 
 @end ifinfo
 
@@ -18126,7 +18126,7 @@ Gnus \e$B$OH"$+$i=P$7$F$9$0$K\e(B @emph{\e$BHs>o$K\e(B} \e$B$h$/F0:n$7$^$9\e(B---\e$B2?
 
 @item
 @kbd{M-x gnus-version} \e$B$r;n$7$F2<$5$$!#$b$7!"\e(B
-@samp{Semi-gnus 6.9.2 (based on Gnus 5.6.45; for SEMI 1.11, FLIM 1.12)}
+@samp{Semi-gnus 6.10 (based on Gnus 5.6.45; for SEMI 1.12, FLIM 1.12)}
 \e$B$N$h$&$J$b$N$,=P$F$-$?$J$i!"@5$7$$%U%!%$%k$,FI$_9~$^$l$F$$$^$9!#\e(B
 \e$B$b$7!"\e(B@samp{NNTP 3.x} \e$B$d\e(B @samp{nntp flee} \e$B$N$h$&$J$b$N$,=P$F$-$?$H$-$O!"\e(B
 \e$B$=$3$K$"$k$$$/$D$+$N8E$$\e(B @file{.el} \e$B%U%!%$%k$,FI$_9~$^$l$F$$$^$9!#$=$l$i\e(B
index cf3105c..68372f6 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Semi-gnus 6.9.2 Manual
+@settitle Semi-gnus 6.10 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Semi-gnus 6.9.2 Manual
+@title Semi-gnus 6.10 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -361,7 +361,7 @@ internationalization/localization and multiscript features based on MULE
 API.  So Semi-gnus does not discriminate various language communities.
 Oh, if you are a Klingon, please wait Unicode Next Generation.
 
-This manual corresponds to Semi-gnus 6.9.2.
+This manual corresponds to Semi-gnus 6.10.
 
 @end ifinfo