Applied patch from Tsuyoshi Kitamoto <tsuyoshi.kitamoto@city.sapporo.jp>.
[elisp/wanderlust.git] / doc / wl.texi
index b60c79d..659f735 100644 (file)
@@ -5,7 +5,7 @@
 @c %**end of header
 @documentlanguage en
 @documentencoding us-ascii
-@set VERSION 2.3.92
+@include version.texi
 @synindex pg cp
 @finalout
 
@@ -19,7 +19,7 @@
 This file documents Wanderlust, Yet another message interface on
 Emacsen.
 
-Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi},
+Copyright @copyright{} 1998, 1999, 2000, 2001 @w{Yuuichi Teranishi},
 @w{Fujikazu Okunishi}, @w{Masahiro Murata}, @w{Kenichi Okada},
 @w{Kaoru Takahashi}, @w{Bun Mizuhara} and @w{Masayuki Osada}.
 
@@ -61,7 +61,7 @@ into another language, under the above conditions for modified versions.
 @page
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi},
+Copyright @copyright{} 1998, 1999, 2000, 2001 @w{Yuuichi Teranishi},
 @w{Fujikazu Okunishi}, @w{Masahiro Murata}, @w{Kenichi Okada},
 @w{Kaoru Takahashi}, @w{Bun Mizuhara} and @w{Masayuki Osada}.
 
@@ -172,8 +172,8 @@ IMAP4 connectivity with following imapd are confirmed to work with
 Wanderlust:
 
 @itemize @bullet
-@item UW imapd 4.1--4.7, 4.7a, 4.7b, 4.7c
-@item Cyrus imapd 1.4, 1.5.19, 1.6.22, 2.0.5
+@item UW imapd 4.1--4.7, 4.7a, 4.7b, 4.7c, 2000 or later
+@item Cyrus imapd 1.4, 1.5.19, 1.6.22, 2.0.5 or later
 @item AIR MAIL (AIRC imapd release 2.00)
 @item Express Mail
 @item Microsoft Exchange Server 5.5
@@ -243,18 +243,18 @@ FLIM:   ftp://ftp.m17n.org/pub/mule/flim/
 @end group
 @end example
 
-You have to install APEL, FLIM and SEMI in this order.  Generally
+You have to install APEL, FLIM and SEMI in this order.  Generally,
 @samp{make install} will do the job.  (In XEmacs 21, @samp{make
 install-package}.)
 
 Recommended combination of APEL, FLIM and SEMI are following:
 
 @itemize @minus
-@item APEL 10.2, FLIM 1.13.2 and SEMI 1.13.7
+@item APEL 10.3, FLIM 1.14.2 and SEMI 1.14.3
 @end itemize
 
 You can also use many other FLIM/SEMI variants. Combination of the
-latest versions should work.  For example, following combination is
+latest versions should work.  For example, the following combination are
 confirmed to work.
 
 @itemize @minus
@@ -502,9 +502,9 @@ The minimal requirement for settings is as the following.
 (setq wl-icon-dir "~/work/wl/etc")
 
 ;; @r{SMTP server for mail posting. Default: @code{nil}}
-(setq wl-smtp-posting-server "your.smtp.server.com")
+(setq wl-smtp-posting-server "your.smtp.example.com")
 ;; @r{NNTP server for news posting. Default: @code{nil}}
-(setq wl-nntp-posting-server "your.nntp.server.com")
+(setq wl-nntp-posting-server "your.nntp.example.com")
 @end group
 @end lisp
 
@@ -610,6 +610,7 @@ the program @command{ldapsearch}.
 
 You can skip this section because it is possible to add/edit the
 subscribe folders from the buffer for list of folders.
+@xref{Folder Manager}.
 
 Define the folders you want to subscribe in file @file{~/.folders}.  The
 contents written in @file{~/.folders} become the folders which you
@@ -629,14 +630,14 @@ Format for @file{~/.folders} is very simple. Here is an example:
 %inbox  "Inbox"
 +trash  "Trash"
 +draft  "Drafts"
-%#mh/Backup@@my.imap.server.com "Sent"
+%#mh/Backup@@my.imap.example.com "Sent"
 # Folder Group
 Emacsen@{
     %#mh/spool/wl            "Wanderlust ML"
     %#mh/spool/elips         "ELIPS ML"
     %#mh/spool/apel-ja       "APEL Japanese ML"
     %#mh/spool/xemacs-beta   "XEmacs beta"
-    -fj.news.reader.gnus@@other.nntp.server.com "Gnus Net news"
+    -fj.news.reader.gnus@@other.nntp.example.com "Gnus Net news"
     *-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs "fj's Emacsen"
 @}
 #
@@ -737,9 +738,9 @@ Format:
 
 You can specify @code{login} (encoded password transmission),
 @code{cram-md5} (CRAM-MD5 authentication), @code{digest-md5} (DIGEST-MD5
-authentication) or @code{plain} (or @code{nil}, plain password
+authentication) or @code{clear} (or @code{nil}, plain password
 transmission) as @var{authenticate-type}.  (To use CRAM-MD5 or
-DIGEST-MD5 authentication, you must install @file{utils/sasl} package.)
+DIGEST-MD5 authentication, you must install @file{utils/sasl} package if FLIM version is earlier than 1.14.0. If FLIM version is 1.14.0 or later, you need not install @file{utils/sasl})
 
 default:
 
@@ -761,21 +762,36 @@ You can omit the @var{hostname} from folder names if you set
 For example, you can specify a folder as @samp{foo%imap@@gateway} even
 if you have to go through a firewall.
 
-SSL (Secure Socket Layer) connection will be used if a folder name
-ends with @samp{!}. Or, if the value of @code{elmo-default-imap4-ssl} is non-nil,
-SSL will be the default connection.
-If a folder name ends with @samp{!!}, STARTTLS connection will be established.
-If the value of @code{elmo-default-imap4-ssl} is 'starttls,
+@lisp
+;; Example: imap4.exaple.org as main IMAP server
+(setq elmo-default-imap4-server "imap4.example.org")
+@end lisp
+
+SSL (Secure Socket Layer) connection will be used if a folder name ends
+with @samp{!}. Or, if the value of @code{elmo-default-imap4-stream-type}
+is @code{ssl}, SSL will be the default connection.  If a folder name
+ends with @samp{!!}, STARTTLS connection will be established.  If the
+value of @code{elmo-default-imap4-stream-type} is @code{starttls},
 STARTTLS will be the default connection.
 
+@lisp
+;; Example: Use SSL connection
+(setq elmo-default-imap4-stream-type 'ssl)
+@end lisp
+
 If you specify @code{login}, @code{cram-md5} or @code{digest-md5} as
 authentication method, the password is sent in encoded form. But, if
 your server is unable to receive an encoded password, authentication
-will fall back to @code{plain} (that is, sending password in raw format)
+will fall back to @code{clear} (that is, sending password in raw format)
 after confirmation to user. If @code{elmo-imap4-force-login} is non-nil,
-authentication will fall back to @code{plain} without confirmation
+authentication will fall back to @code{clear} without confirmation
 (default value is @code{nil}).
 
+@lisp
+;; Example: password in raw format
+(setq elmo-default-imap4-authenticate-type 'clear)
+@end lisp
+
 Example:
 
 @example
@@ -784,10 +800,10 @@ Example:
 %#mh/inbox -> IMAP mailbox "#mh/inbox"
 
 %inbox:hoge -> IMAP mailbox "inbox" of user "hoge".
-%inbox:hoge/login@@server1
+%inbox:hoge/clear@@server1
             -> server1's IMAP mailbox "inbox"
                of user "hoge", with plain password authentication
-               ('plain).
+               ('clear).
 @end group
 @end example
 
@@ -867,10 +883,10 @@ default:
 @end example
 
 AUTHINFO is used as authentication method if the @var{username} is non-nil.
-SSL will be default method if @code{elmo-default-nntp-ssl} is non-nil even
+SSL will be default method if @code{elmo-default-nntp-stream-type} is non-nil even
 if the folder name doesn't end with @samp{!}.
 If a folder name ends with @samp{!!}, STARTTLS connection will be established.
-if the value of @code{elmo-default-nntp-ssl} is @code{starttls},
+if the value of @code{elmo-default-nntp-stream-type} is @code{starttls},
 STARTTLS will be the default connection.
 
 Example:
@@ -1270,10 +1286,10 @@ To use apop as an @var{authenticate-type}, @file{md5.el} is needed
 
 If the last character of the folder name is @samp{!}, Wanderlust
 connects to the POP server via SSL (Secure Socket Layer).  If you set
-non-nil value to @code{elmo-default-pop-ssl}, you don't have to put
+non-nil value to @code{elmo-default-pop3-stream-type}, you don't have to put
 @samp{!} in the end of the folder name to use SSL. If a folder name ends
 with @samp{!!}, STARTTLS connection will be established.  if the value
-of @code{elmo-default-pop-ssl} is @code{starttls}, STARTTLS will be the
+of @code{elmo-default-pop3-stream-type} is @code{starttls}, STARTTLS will be the
 default connection.
 
 @node Multi Folder, Filter Folder, POP Folder, Folders
@@ -1635,10 +1651,14 @@ Create a new draft message.
 
 @item W
 @kindex W (Folder)
-@findex wl-folder-write-current-newsgroup
-If the current cursor point is on the NNTP folder,
-create a new draft message which already has newsgroups field.
-(@code{wl-folder-write-current-newsgroup})
+@findex wl-folder-write-current-folder
+If the current cursor point is on the NNTP folder, create a new draft
+message which already has @samp{Newsgroups:} field.  If the current
+cursor point is on the folder for mailing list (refile destination),
+create a new draft message which already has @samp{To:} field with
+guessed mailing list adderss (If @code{wl-subscribed-mailing-list} is
+valid list).
+(@code{wl-folder-write-current-folder})
 
 @item C-c C-o
 @kindex C-c C-o (Folder)
@@ -2423,6 +2443,11 @@ Enter message buffer by typing @kbd{j} key.
 To operate multipart, you have to enter to the message buffer.
 @xref{Message}.
 
+@subsection Pack the Message Numbers
+You can pack the message numbers in Summary by 
+@kbd{M-x wl-summary-pack-number}. Note that only MH Folder, 
+News Spool Folder and Maildir Folder are supported folder types.
+
 
 @node Thread Operations, Cache, Usage of Summary Mode, Summary
 @section Thread Operations
@@ -2448,8 +2473,19 @@ the appearance like following.
 If you type @kbd{/} key once again, the thread is closed.
 With prefix argument, @kbd{/} opens all children threads.
 
+If you type @kbd{[}, opens all threads in summary.  @kbd{]} closes all
+threads.
+
 Commands with the key binding that begins with @kbd{t} executes commands
 on the messages in the thread.
+@xref{Key Bindings of Summary}.
+
+@subsection reconstruct thread by hand
+
+You can reconstruct the thread manually.  In Summary, @kbd{M-w}
+(@code{wl-summary-save-current-message}) at the corresponding message,
+and @kbd{C-y} (@code{wl-summary-yank-saved-message}) at the new parent
+message then you have the reconstructed thread.
 
 
 @node Cache, Auto Refile, Thread Operations, Summary
@@ -2799,6 +2835,11 @@ yet.
 @findex wl-summary-down
 Move cursor to the downward message which is unread or marked
 as @samp{$}.
+In the offline mode, cursor is not moved to the messages which are not cached
+yet.
+If there are messages which have target mark @samp{*} in the summary,
+cursor is moved to the downward message which have a target mark.
+This behavior is changed according to the value of @code{wl-summary-move-order}.
 (@code{wl-summary-down})
 
 @item P
@@ -2806,6 +2847,11 @@ as @samp{$}.
 @findex wl-summary-up
 Move cursor to the upward message which is unread or marked
 as @samp{$}.
+In the offline mode, cursor is not moved to the messages which are not cached
+yet.
+If there are messages which have target mark @samp{*} in the summary,
+cursor is moved to the downward message which have a target mark.
+This behavior is changed according to the value of @code{wl-summary-move-order}.
 (@code{wl-summary-up})
 
 @item w
@@ -2816,10 +2862,12 @@ Prepare a new draft.
 
 @item W
 @kindex W (Summary)
-@findex wl-summary-write-current-newsgroup
-Prepare a new draft.  If the current folder is netnews folder,
-@samp{Newsgroups:} field is completed.
-(@code{wl-summary-write-current-newsgroup})
+@findex wl-summary-write-current-folder
+Prepare a new draft.  If the current folder is NNTP folder,
+@samp{Newsgroups:} field is completed.  If the current folder is mailing
+list folder (refile destination), guess @samp{To:} field and completed
+(If @code{wl-subscribed-mailing-list} is valid list)
+(@code{wl-summary-write-current-folder})
 
 @item H
 @kindex H (Summary)
@@ -3321,6 +3369,21 @@ Move to the draft buffer if available.  If multiple draft buffer exists,
 moved to one after another.  If prefix argument is specified, load draft
 folder's message to the draft buffer and jump to it.
 (@code{wl-jump-to-draft-buffer})
+
+@item M-w
+@kindex M-w (Summary)
+@findex wl-summary-save-current-message
+Save the message at the current cursor point.
+(@code{wl-summary-save-current-message})
+
+@item C-y
+@kindex C-y (Summary)
+@findex wl-summary-yank-saved-message
+Regard the message at the current cursor point as
+parent, connect the message saved by
+@code{wl-summary-save-current-message}
+to the thread.
+(@code{wl-summary-yank-saved-message})
 @end table
 
 
@@ -3374,9 +3437,11 @@ The initial setting is @samp{ja}.  Specify language of the weekday.
 displays Deutsch.
 
 @item wl-summary-fix-timezone
-@vindex  wl-summary-fix-timezone
-The initial setting is @samp{JST}.  Timezone to adjust summary's
-timezone.  If @code{nil}, adjust to GMT.
+@vindex wl-summary-fix-timezone
+The initial setting is @samp{nil}. 
+Time zone of the date string in summary mode is adjusted using this value.
+If @code{nil}, it is adjust to the default time zone information
+(system's default time zone or environment variable @samp{TZ}).
 
 @item wl-use-petname
 @vindex  wl-use-petname
@@ -3469,7 +3534,7 @@ If non-nil and @code{wl-summary-jump-to-msg-by-message-id} failed, call
 @code{wl-summary-jump-to-msg-by-message-id-via-nntp} and search message
 from the NNTP server @code{elmo-default-nntp-server}.  The value of
 @code{elmo-default-nntp-user}, @code{elmo-default-nntp-port},
-@code{elmo-default-nntp-ssl} are used.
+@code{elmo-default-nntp-stream-type} are used.
 
 If @code{confirm}, server name can be specified. You can specify NNTP
 folder format like @samp{-:username@@servername:119!}.
@@ -3569,6 +3634,30 @@ cached.
 @vindex elmo-pop3-use-cache
 The initial setting is @code{t}.  If non-nil, messages read via POP3 are
 cached.
+
+@item wl-folder-process-duplicates-alist
+@vindex wl-folder-process-duplicates-alist
+The initial setting is @code{nil}.
+This list determines how to deal with duplicated messages in the same folder.
+Each item in the list is regexp of folder name and action; you can specify any
+one of the following in the place of action:
+
+@example
+@code{nil} : do nothing for duplicated messages.
+@code{hide} : hide duplicated messages from the summary.
+@code{read} : set duplicated messages as read.
+@end example
+
+@noindent
+Following is an example (hide duplicated messages in multi folders)
+
+@lisp
+@group
+(setq wl-folder-process-duplicates-alist
+                 '(("^\\+draft$" . nil) ("^\\+trash$" . nil)
+                   ("^\\*.*" . hide) (".*" . read)))
+@end group
+@end lisp
 @end table
 
 
@@ -3623,9 +3712,27 @@ moves to the next message.
 Initial setting is @code{'(1 . 4)}.  It is a cons cell and the ratio of
 its car and cdr value corresponds to the ratio of Summary and Message
 windows.
+@item wl-message-ignored-field-list
+@vindex wl-message-ignored-field-list
+(SEMI only) Initial setting is nil.
+All fields that match this list will be hidden in message buffer.
+Each elements are regexp of field-name.
+If nil, the value of mime-view-ignored-field-list is used.
+@item wl-message-visible-field-list
+@vindex wl-message-visible-field-list
+(SEMI only) Initial setting is nil.
+All fields that match this list will be hidden in message buffer.
+Each elements are regexp of field-name. This value precedes
+wl-message-ignored-field-list.
+If nil, the value of mime-view-visible-field-list is used.
+@item wl-message-sort-field-list
+@vindex wl-message-sort-field-list
+(SEMI only) Initial setting is
+'("Return-Path" "Received" "^To" "^Cc" "Newsgroups" "Subject" "^From").
+Header fields in message buffer are orderd by this value.
+Each elements are regexp of field-name.
 @end table
 
-
 @node Draft, Disconnected Operations, Message, Top
 @chapter Draft Buffer
 
@@ -3675,13 +3782,13 @@ before sending the message.
 @lisp
 @group
 (setq wl-draft-config-alist
-      '(((string-match "aaa.ne.jp$" (system-name))
+      '(((string-match "aaa.example.com$" (system-name))
          ;; @r{applied if the expression is non-nil}
          (wl-smtp-posting-server . "mailserver-B")
          (wl-nntp-posting-server . "newsserver-B")
          ;; @r{settings of temporary variables}
          )
-        ("^To: .*user@@aaa.bbb.com"
+        ("^To: .*user@@aaa.bbb.example.com"
          ;; @r{applied if it matches the header of the draft buffer}
          ("Organization" . (format "Go %s" my-webpage)))
                        ;; @r{you can write elisp expressions here (eval only)}
@@ -3772,7 +3879,15 @@ Note that @code{wl-draft-config-alist} is applied only once when
 @code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
 Therefore, if you want to apply @code{wl-draft-config-alist} again after 
 aborting transmission, execute @kbd{C-c C-e}
-(@code{wl-draft-config-exec}).
+(@code{wl-draft-config-exec}) explicitly.
+
+If you don't want to apply @code{wl-draft-config-alist} when 
+@code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked,
+do the following:
+
+@lisp
+(remove-hook 'wl-draft-send-hook 'wl-draft-config-exec)
+@end lisp
 
 If you want to apply @code{wl-draft-config-alist} when a draft buffer is 
 prepared, do the following:
@@ -3781,6 +3896,14 @@ prepared, do the following:
 (add-hook 'wl-mail-setup-hook 'wl-draft-config-exec)
 @end lisp
 
+If you want to apply @code{wl-draft-config-alist} when you re-edit a mail
+from summary mode by typing @kbd{E}(@code{wl-summary-reedit}), do the
+following:
+
+@lisp
+(add-hook 'wl-draft-reedit-hook 'wl-draft-config-exec)
+@end lisp
+
 @subsection Inserting Templates
 @cindex Template
 @cindex Apply Template
@@ -3800,7 +3923,7 @@ The format of @code{wl-template-alist} is almost the same as
          (body . "Hello.\n"))
         ("report"
          (template . "default")                 ;; @r{(a)}
-         ("To" . "jousi@@kaisha.jp")
+         ("To" . "boss@@example.com")
          ("Subject" . "Report")
          (body-file . "~/work/report.txt")
          )
@@ -3864,10 +3987,10 @@ If unset, @code{elmo-default-pop3-authenticate-type} is used.
 The POP port number for POP-before-SMTP authentication.
 If unset, @code{elmo-default-pop3-port} is used.
 
-@item wl-pop-before-smtp-ssl
+@item wl-pop-before-smtp-stream-type
 If non-nil, POP connection is established using SSL.  If
 @code{starttls}, STARTTLS (RFC2595) connection will be established.  If
-unset, @code{elmo-default-pop3-ssl} is used.
+unset, @code{elmo-default-pop3-stream-type} is used.
 @end table
 
 If variables for POP-before-SMTP (@code{wl-pop-before-smtp-*}) are 
@@ -4171,8 +4294,8 @@ sent off-line.
 
 @item wl-draft-use-cache
 @vindex wl-draft-use-cache
-The initial setting is @code{t}.
-If non-nil, cache the message which is sent.
+The initial setting is @code{nil}. If the value is non-nil and
+@code{wl-insert-message-id} is nil, cache the message which is sent.
 
 @item wl-auto-flush-queue
 @vindex wl-auto-flush-queue
@@ -4182,11 +4305,25 @@ becomes on-line.  If non-nil, the queue is automatically transmitted
 (with confirmation by @code{y-or-n-p}).  If you want to transmit it
 manually, press @kbd{F} in the folder mode.
 
+@item wl-ignored-forwarded-headers
+@vindex wl-ignored-forwarded-headers
+Initial setting is @samp{\\(received\\|return-path\\|x-uidl\\)}.
+All headers that match this regexp will be deleted when forwarding a message.
+
+@item wl-ignored-resent-headers
+Initial setting is @samp{\\(return-receipt\\|[bdf]cc\\)}.
+All headers that match this regexp will be deleted when resending a message.
+
 @item wl-draft-always-delete-myself
 @vindex wl-draft-always-delete-myself
 If non-nil, always removes your own address from @samp{To:} and
 @samp{Cc:} when you are replying to the mail addressed to you.
 
+@item wl-draft-delete-myself-from-bcc-fcc
+@vindex wl-draft-delete-myself-from-bcc-fcc
+If any of @code{wl-subscribed-mailing-list} are contained in @samp{To:}
+or @samp{Cc:} field, do not insert @samp{Bcc:} or @samp{FCC:} field.
+
 @item wl-smtp-posting-server
 @vindex wl-smtp-posting-server
 The initial setting is @code{nil}.
@@ -4232,10 +4369,10 @@ The initial setting is @code{nil}.
 This is the port number of the NNTP server used for news submission.
 If @code{nil}, @code{elmo-default-nntp-server} is used.
 
-@item wl-nntp-posting-ssl
-@vindex wl-nntp-posting-ssl
+@item wl-nntp-posting-stream-type
+@vindex wl-nntp-posting-stream-type
 The initial setting is @code{nil}.
-If @code{nil}, @code{elmo-default-nntp-ssl} is evaluated.  If non-nil,
+If @code{nil}, @code{elmo-default-nntp-stream-type} is evaluated.  If non-nil,
 SSL is used for news submission.  If @code{starttls}, STARTTLS (RFC2595)
 connection will be established.
 
@@ -4263,11 +4400,11 @@ The initial setting is @code{nil}.
 This is the POP port number for POP-before-SMTP.  If it is @code{nil},
 @code{elmo-default-pop3-port} is used.
 
-@item wl-pop-before-smtp-ssl
-@vindex wl-pop-before-smtp-ssl
+@item wl-pop-before-smtp-stream-type
+@vindex wl-pop-before-smtp-stream-type
 The initial setting is @code{nil}.
 This flag controls the use of SSL for POP-before-SMTP.  If it is
-@code{nil}, @code{elmo-default-pop3-ssl} is used.  If @code{starttls},
+@code{nil}, @code{elmo-default-pop3-stream-type} is used.  If @code{starttls},
 STARTTLS (RFC2595) connection will be established.
 
 @item wl-draft-queue-save-variables
@@ -4317,6 +4454,13 @@ If non-nil, the value is used as port number.
 @vindex wl-ldap-base
 The initial setting is @samp{c=US}.
 LDAP search starting point (base) for address completion.
+
+@item wl-draft-remove-group-list-contents
+@vindex wl-draft-remove-group-list-contents
+The initial setting is @code{t}.
+If non-nil, remove the group-lists' members in the recipients when
+sending the message (group-list means the description such as
+@samp{Group: foo@@gohome.org, bar@@gohome.org;} in the recipients).
 @end table
 
 @node Disconnected Operations, Expire and Archive, Draft, Top
@@ -4727,6 +4871,9 @@ You can use any one of the following in the place of @var{destination}:
 @item @code{remove}
 deletes the messages instantly.
 
+@item @code{hide}
+hide the messages from summary (messages are not deleted).
+
 @item @code{trash}
 moves the messages to @code{wl-trash-folder}.
 
@@ -5694,6 +5841,7 @@ Examples with other packages.
 * mu-cite::                     mu-cite.el
 * x-face-mule::                 x-face-mule.el
 * dired-dd::                    dired-dd.el
+* MHC::                         MHC
 @end menu
 
 
@@ -5804,8 +5952,9 @@ If you use x-face-mule 0.19 or older, do the following:
 @group
 (setq wl-highlight-x-face-func
       (function
-       (lambda (beg end)
-        (x-face-mule:x-face-decode-message-header))))
+       (lambda (&optional beg end)
+         (x-face-mule:x-face-decode-message-header))))
+(require 'x-face-mule)
 @end group
 @end lisp
 
@@ -5815,8 +5964,8 @@ If you use x-face-mule 0.20 or later, try the following:
 @group
 (setq wl-highlight-x-face-func
       (function
-       (lambda (beg end)
-        (x-face-mule-x-face-decode-message-header))))
+       (lambda (&optional beg end)
+         (x-face-mule-x-face-decode-message-header))))
 (require 'x-face-mule)
 @end group
 @end lisp
@@ -5837,7 +5986,7 @@ value of the variable @code{wl-x-face-file}), it is inserted as a
 @code{wl-auto-insert-x-face} is non-nil).
 
 
-@node dired-dd,  , x-face-mule, Living with other packages
+@node dired-dd, MHC, x-face-mule, Living with other packages
 @subsection dired-dd(Dired-DragDrop)
 @pindex Dired-DragDrop
 @pindex Dired-DD
@@ -5864,6 +6013,34 @@ specific, but general-purpose for tm/SEMI).
 @end group
 @end lisp
 
+@node MHC, , dired-dd, Living with other packages
+@subsection mhc.el
+@pindex MHC
+
+Message Harmonized Calendaring system
+(@uref{http://www.quickhack.net/mhc/})
+
+By using MHC, you can make a calendar from the messages.
+
+For mhc-0.25:
+
+@lisp
+@group
+(setq mhc-mailer-package 'wl)
+(autoload 'mhc-mode "mhc" nil t)
+(add-hook 'wl-summary-mode-hook 'mhc-mode)
+(add-hook 'wl-folder-mode-hook 'mhc-mode)
+@end group
+@end lisp
+
+For mhc-current:
+
+@lisp
+@group
+(autoload 'mhc-wl-setup "mhc-wl")
+(add-hook 'wl-init-hook 'mhc-wl-setup)
+@end group
+@end lisp
 
 @node Highlights, Biff, Living with other packages, Customization
 @section Highlights
@@ -6091,12 +6268,12 @@ folder mode.
 
 @item wl-highlight-folder-opened-face
 The face for open groups in the folder mode.
-It is meaningful when @code{wl-highlight-group-folder-by-numbers} is
+It is meaningful when @code{wl-highlight-folder-by-numbers} is
 @code{nil} or a @var{number}.
 
 @item wl-highlight-folder-closed-face
 The face for close groups in the folder mode.
-It is meaningful when @code{wl-highlight-group-folder-by-numbers} is
+It is meaningful when @code{wl-highlight-folder-by-numbers} is
 @code{nil} or a @var{number}.
 
 @item wl-highlight-folder-path-face
@@ -6134,6 +6311,15 @@ If @code{nil}, wl doesn't check mail arrival.
 @vindex wl-biff-check-interval
 The initial setting is 40 (in seconds).
 Check mail arrival in this period. 
+
+@item wl-biff-notify-hook
+@vindex wl-biff-notify-hook
+The initial setting is @code{nil}.
+This is a hook run at the arrival of the new mail.
+To beep, set as:
+@lisp
+(setq wl-biff-notify-hook '(beep))
+@end lisp
 @end table
 
 
@@ -6149,6 +6335,10 @@ Check mail arrival in this period.
 
 @node Draft for Reply, Thread Format, Advanced Settings, Advanced Settings
 @subsection Draft for Replay
+@vindex wl-draft-reply-with-argument-list
+@vindex wl-draft-reply-without-argument-list
+@vindex wl-draft-reply-myself-with-argument-list
+@vindex wl-draft-reply-myself-without-argument-list
 
 If you want, when you replying to articles in mailing lists, the address
 in Reply-To field of the original message to be prepared to To field of
@@ -6173,6 +6363,11 @@ copied to @samp{To:} field.)
 Moreover, the behavior of @kbd{a} with prefix argument can 
 be directed by @code{wl-draft-reply-with-argument-list} as well.
 
+Note: To set the behavior when you reply to the message written by yourself, use
+@code{wl-draft-reply-myself-without-argument-list} and
+@code{wl-draft-reply-myself-with-argument-list}
+instead of them.
+
 @node Thread Format, User-Agent Field, Draft for Reply, Advanced Settings
 @subsection Appearance of Threads
 
@@ -6607,6 +6802,8 @@ valuable advice and many pieces of code they contributed.
       7/11    killed message feature.
       7/18    Use UIDL in POP3.
       9/12    biff feature with Satata-san & Yamaoka-san.
+     10/17    expire-hide by Okada-san.
+     11/08    Released 2.4.0 stable.
 @end example
 
 See @file{ChangeLog} for details.