* Remove outdated description and clarify (Thanks to John Owens)
[elisp/wanderlust.git] / doc / wl.texi
index 6ff0651..fc02feb 100644 (file)
@@ -4,7 +4,6 @@
 @settitle Wanderlust -- Yet Another Message Interface On Emacsen --
 @c %**end of header
 @documentlanguage en
-@documentencoding us-ascii
 @include version.texi
 @synindex pg cp
 @finalout
@@ -119,8 +118,12 @@ This manual is for Wanderlust @value{VERSION}.
 * Disconnected Operations::  Off-Line management
 * Expire and Archive::       Automatic expiration and archiving of messages
 * Scoring::                  Score of the messages
+* Split messages::           Splitting messages
 * Address Book::             Management of Address Book
+* Spam Filter::              Spam filtering
+* Batch Processing::         Invoke commands in batch mode
 * Customization::            Customizing Wanderlust
+* Migration::                Switch from older version of Wanderlust
 * Terminology::              Terminologies
 * Mailing List::             Wanderlust mailing list
 * Addition::                 Additional Information
@@ -145,8 +148,8 @@ The main features of Wanderlust:
 @item Manages unread messages.
 @item Interactive thread display.
 @item Folder Mode shows the list of subscribed folders.
-@item Message Cache, Disconnected Operation (Read Only).
-@item MH-like FCC. (FCC: %Backup and FCC: $Backup is allowed).
+@item Message Cache, Disconnected Operation.
+@item MH-like FCC. (Fcc: %Backup and Fcc: $Backup is allowed).
 @item MIME compliant (by SEMI).
 @item Transmission of news and mail are unified by Message transmitting draft.
 @item Graphical list of folders (XEmacs and Emacs 21).
@@ -210,6 +213,7 @@ here.
 * Minimal Settings::  @file{.emacs} setup
 * Folder Definition:: Folder definition
 * Start Wanderlust::  Starting Wanderlust
+* Overview::          Basic components of Wanderlust
 @end menu
 
 
@@ -253,7 +257,7 @@ may help you.}.
 Recommended combination of APEL, FLIM and SEMI are following:
 
 @itemize @minus
-@item APEL 10.3, FLIM 1.14.3 and SEMI 1.14.3
+@item APEL 10.6, FLIM 1.14.6 and SEMI 1.14.6
 @end itemize
 
 You can also use many other FLIM/SEMI variants. Combination of the
@@ -261,8 +265,8 @@ latest versions should work.  For example, the following combination are
 confirmed to work.
 
 @itemize @minus
-@item APEL 10.2, Chao 1.14.1, REMI 1.14.2
-@item APEL 10.2, SLIM 1.14.3, EMY 1.13.9
+@item APEL 10.6, SLIM 1.14.9, SEMI 1.14.5
+@item APEL 10.6, CLIME 1.14.5, EMIKO 1.14.1
 @end itemize
 
 You have to re-install Wanderlust if you upgraded APEL, FLIM or SEMI.
@@ -283,12 +287,10 @@ Mirrored ftp/http sites:
 
 @example
 @group
-ftp://ftp.jaist.ac.jp/pub/GNU/elisp/ftp.gohome.org/wl/
+@c ftp://ftp.jaist.ac.jp/pub/GNU/elisp/ftp.gohome.org/wl/
 http://www.jpl.org/elips/wl/
 http://www.ring.gr.jp/archives/text/elisp/wl/
 ftp://ftp.ring.gr.jp/pub/text/elisp/wl/
-ftp://opaopa.org/pub/mirror/elisp/wl/
-@c ftp://roguelife.org/pub/tsumura/wl/
 @end group
 @end example
 
@@ -363,9 +365,10 @@ In this case, either add destination directories of custom, APEL, FLIM
 and SEMI to environmental variable @env{EMACSLOADPATH}, or define
 @code{load-path} in @file{WL-CFG} in extracted directory.
 
-If you want to use BBDB, then the necessary modules are byte-compiled
-and installed when BBDB directory is added to @code{load-path}.
-@xref{BBDB}.
+If you want to handle shimbun folders or to use BBDB, add directory
+where emacs-w3m or BBDB is installed to @code{load-path}. Then necessary
+modules will be byte-compiled and installed.
+@xref{Shimbun Folder}, @xref{BBDB}.
 
 @subsection @file{WL-CFG}
 
@@ -488,9 +491,6 @@ The minimal requirement for settings is as the following.
 
 @lisp
 @group
-;; @r{The setting to use SEMI}
-(require 'mime-setup)
-
 ;; @r{autoload configuration}
 ;; @r{(Not required if you have installed Wanderlust as XEmacs package)}
 (autoload 'wl "wl" "Wanderlust" t)
@@ -516,9 +516,8 @@ because you can't write them in @file{.emacs}
 (if you write it to @file{.emacs}, you'll get an error).
 @xref{Highlights}.
 
-All above described settings except @samp{(require 'mime-setup)} and autoload
-configuration can be written in
-@file{~/.wl}).
+All above described settings except autoload configuration can be written
+in @file{~/.wl}).
 
 @subsection @code{mail-user-agent}
 @cindex Default Mailer
@@ -526,13 +525,13 @@ configuration can be written in
 @vindex mail-user-agent
 @findex compose-mail
 
-If you write following setting in you @file{.emacs}, you can
+If you write following setting in your @file{~/.emacs}, you can
 start Wanderlust draft mode by typing @kbd{C-x m} (@code{compose-mail}).
 This means it enables you to run Wanderlust as a default mail composer
  of Emacsen.
 
 It is effective only when your Emacs can define @code{mail-user-agent}.
-@xref{Mail Methods, , ,emacs-ja, The Emacs Editor}.
+@xref{Mail Methods, , ,emacs, The Emacs Editor}.
 
 @lisp
 @group
@@ -613,15 +612,15 @@ There are two types of groups. One is like @samp{Emacsen} from above
 example which the user chooses his favorite folders as a group.
 
 The other one is @dfn{access group} like @samp{+ /} from above example.
-It makes all the sub-folders in a folder to a group.  (It differs from
-the type of the folder. For example, @samp{+} followed by @samp{/}
-makes entire MH sub-directories to one group)
+It collects all sub-folders in the folder to make a group.  (Its
+behavior differs by the type of the folder. For example, @samp{+}
+followed by @samp{/} makes entire MH sub-directories to one group)
 
 This behavior is better understood if you try it and confirmed the
 function first. You can write and try a small folder definition, so you
 will know the idea of the folder function before writing the real one.
 
-@node Start Wanderlust,  , Folder Definition, Start Me Up
+@node Start Wanderlust, Overview, Folder Definition, Start Me Up
 @section Start Wanderlust
 @cindex Start Wanderlust
 
@@ -633,31 +632,37 @@ M-x wl
 @end example
 
 @noindent
-After initialization, Folder Mode which shows the list of folders will appear.
-That means the folders you defined in the @file{~/.folders} are listed
+After initialization, Folder Mode which shows the list of folders will
+appear. That means the folders you defined in the @file{~/.folders} are
+listed.
+
 If you start Wanderlust with prefix argument like @kbd{C-u M-x wl}, you
 can skip folder checking.
 
+
+@node Overview,  , Start Wanderlust, Start Me Up
+@section Overview
+@cindex Overview
+
 Basically, you will handle messages in wanderlust while you come and go
-from/to each of the following buffers.
+from/to each of the following buffers.  Details of each ones are
+explained in following chapters.
 
 @table @samp
 @item Folder Buffer
 You can see the list of folders. You can select some folder and go into the summary
 of it. You can subscribe new folder or edit subscription list.
 @item Summary Buffer
-You can see the list of messages in the folder. You can select message and view its
-contents, and reply to some message. You can delete ones or move ones to another
-folder.
+You can see the list of messages in the folder. You can select message
+and view its contents, and reply to some message. You can delete ones or
+move ones to another folder.
 @item Message Buffer
-You can see the contents of the message. You can save part to disk or open in external
-programs.
+You can see the contents of the message. You can save part to disk or
+open in external programs.
 @item Draft Buffer
 You can edit message.
 @end table
 
-Details of each ones are explained later.
-
 
 @node Folders, Folder, Start Me Up, Top
 @chapter Wanderlust's folders
@@ -668,9 +673,9 @@ This chapter describes the folder types which Wanderlust is able to handle.
 Wanderlust uses ELMO as it's interface, so you can use every folder types
 supported by ELMO.
 
-As of version @value{VERSION}, 11 types of folders are predefined. These are
-IMAP, NNTP, LocalDir(MH), Maildir, News Spool, Archive, POP, Multi, Filter,
-Pipe and Internal folder types.
+As of version @value{VERSION}, 14 types of folders are predefined. These
+are IMAP, NNTP, LocalDir(MH), Maildir, News Spool, Archive, POP,
+Shimbun, Namazu, Multi, Filter, Pipe, Internal and File folder types.
 
 @menu
 * IMAP Folder::                 @samp{%} -- IMAP folder
@@ -686,6 +691,7 @@ Pipe and Internal folder types.
 * Filter Folder::               @samp{/} -- Filter folder
 * Pipe Folder::                 @samp{|} -- Pipe folder
 * Internal Folder::             @samp{'} -- Internal folder
+* File Folder::                          -- File folder
 @end menu
 
 
@@ -740,11 +746,14 @@ if you have to go through a firewall.
 @end lisp
 
 SSL (Secure Socket Layer) connection will be used if a folder name ends
-with @samp{!}. Or, if the value of @code{elmo-imap4-default-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-imap4-default-stream-type} is @code{starttls},
-STARTTLS will be the default connection.
+with @samp{!}.  If a folder name ends with @samp{!!}, STARTTLS
+connection will be established.
+
+If the value of @code{elmo-imap4-default-stream-type} is @code{ssl},
+SSL will be the default connection, i.e. you can omit @samp{!}.  If it
+is is @code{starttls}, STARTTLS will be the default connection.  To use
+normal connection in these cases, add @samp{!direct} at the end of
+folder name.
 
 @lisp
 @group
@@ -792,47 +801,24 @@ Example:
 @pindex ucs-conv
 
 You can use international mailbox names in @var{mailbox} part, if you
-are using Emacs which can treat unicode and
+are using Emacs with UTF-7 support and
 @code{elmo-imap4-use-modified-utf7} is set to non-nil value (default
 value is @code{nil}).
 
-Currently, following Emacsen can treat unicode.
+Currently, Mule-UCS package is required to use UTF-7.
+Mule-UCS works on following Emacsen.
 
 @itemize @bullet
-@item Emacs 20.3 or later + Mule-UCS
+@item Emacs 20.3 or later
+@item XEmacs 21.2.37 or later
+@end itemize
 
-If you installed Mule-UCS package, Emacs can treat unicode.
 You can obtain Mule-UCS package from following URL.
 
 @example
 ftp://ftp.m17n.org/pub/mule/Mule-UCS/
 @end example
 
-@item XEmacs 21.2.13 or later + ucs-conv package
-
-By default, XEmacs 21 cannot treat unicodes, but if you installed
-ucs-conv package, it can.
-You can obtain ucs-conv package from following anonymous CVS.
-
-@example
-@group
-cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
-Password: @var{NULL} (Just enter return key)
-cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout ucs-conv
-@end group
-@end example
-
-You also need utf7 conversion programs, @command{u7tou8} and
-@command{u8tou7} to use international mailbox name in the current
-XEmacs.  These programs are included in the UTF7 package which can be
-obtained from following URL.
-
-@example
-ftp://ftp.ifcss.org/pub/software/unix/convert/utf7.tar.gz
-@end example
-@end itemize
-
-
 @node NNTP Folder, MH Folder, IMAP Folder, Folders
 @section NNTP Folder
 @cindex @samp{-}
@@ -866,12 +852,15 @@ default:
 @end example
 
 AUTHINFO is used as authentication method if the @var{username} is
-non-nil.  SSL will be default method if
-@code{elmo-nntp-default-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-nntp-default-stream-type} is @code{starttls}, STARTTLS will
-be the default connection.
+non-nil.  SSL connection will be used if a folder name ends with @samp{!}.
+If a folder name ends with @samp{!!}, STARTTLS connection will be
+established.
+
+If the value of @code{elmo-nntp-default-stream-type} is @code{ssl},
+SSL will be the default connection, i.e. you can omit @samp{!}.  If it
+is is @code{starttls}, STARTTLS will be the default connection.  To use
+normal connection in these cases, add @samp{!direct} at the end of
+folder name.
 
 Example:
 
@@ -1281,12 +1270,14 @@ To use apop as an @var{authenticate-type}, @file{md5.el} is needed
 (GPL2).
 
 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-pop3-default-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-pop3-default-stream-type} is @code{starttls}, STARTTLS will be the
-default connection.
+connects to the POP server via SSL (Secure Socket Layer).  If a folder
+name ends with @samp{!!}, STARTTLS connection will be established.
+
+If the value of @code{elmo-pop3-default-stream-type} is @code{ssl},
+SSL will be the default connection, i.e. you can omit @samp{!}.  If it
+is is @code{starttls}, STARTTLS will be the default connection.  To use
+normal connection in these cases, add @samp{!direct} at the end of
+folder name.
 
 
 @node Shimbun Folder, Namazu Folder, POP Folder, Folders
@@ -1329,10 +1320,19 @@ Example:
 @table @code
 @item elmo-shimbun-update-overview-folder-list
 @vindex elmo-shimbun-update-overview-folder-list
-The initial setting is @code{nil}. You can specify a list of regular
-expressions of shimbun folder names. The overview of matched shimbun
-folder is updated when messages are fetched.
-You should @kbd{s rescan} after fetching to update summary.
+The initial setting is @code{all}. Specify a set of folders to update
+overview when messages are fetched. Specify @code{all} to update
+overview in all shimbun folders. You can specify a list of regular
+expressions of shimbun folder names to restrict affected folders.
+
+Example:
+
+@example
+(setq elmo-shimbun-update-overview-folder-list
+      '("^@@airs\\." "^@@namazu\\."))
+@end example
+
+@kbd{s rescan} is needed after fetching to update summary view.
 @end table
 
 
@@ -1463,6 +1463,7 @@ Example:
 @cindex Folder, Filtering
 @cindex Folder, Virtual
 @cindex Folder, Conditional
+@cindex Flag
 
 A folder to access virtual folder which collects all messages that
 satisfy a condition.
@@ -1539,9 +1540,42 @@ Example:
 @end example
 
 @item
+Flag filter: @samp{flag:@var{flag-name}}
+
+Pick up messages with flag specified by @var{flag-name}.
+
+You can specify following flag names:
+
+@example
+@group
+unread    -> unread
+important -> important
+answered  -> replied
+digest    -> unread or important
+any       -> unread or important or replied
+@end group
+@end example
+
+You can also use flags which you have set as global flag.
+@xref{Internal Folder}.
+
+Example:
+
+@example
+@group
+/flag:digest/%inbox     -> a folder consist of unread or important
+                           message in %inbox.
+/flag:wl/+ML/Wanderlust -> a folder consist of messages with global flag
+                           wl in +ML/Wanderlust.
+@end group
+@end example
+
+@item
 Compound condition
 
-If you combine conditions by character @samp{|}, it is considered as OR condition. @samp{&} is considered as AND condition, likewise.
+A condition starting with @samp{!} indicates a negation.
+If you combine conditions by character @samp{|}, it is considered as OR condition.
+@samp{&} is considered as AND condition, likewise.
 Condition can be grouped by parentheses (@samp{(}, and @samp{)}).
 
 @samp{/tocc:xxxx/} is an abbreviation of @samp{/to:xxxx|cc:xxxx/}.
@@ -1658,11 +1692,12 @@ Example:
 
 After messages are moved, a hook @code{elmo-pipe-drained-hook} is called.
 
-@node Internal Folder,  , Pipe Folder, Folders
+@node Internal Folder, File Folder, Pipe Folder, Folders
 @section Internal folder
 @cindex @samp{'}
 @cindex Internal Folder
 @cindex Folder, @samp{$} mark
+@cindex Flag
 @cindex Cache
 @c @cindex Folder, Null
 
@@ -1672,25 +1707,27 @@ Format:
 
 @example
 @group
-'mark
-'sendlog
-'cache/00 - 1F
+@samp{'flag} [@samp{/} @var{global-flag}]
+@samp{'sendlog}
+@samp{'cache/00} - @samp{'cache/1F}
 @end group
 @end example
 
-A folder named @samp{'mark} is a special virtual folder which collects
-messages which have important mark @samp{$}.
+A folder named @samp{'flag} is a special virtual folder which collects
+messages which have @var{global-flag}.
 
+There is @samp{important} flag defined as @var{global-flag} by default.
 You can review important messages at once after you put important marks
-on the messages in the different folders.
+on the messages in the different folders.  If @var{global-flag} is omitted,
+it is treated as @samp{important} flag is specified.
 
-In this folder, if you delete message, important mark @samp{$} put on
-the message is removed.  If you append messages to this folder, the
-message will have @samp{$} mark.
+In addition, in summary mode, to be described later, you can freely
+define global flags and put them on messages.
+@xref{Usage of Summary mode}.
 
-(Can't remove important mark @samp{$} on IMAP server from @samp{'mark}
-folder.  If you want IMAP folder's message remove from @samp{'mark}
-folder, remove important mark at IMAP Folder.)
+In this folder, if you delete message, @var{global-flag} put on the
+message is removed.  If you append messages to this folder, the message
+will have @var{global-flag}.
 
 
 A folder named @samp{'sendlog} is a virtual folder which collects
@@ -1706,6 +1743,11 @@ the name of the subdirectories of the cache directory
 (@file{~/.elmo/cache}).
 
 
+@node File Folder,  , Internal Folder, Folders
+@section File folder
+@cindex File Folder
+
+
 @node Folder, Summary, Folders, Top
 @chapter Folder mode
 @cindex Folder
@@ -1924,7 +1966,7 @@ Flush queue.
 @item V
 @kindex V (Folder)
 @findex wl-folder-virtual
-Move to the virtual folder with the condition specified.
+Move to the virtual folder (filter folder) with the condition specified.
 (@code{wl-folder-virtual})
 
 @item ?
@@ -2067,15 +2109,6 @@ Example:
 
 @item wl-folder-hierarchy-access-folders
 @vindex wl-folder-hierarchy-access-folders
-The initial setting is the list shown below:
-
-@lisp
-@group
-("^-$" "^-alt$")
-@end group
-@end lisp
-
-@noindent
 A list of regular expressions for access groups which creates children
 folder list hierarchically.
 
@@ -2085,7 +2118,7 @@ For example, if you specify
 @lisp
 @group
 (setq wl-folder-hierarchy-access-folders
-     '("^-$" "^-alt$" "^-japan$" "^-comp$" "^-comp.unix$"))
+     '("^-[^\\.]*$" "^-comp.unix$" "^-comp.unix.bsd$"))
 @end group
 @end lisp
 
@@ -2500,6 +2533,8 @@ mode.
 * Cache::                       File cache, Buffer cache, and Prefetch
 * Auto Refile::                 Auto refile settings
 * Sticky Summary::              Summary make sticky
+* Summary View::                Format of summary lines
+* Mark and Action::             Temporary marks and their effect
 * Key Bindings of Summary::     Key bindings
 * Variables of Summary::        Customize Summary Mode
 @end menu
@@ -2528,7 +2563,9 @@ Each line displays:
 @end example
 
 @noindent
-You cannot change this in the current version.
+If you want to know how to change the format for this, please refer
+the section format of Summary lines.
+@xref{Summary View}.
 
 @var{Message number} is the message's unique number in the folder. In
 the NNTP folder, it is article number, in the IMAP folder, it is UID and
@@ -2560,7 +2597,7 @@ message has empty subject field.
 @cindex Mark, Temporary
 
 There are four temporary marks,
-@samp{*}, @samp{D}, @samp{o} and @samp{O}.
+@samp{*}, @samp{d}, @samp{D}, @samp{o}, @samp{O}, @samp{i} and @samp{~}.
 Temporary marks indicates message operations.
 
 @table @samp
@@ -2569,8 +2606,11 @@ Target mark.
 You can execute a command on the all messages that have @samp{*} mark,
 with the key bindings which begins with @kbd{m}.
 
+@item d
+The mark to dispose. You can put @samp{d} by typing @kbd{d} key.
+
 @item D
-The mark to delete. You can put @samp{D} by typing @kbd{d} key.
+The mark to force delete. You can put @samp{D} by typing @kbd{D} key.
 
 @item o
 The mark to refile.
@@ -2582,14 +2622,23 @@ The mark to refile.
 You can put this mark by typing @kbd{O} key.
 The difference between this mark and refile mark is,
 this mark does not delete the message while latter does.
+
+@item i
+The mark to prefetch reserved.
+You can put this mark by typing @kbd{i} key.
+
+@item ~
+The mark to resend reserved.
+After you type @kbd{~} key, prompt appears to input address to resend.
+Your answer is printed in the summary line.
 @end table
 
-@kbd{x} key executes @samp{D}, @samp{o} and @samp{O} marks.
+@kbd{x} key executes action for temporary marks, respectively.
 
 @subsection Persistent Marks
 
-There are five persistent marks,
-@samp{N}, @samp{U}, @samp{!}, @samp{u} and @samp{$}.
+There are five persistent marks, @samp{N}, @samp{?}, @samp{U}, @samp{!},
+@samp{u}, @samp{A}, @samp{&} and @samp{$}.
 
 The persistent mark indicates the message's status and it is saved.
 Each persistent mark indicates:
@@ -2597,28 +2646,35 @@ Each persistent mark indicates:
 @table @samp
 @item N
 It is new message.
+@item ?
+It is new but cached message.
 @item U
 It is unread message.
 @item !
 It is unread but cached message.
 @item u
 It is read but it is not cached.
+@item A
+It is already replied message.
+@item &
+It is already replied but cached message.
 @item $
-It is important message.  You can put @samp{$} mark by typing @kbd{$}
-key (if already exists, the mark is deleted).  It is convenient to put
-this mark on the messages to remember (If you want to remember to write
-a reply for the message, for example) because this mark remains after
-you exited Emacs.  Messages with the @samp{$} mark can be reviewed in the
-@samp{'mark} folder even the message itself is deleted in the actual folder.
+It is a message with some global flag.  It is convenient to put this
+mark on the messages to remember (If you want to remember to write a
+reply for the message, for example) because this mark remains after
+you exited Emacs.  Messages with the @samp{$} mark can be reviewed in
+the @samp{'flag} folder even the message itself is deleted in the actual
+folder. You can put global flag by typing @kbd{$} or @kbd{F} key.
 
 @item None
 If the message is read and cached (or local message),there are no
 persistent mark.
 @end table
 
-@samp{N}, @samp{U} and @samp{u} indicates that the message have no
-cache.  Messages with the marks other than these, you can read them in
-the offline status even they are in the IMAP folder or netnews folder.
+@samp{N}, @samp{U}, @samp{u}, @samp{A} indicates that the message have
+no cache.  Messages with the marks other than these, you can read them
+in the offline status even they are in the IMAP folder or netnews
+folder.
 
 Among messages with persistent marks, ones with marks specified by 
 @code{wl-summary-expire-reserve-marks} are excluded from the expiration
@@ -2688,14 +2744,16 @@ message then you have the reconstructed thread.
 @subsection Cache File
 
 The messages which have to access via network (e.x. IMAP, NNTP folder)
-are cached as a local file.  The cache file is saved under the directory
+are cached as a local file so as to save network traffic or to enable
+off-line operation.  The cache file is saved under the directory
 @file{~/.elmo/cache}.  To expire cache, type @kbd{M-x
 elmo-cache-expire-by-size}.  The command deletes cache files to the
 specified size by the order of last accessed time.
 
 @subsection Buffer Cache and Prefetching
 
-The messages that are read are kept in the cache buffer.  It is called
+The messages that are read are kept in the cache buffer so as to make
+the behavior fast when you are to read the message again.  It is called
 `buffer cache'. The number of cache buffer is specified by
 @code{wl-message-buffer-cache-size}.
 
@@ -2808,8 +2866,8 @@ folder string. You can specify a rule at @var{target} part, too.  In this
 case, If the field value of the rule and the current rule is matched,
 then the current rule is fired (i.e. AND condition).
 
-In @var{target} part, you can refer matched substring of @var{regexp}.
-To refer substring, specify following in @var{target}:
+You can refer matched substring of @var{regexp} to specify @var{target} part.
+To refer substring, use following keys:
 
 @table @samp
 @item \&
@@ -2852,7 +2910,7 @@ To execute auto refile on all messages, set following.
 @end lisp
 
 
-@node Sticky Summary, Key Bindings of Summary, Auto Refile, Summary
+@node Sticky Summary, Summary View, Auto Refile, Summary
 @section Sticky Summary
 @cindex Summary, Sticky
 @cindex Sticky Summary
@@ -2880,7 +2938,150 @@ are same as normal summary.
 are automatically stuck.
 
 
-@node Key Bindings of Summary, Variables of Summary, Sticky Summary, Summary
+@node Summary View, Mark and Action, Sticky Summary, Summary
+@section Format of summary lines
+@cindex Format of summary lines
+You can alter the format of lines in Summary mode.
+
+Summary line format is specified by @code{wl-summary-line-format}.
+You can use control strings defined by
+@code{wl-summary-line-format-spec-alist}.
+
+An example follows.
+
+@lisp
+@group
+;; @r{number temporary-mark persistent-mark date branch}
+;; @r{[ (number-of-children) sender ] subject}
+(setq wl-summary-line-format "%n%T%P%M/%D(%W) %t%[%17(%c %f%) %] %s")
+@end group
+@end lisp
+
+Where the number set the column number of the field (for negative value,
+filled from right)
+
+Major control strings defined by @code{wl-summary-line-format-spec-alist}
+are displayed in the following list.
+
+@example
+@group
+%n  message number
+%Y  year
+%M  month
+%D  day
+%W  day of week
+%h  hour
+%m  minute
+%t  branch of the thread
+%[  [ (< for re-connected child)
+%]  ] (> for re-connected child)
+%f  sender
+%s  subject
+%S  size
+%c  +number-of-children: (display only for opened thread)
+%C  [+number-of-children] (display only for opened thread)
+%T  temporary mark (mandatory)
+%P  persistent mark (mandatory)
+@end group
+@end example
+
+@code{wl-summary-line-format} must contain temporary mark (@samp{%T})
+and persistent mark (@samp{%P}). Furthermore, these marks must appear at
+the constant column. For example, if you specify @samp{%T} or
+@samp{%P} after the @samp{%t}, which changes its length by thread
+position, marks are not treated correctly.
+
+If the format string is enclosed by @samp{%number(} and @samp{%)}, the
+column of the enclosed region is justified to the `number'. Multiple
+level @samp{%number(} parenthesis can be defined.  It is useful to
+justify the column of the multiple control strings.  For example, in the
+above @code{wl-summary-line-format},
+
+@example
+%17(%c %f%)
+@end example
+
+means ``Adjust number-of-children and sender string to the 17 column''.
+
+You can specify the format by each folders with
+@code{wl-folder-summary-line-format-alist}.  Please set regular
+expression for folder names and summary line format as the following
+example.
+
+@lisp
+@group
+(setq wl-folder-summary-line-format-alist
+      '(("^%" . "%T%P%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s")
+        ("^+" . "%n%T%P%M/%D %[ %17f %] %t%C%s")))
+@end group
+@end lisp
+
+@subsection on the format for sender name
+
+The format string @samp{%f} displays the return value of the function specified
+by @code{wl-summary-from-function}. If you use the function
+@code{wl-summary-default-from} (default), it displays sender name ordinarily,
+while displays the recipient names if the folder name matches with
+@code{wl-summary-showto-folder-regexp} and the sender is yourself.
+If the value of @code{wl-use-petname} is Non-nil, it uses petname to display.
+
+For example, to display recipient names for the message in @samp{+backup} if
+its sender is yourself, set up as follows.
+
+@lisp
+(setq wl-summary-showto-folder-regexp "^\\+backup$")
+@end lisp
+
+
+@node Mark and Action, Key Bindings of Summary, Summary View, Summary
+@section Temporary marks and their effect
+@cindex Mark and Action
+
+You can define temporary marks and corresponding procedure by
+@code{wl-summary-mark-action-list}.  Initially, refile (@samp{o}), copy
+(@samp{O}), dispose (@samp{d}), delete (@samp{D}), prefetch (@samp{i})
+and resend (@samp{~}) are defined.
+
+Each element of @code{wl-summary-mark-action-list} consists of
+
+@example
+(@samp{MARK} @samp{SYMBOL}
+ @samp{ARGUMENT-FUNCTION} @samp{SET-MARK-FUNCTION} @samp{EXEC-FUNCTION}
+ @samp{FACE} @samp{DOC-STRING})
+@end example
+
+@samp{MARK} is a temporary mark string, and @samp{SYMBOL} is the name of
+the action to be defined.  @samp{ARGUMENT-FUNCTION} is a function to
+generate argument to be given to @samp{SET-MARK-FUNCTION}, which will be
+described next, and it takes arguments:
+
+@example
+(@samp{ACTION} @samp{NUMBER})
+@end example
+
+Where @samp{ACTION} equals to @samp{SYMBOL}, and @samp{NUMBER} is message
+number.  @samp{SET-MARK-FUNCTION} is a function to be called when the mark
+is put. It takes arguments:
+
+@example
+(@samp{NUMBER} @samp{MARK} @samp{DATA})
+@end example
+
+Where @samp{NUMBER} is target message number, @samp{MARK} is a temporary
+mark string, and @samp{DATA} is given by @samp{ARGUMENT-FUNCTION}.
+
+@samp{EXEC-FUNCTION} is a function to be called when the action is
+executed. Its argument is a list of @samp{MARK-INFO}.  Here @samp{MARK-INFO}
+means a list consists of
+
+@example
+(@samp{NUMBER} @samp{MARK} @samp{DATA})
+@end example
+
+@samp{FACE} is a face to be used for highlighting.
+
+
+@node Key Bindings of Summary, Variables of Summary, Mark and Action, Summary
 @section Key bindings
 @cindex Keybind, Summary Mode
 @cindex Keybind, Summary Buffer
@@ -2996,8 +3197,8 @@ If the message at current cursor point is your own netnews article,
 a draft for `supersedes message' for the message is prepared.
 (@code{wl-summary-reedit})
 
-@item M-e
-@kindex M-e (Summary)
+@item M-E
+@kindex M-E (Summary)
 @findex wl-summary-resend-bounced-mail
 If the message at current cursor point is a bounced message,
 a draft for re-sending original message is prepared.
@@ -3012,10 +3213,20 @@ A draft for forwarding the message at current cursor point is prepared.
 @item $
 @kindex $ (Summary)
 @findex wl-summary-mark-as-important
-Put @samp{$} mark on the message at current cursor point.
-If already marked as @samp{$}, delete it.
+Put @samp{important} flag on the message at current cursor point.
+If already flagged as @samp{important}, remove the flag.  If it is
+called with prefix argument, ask global flag to put similarly to @kbd{F}.
 (@code{wl-summary-mark-as-important})
 
+@item F
+@kindex F (Summary)
+@findex wl-summary-set-flags
+Put arbitrary global flag entered in the minibuffer.  If you use Emacs
+21 or later, you can specify multiple flags separated by @samp{,}
+simultaneously.  If it is called with prefix argument, remove existent
+global flags.
+(@code{wl-summary-set-flags})
+
 @item y
 @itemx e
 @kindex y (Summary)
@@ -3101,6 +3312,8 @@ Redisplay the message at current cursor point without MIME analysis.
 If the message at current cursor point has
 encapsulates multiple messages using MIME,
 de-capsulate and extract them on the current folder.
+If it is invoked in non-writable folder or it is called with prefix
+argument, it asks the destination folder.
 (@code{wl-summary-burst})
 
 @item @@
@@ -3185,18 +3398,29 @@ Mark as unread the message at current cursor point.
 @item s
 @kindex s (Summary)
 @findex wl-summary-sync
-Synchronize summary view after prompting the update range
-(@samp{all}, @samp{update}, @samp{rescan}, @samp{first}, @samp{last}).
+Synchronize summary view after prompting the update range.
+You can specify one of the follows.
 
 @example
 @group
-all            ...Discard current summary and update all message.
-all-visible    ...Discard current summary and update all visible message.
-update         ...Update the difference between summary and the folder itself.
-rescan         ...Rescan the msgdb and display again.
-rescan-noscore ...Rescan the msgdb and display again (without scoring).
-cache-status   ...Sync the all marks with the real status of cache.
-first, last    ...Move to the filter folder(partial filter).
+all              Discard present msgdb and retrieve all informations.
+                 Do not retrieve killed messages.
+all-entirely     Discard present msgdb and retrieve all informations.
+                 Retrieve killed messages, too.
+update           Update the difference between informations in present
+                 msgdb and in current folder instance.
+                 Do not retrieve killed messages.
+update-entirely  Update the difference between informations in present
+                 msgdb and in current folder instance.
+                 Retrieve killed messages, too.
+rescan           Redisplay summary by rescanning present msgdb.
+rescan-noscore   Redisplay summary by rescanning present msgdb.
+                 Display messages killed by score, too.
+cache-status     Sync the all marks with the real status of cache.
+mark             Update marks.
+no-sync          Do nothing.
+first:NUM        Move to the filter folder(partial filter).
+last:NUM         Move to the filter folder(partial filter).
 @end group
 @end example
 
@@ -3213,7 +3437,9 @@ You can sort by @samp{date}, @samp{from}, @samp{number} and @samp{subject}.
 @item T
 @kindex T (Summary)
 @findex wl-summary-toggle-thread
-Toggle the threading.
+Toggle the threading. The state will be preserved after exiting
+Wanderlust. You can alter default state for newly created summary
+by @code{wl-summary-default-view} or @code{wl-summary-default-view-alist}.
 Threading status is displayed on the modeline.
 @samp{@{S@}} means threading is off (Sequence) and
 @samp{@{T@}} means threading is on (Thread).
@@ -3233,7 +3459,7 @@ Toggle displaying of message window.
 
 @item V
 @kindex V (Summary)
-Move to the virtual folder with the condition specified.
+Move to the virtual folder (filter folder) with the condition specified.
 If called with prefix argument and current folder is virtual, exit it.
 @findex wl-summary-virtual
 (@code{wl-summary-virtual})
@@ -3256,16 +3482,9 @@ Put @samp{*} mark on the messages that satisfies the specified condition.
 Mark as read the message at the current cursor point.
 (@code{wl-summary-mark-as-read})
 
-@item i
-@kindex i (Summary)
-Prefetch the message at the current cursor point.
-With prefix argument, prefetch the message even if it is cached.
-@findex wl-summary-prefetch
-(@code{wl-summary-prefetch})
-
 @item x
 @kindex x (Summary)
-Execute @samp{D}, @samp{o} and @samp{O} marks.
+Execute action for all temporary marks in the summary buffer.
 @findex wl-summary-exec
 (@code{wl-summary-exec})
 
@@ -3273,13 +3492,13 @@ Execute @samp{D}, @samp{o} and @samp{O} marks.
 @kindex * (Summary)
 @findex wl-summary-target-mark-line
 Put target mark on the message at the current cursor point.
-(@code{wl-summary-target-mark-line})
+(@code{wl-summary-target-mark-line}) @xref{Mark and Action}.
 
 @item o
 @kindex o (Summary)
 Put refile mark on the message at the current cursor point.
 @findex wl-summary-refile
-(@code{wl-summary-refile})
+(@code{wl-summary-refile}) @xref{Mark and Action}.
 
 @item C-o
 @kindex C-o (Summary)
@@ -3291,7 +3510,7 @@ Execute auto refile.
 @kindex O (Summary)
 Put copy mark on the message at the current cursor point.
 @findex wl-summary-copy
-(@code{wl-summary-copy})
+(@code{wl-summary-copy}) @xref{Mark and Action}.
 
 @item M-o
 @kindex M-o (Summary)
@@ -3302,9 +3521,29 @@ previously specified.
 
 @item d
 @kindex d (Summary)
+@findex wl-summary-dispose
+Put disposal mark on the message at the current cursor point.
+The result of disposal is controlled by @code{wl-dispose-folder-alist},
+refiled to @code{wl-trash-folder} by default.
+(@code{wl-summary-dispose}) @xref{Mark and Action}.
+
+@item D
+@kindex D (Summary)
 @findex wl-summary-delete
-Put delete mark on the message at the current cursor point.
-(@code{wl-summary-delete})
+Put force deletion mark on the message at the current cursor point.
+(@code{wl-summary-delete}) @xref{Mark and Action}.
+
+@item i
+@kindex i (Summary)
+Put prefetch reservation mark on the message at the current cursor point.
+@findex wl-summary-prefetch
+(@code{wl-summary-prefetch}) @xref{Mark and Action}.
+
+@item ~
+@kindex ~ (Summary)
+@findex wl-summary-resend
+Put resend reservation mark on the message at the current cursor point.
+(@code{wl-summary-resend}) @xref{Mark and Action}.
 
 @item u
 @kindex u (Summary)
@@ -3327,26 +3566,27 @@ Mark as read messages in the specified region.
 @item r $
 @kindex r $ (Summary)
 @findex wl-summary-mark-as-important-region
-Mark as important @samp{$} messages in the specified region.
-If @samp{$} already exists, it is deleted.
+Put @samp{important} flag on messages in the specified region.
+If already flagged as @samp{important}, remove the flag.
 (@code{wl-summary-mark-as-important-region})
 
+@item r F
+@kindex r F (Summary)
+@findex wl-summary-set-flags-region
+Put arbitrary global flag entered in the minibuffer on messages in
+specified region.
+(@code{wl-summary-set-flags-region})
+
 @item r !
 @kindex r ! (Summary)
 @findex wl-summary-mark-as-unread-region
 Mark as unread messages in the specified region.
 (@code{wl-summary-mark-as-unread-region})
 
-@item r i
-@kindex r i (Summary)
-@findex wl-summary-prefetch-region
-Prefetch messages in the specified region.
-(@code{wl-summary-prefetch-region})
-
 @item r x
 @kindex r x (Summary)
 @findex wl-summary-exec-region
-Execute @samp{D}, @samp{o} and @samp{O} marks on the messages in the
+Execute action for each temporary marks on the messages in the
 specified region.
 (@code{wl-summary-exec-region})
 
@@ -3354,25 +3594,37 @@ specified region.
 @kindex r * (Summary)
 @findex wl-summary-target-mark-region
 Put target mark on the messages in the specified region.
-(@code{wl-summary-target-mark-region})
+(@code{wl-summary-target-mark-region}) @xref{Mark and Action}.
 
 @item r o
 @kindex r o (Summary)
 @findex wl-summary-refile-region
 Put refile mark on the messages in the specified region.
-(@code{wl-summary-refile-region})
+(@code{wl-summary-refile-region}) @xref{Mark and Action}.
 
 @item r O
 @kindex r O (Summary)
 @findex wl-summary-copy-region
 Put copy mark on the messages in the specified region.
-(@code{wl-summary-copy-region})
+(@code{wl-summary-copy-region}) @xref{Mark and Action}.
 
 @item r d
 @kindex r d (Summary)
+@findex wl-summary-dispose-region
+Put disposal mark on the messages in the specified region.
+(@code{wl-summary-dispose-region}) @xref{Mark and Action}.
+
+@item r D
+@kindex r D (Summary)
 @findex wl-summary-delete-region
-Put delete mark on the messages in the specified region.
-(@code{wl-summary-delete-region})
+Put force deletion mark on the messages in the specified region.
+(@code{wl-summary-delete-region}) @xref{Mark and Action}.
+
+@item r i
+@kindex r i (Summary)
+@findex wl-summary-prefetch-region
+Put prefetch reservation mark on messages in the specified region.
+(@code{wl-summary-prefetch-region}) @xref{Mark and Action}.
 
 @item r u
 @kindex r u (Summary)
@@ -3396,12 +3648,20 @@ With prefix argument, it affects on the all messages in the thread tree.
 @item t $
 @kindex t $ (Summary)
 @findex wl-thread-mark-as-important
-Put important mark @samp{$} on the messages which are the
-descendant of the current thread.
-If @samp{$} mark exists, it is deleted.
-With prefix argument, it affects on the all messages in the thread tree.
+Put @samp{important} flag on the messages which are the descendant of
+the current thread.  If already flagged as @samp{important}, remove the
+flag.  With prefix argument, it affects on the all messages in the
+thread tree.
 (@code{wl-thread-mark-as-important})
 
+@item t F
+@kindex t F (Summary)
+@findex wl-thread-set-flags
+Put arbitrary global flag entered in the minibuffer on the messages
+which are the descendant of the current thread.  With prefix argument,
+it affects on the all messages in the thread tree.
+(@code{wl-thread-set-flags})
+
 @item t !
 @kindex t ! (Summary)
 @findex wl-thread-mark-as-unread
@@ -3409,17 +3669,10 @@ Mark as unread messages which are the descendant of the current thread.
 With prefix argument, it affects on the all messages in the thread tree.
 (@code{wl-thread-mark-as-unread})
 
-@item t i
-@kindex t i (Summary)
-@findex wl-thread-prefetch
-Prefetch messages which are the descendant of the current thread.
-With prefix argument, it affects on the all messages in the thread tree.
-(@code{wl-thread-prefetch})
-
 @item t x
 @kindex t x (Summary)
 @findex wl-thread-exec
-Execute @samp{D}, @samp{o} and @samp{O} marks on the messages which are
+Execute action for temporary marks on the messages which are
 the descendant of the current thread.  With prefix argument, it affects
 on the all messages in the thread tree.
 (@code{wl-thread-exec})
@@ -3430,28 +3683,42 @@ on the all messages in the thread tree.
 Put target mark @samp{*} on the messages which are the descendant of the
 current thread.  With prefix argument, it affects on the all messages in
 the thread tree.
-(@code{wl-thread-target-mark})
+(@code{wl-thread-target-mark}) @xref{Mark and Action}.
 
 @item t o
 @kindex t o (Summary)
 @findex wl-thread-refile
 Put refile mark on the messages which are the descendant of the current thread.
 With prefix argument, it affects on the all messages in the thread tree.
-(@code{wl-thread-refile})
+(@code{wl-thread-refile}) @xref{Mark and Action}.
 
 @item t O
 @kindex t O (Summary)
 @findex wl-thread-copy
 Put copy mark on the messages which are the descendant of the current thread.
 With prefix argument, it affects on the all messages in the thread tree.
-(@code{wl-thread-copy})
+(@code{wl-thread-copy}) @xref{Mark and Action}.
 
 @item t d
 @kindex t d (Summary)
-@findex wl-thread-delete
-Put delete mar on the messages which are the descendant of the current thread.
+@findex wl-thread-dispose
+Put disposal mark on the messages which are the descendant of the current thread.
 With prefix argument, it affects on the all messages in the thread tree.
-(@code{wl-thread-delete})
+(@code{wl-thread-dispose}) @xref{Mark and Action}.
+
+@item t D
+@kindex t D (Summary)
+@findex wl-thread-delete
+Put force deletion mark on the messages which are the descendant of the
+current thread.
+(@code{wl-thread-delete}) @xref{Mark and Action}.
+
+@item t i
+@kindex t i (Summary)
+@findex wl-thread-prefetch
+Put prefetch reservation mark on messages which are the descendant of
+the current thread.
+(@code{wl-thread-prefetch}) @xref{Mark and Action}.
 
 @item t u
 @kindex t u (Summary)
@@ -3468,13 +3735,6 @@ Save messages which are the descendant of the current thread.
 With prefix argument, it affects on the all messages in the thread tree.
 (@code{wl-thread-save})
 
-@item m i
-@kindex m i (Summary)
-@findex wl-summary-target-mark-prefetch
-Prefetch all messages which have target mark @samp{*}.
-With prefix argument, prefetch all targets even if some of them are cached.
-(@code{wl-summary-target-mark-prefetch})
-
 @item m R
 @kindex m R (Summary)
 @findex wl-summary-target-mark-mark-as-read
@@ -3484,10 +3744,17 @@ Mark as read all messages which have target mark @samp{*}.
 @item m $
 @kindex m $ (Summary)
 @findex wl-summary-target-mark-mark-as-important
-Mark as important all messages which have target mark @samp{*}.
-If already marked as @samp{$}, it is deleted.
+Put @samp{important} flag on all messages which have target mark @samp{*}.
+If already flagged as @samp{important}, remove the flag.
 (@code{wl-summary-target-mark-mark-as-important})
 
+@item m F
+@kindex m F (Summary)
+@findex wl-summary-target-mark-set-flags
+Put arbitrary global flag entered in the minibuffer on all messages
+which have target mark @samp{*}.
+(@code{wl-summary-target-mark-set-flags})
+
 @item m !
 @kindex m ! (Summary)
 @findex wl-summary-target-mark-mark-as-unread
@@ -3498,19 +3765,31 @@ Mark as unread all messages which have target mark @samp{*}.
 @kindex m o (Summary)
 @findex wl-summary-target-mark-refile
 Put refile mark on the messages which have target mark @samp{*}.
-(@code{wl-summary-target-mark-refile})
+(@code{wl-summary-target-mark-refile}) @xref{Mark and Action}.
 
 @item m O
 @kindex m O (Summary)
 @findex wl-summary-target-mark-copy
 Put copy mark on the messages which have target mark @samp{*}.
-(@code{wl-summary-target-mark-copy})
+(@code{wl-summary-target-mark-copy}) @xref{Mark and Action}.
 
 @item m d
 @kindex m d (Summary)
+@findex wl-summary-target-mark-dispose
+Put disposal mark on the messages which have target mark @samp{*}.
+(@code{wl-summary-target-mark-dispose}) @xref{Mark and Action}.
+
+@item m D
+@kindex m D (Summary)
 @findex wl-summary-target-mark-delete
-Put delete mark on the messages which have target mark @samp{*}.
-(@code{wl-summary-target-mark-delete})
+Put force deletion mark on the messages which have target mark @samp{*}.
+(@code{wl-summary-target-mark-delete}) @xref{Mark and Action}.
+
+@item m i
+@kindex m i (Summary)
+@findex wl-summary-target-mark-prefetch
+Put prefetch reservation mark on messages which have target mark @samp{*}.
+(@code{wl-summary-target-mark-prefetch}) @xref{Mark and Action}.
 
 @item m y
 @kindex m y (Summary)
@@ -3681,7 +3960,7 @@ folder is moved.
 
 @item wl-summary-weekday-name-lang
 @vindex  wl-summary-weekday-name-lang
-The initial setting is @samp{ja}.  Specify language of the weekday.
+Specify language of the weekday.
 @samp{en} displays English, @samp{fr} displays French, @samp{de}
 displays Deutsch. You should rescan summary view after changing this value.
 
@@ -3708,16 +3987,38 @@ The initial setting is '(1 . 4).
 A cons cell to specify the rate of summary and message window.
 car:cdr corresponds summary:message.
 
+@item wl-summary-from-function
+@vindex wl-summary-from-function
+Format function to display sender in summary.
+The initial setting is @code{wl-summary-default-from}.
+
 @item wl-summary-no-from-message
 @vindex  wl-summary-no-from-message
 The initial setting is @samp{nobody@@nowhere?}.  A string which is
 displayed when there's no @samp{From:} field in the message.
 
+@item wl-summary-subject-function
+@vindex wl-summary-subject-function
+Format function to display subject in summary.
+The initial setting is @code{wl-summary-default-subject} and
+it will cut the list name part etc. on the top of the subject.
+To display subject as it is, set as follows.
+
+@lisp
+(setq wl-summary-subject-function 'identity)
+@end lisp
+
 @item wl-summary-no-subject-message
 @vindex  wl-summary-no-subject-message
 The initial setting is @samp{(WL:No Subject in original.)}.  A string
 which is displayed when there's no @samp{Subject:} field in the message.
 
+@item wl-summary-default-view
+@vindex wl-summary-default-view
+The initial setting is @code{'thread}.
+The default state for newly created summary. You can set either
+@code{'thread} for thread view or @code{'sequence} for sequential view.
+
 @item wl-summary-use-frame
 @vindex wl-summary-use-frame
 The initial setting is @code{nil}.
@@ -3759,15 +4060,11 @@ want to aware of reading direction, set this to @code{t}.
 The initial setting is 80.
 Width of summary line. If @code{nil}, summary line's width is as is.
 
-@item wl-summary-from-width
-@vindex wl-summary-from-width
-The initial setting is 17.
-Width of sender part of summary line.
-
-@item wl-summary-subject-length-limit
-@vindex wl-summary-subject-length-limit
-The initial setting is @code{nil}. Specify the limit for the length of
-subject parts in summary. @code{nil} means unlimited.
+@item wl-summary-print-argument-within-window
+@vindex wl-summary-print-argument-within-window
+The initial setting is @code{nil}.
+If non-nil, the action argument is always printed on right side of
+window.
 
 @item wl-summary-indent-length-limit
 @vindex  wl-summary-indent-length-limit
@@ -3777,6 +4074,12 @@ indent level.
 If you set this to @code{nil} you should set @code{wl-summary-width}
 to @code{nil}, too.
 
+@item wl-summary-max-thread-depth
+@vindex wl-summary-max-thread-depth
+The initial setting is 15.
+If thread depth of the message is larger than this value,
+the thread is divided.
+
 @item wl-summary-recenter
 @vindex  wl-summary-recenter
 The initial setting is t.
@@ -3838,7 +4141,7 @@ The initial setting is the list shown below:
 
 @lisp
 @group
-("o" "O" "D")
+("o" "O" "D" "d" "i")
 @end group
 @end lisp
 
@@ -3852,7 +4155,7 @@ The initial setting is the list shown below:
 
 @lisp
 @group
-("D")
+("D" "d")
 @end group
 @end lisp
 
@@ -3929,6 +4232,20 @@ Following is an example (hide duplicated messages in multi folders)
                    ("^\\*.*" . hide) (".*" . read)))
 @end group
 @end lisp
+
+@item wl-summary-flag-alist
+@vindex wl-summary-flag-alist
+The initial setting is as follows:
+
+@lisp
+@group
+((important "orange"))
+@end group
+@end lisp
+
+Specify the color of message in summary buffer with flag.  If multiple
+global flags are on one message, the former flag in this list is
+preferred.
 @end table
 
 
@@ -3951,7 +4268,7 @@ mode buffer.
 @item l
 @kindex l (Message)
 @findex wl-message-toggle-disp-summary
-Toggles display of Summary mode buffer.
+Toggles display of Summary buffer.
 (@code{wl-message-toggle-disp-summary})
 
 @item Button-2
@@ -3974,6 +4291,14 @@ moves to the previous message.
 Scrolls the message forward.  When the bottom of the message is hit,
 moves to the next message.
 (@code{wl-message-wheel-up})
+
+@item D
+@kindex D (Message)
+@findex wl-message-delete-current-part
+Delete the part under cursor. In fact it appends modified message to
+the current folder then moves old one to trash folder. Therefore the
+message number will be changed.
+(@code{wl-message-delete-current-part})
 @end table
 
 @section Customizable Variables
@@ -3987,14 +4312,14 @@ windows.
 
 @item wl-message-ignored-field-list
 @vindex wl-message-ignored-field-list
-(SEMI only) Initial setting is @code{nil}.
+Initial setting is @code{nil}.
 All fields that match this list will be hidden in message buffer.
 Each elements are regexp of field-name.
 If @code{nil}, the value of @code{mime-view-ignored-field-list} is used.
 
 @item wl-message-visible-field-list
 @vindex wl-message-visible-field-list
-(SEMI only) Initial setting is @code{nil}.
+Initial setting is @code{nil}.
 All fields that match this list will be display in message buffer.
 Each elements are regexp of field-name. This value precedes
 @code{wl-message-ignored-field-list}.
@@ -4002,7 +4327,7 @@ If @code{nil}, the value of @code{mime-view-visible-field-list} is used.
 
 @item wl-message-sort-field-list
 @vindex wl-message-sort-field-list
-(SEMI only) Initial setting is
+Initial setting is
 '("Return-Path" "Received" "^To" "^Cc" "Newsgroups" "Subject" "^From").
 Header fields in message buffer are ordered by this value.
 Each elements are regexp of field-name.
@@ -4022,31 +4347,93 @@ buffer.  You can edit and send mail and news articles in this buffer.
 By pressing @kbd{W}, Wanderlust guess addressees and prepare draft buffer
 with those if possible.
 
+@menu
+* Usage of Draft Mode::         TIPS
+* Key Bindings of Draft::       Key bindings
+* Variables of Draft Mode::     Customize Draft Mode
+@end menu
+
+@node Usage of Draft Mode, Key Bindings of Draft, Draft, Draft
 @section Tips
 
 Basically it is Emacs-standard mail mode.
 
-@subsection Address Completion
+@menu
+* Editing Header::
+* Editing Message Body::
+* Dynamical Message Re-arrangement::
+* Template::
+* POP-before-SMTP::
+@end menu
+
+@node Editing Header, Editing Message Body, Usage of Draft Mode, Usage of Draft Mode
+@subsection Editing Message Header
+
+You can freely edit header region above @samp{--text follows this line--},
+until you invoke the sending operation.
 
 Initially, the cursor is at the @samp{To:} field.  Fill in recipients
 addresses.  @kbd{@key{TAB}} completes them.
 
-If you want to submit a news article, add @samp{Newsgroups:} field by
-yourself.  Field names can be completed by @kbd{@key{TAB}}.
+You can use following headers to specify recipients. Add some of them
+by yourself. Field names can be completed by @kbd{@key{TAB}}.
 
-If you save the draft buffer you are editing, it is appended to the
-folder specified by @code{wl-draft-folder}.
+@table @asis
+@item @samp{Newsgroups:}
+Specify newsgroups to which you post the news article.
+
+@item @samp{Cc:}
+Specify addresses to send a copy (Carbon Copy) of the message.
+@end table
+
+Following ones are removed from the header contents before sending.
+
+@table @asis
+@item @samp{Bcc:}
+Specify addresses to send a copy (Blind Carbon Copy) of the message.
+
+@item @samp{Fcc:}
+Specify folders in which a copy of the message is saved.
+
+@item @samp{Ecc:}
+Specify recipients to send encapsulated copy of the message.
+@end table
+
+You can add initial headers by following variables.
+
+@table @code
+
+@item wl-fcc
+@vindex wl-fcc
+The initial setting is @code{nil}.
+If non-nil, the value of this variable is inserted as a @samp{Fcc:} of
+the draft when it is prepared.  If function is specified, its return
+value is used.
 
-Using @samp{FCC:} field, you can specify the folder to which a copy of
-the message is saved when it is sent.
+@item wl-bcc
+@vindex wl-bcc
+The initial setting is @code{nil}.
+If non-nil, the value of this variable is inserted as a @samp{Bcc:} of
+the draft when it is prepared.
+@end table
 
+@node Editing Message Body, Dynamical Message Re-arrangement, Editing Header, Usage of Draft Mode
 @subsection Editing Messages
 
+As a matter of course, editing message body can be performed in the same
+way as usual writing. You may write message body under
+@samp{--text follows this line--} line. (NOTE: Be sure to leave the line
+@samp{--text follows this line--} intact.)
+
 Multi-part editing utilize MIME edit mode of SEMI.  For procedures of
 editing, refer to respective documents.  @xref{MIME-Edit, , ,mime-ui-en,
 a MIME user interface for GNU Emacs}.
 You can also see help by @kbd{C-c C-x ?} in draft buffer.
 
+If you save the draft buffer you are editing, it is appended to the
+folder specified by @code{wl-draft-folder}.
+
+@node Dynamical Message Re-arrangement, Template, Editing Message Body, Usage of Draft Mode
 @subsection Dynamic Modification of Messages
 @vindex wl-draft-config-alist
 @c @cindex Change Message
@@ -4098,7 +4485,7 @@ The format of @code{wl-draft-config-alist} is:
 @end group
 @end example
 
-Per default, there are 10 following sub-functions.
+Per default, there are 13 following sub-functions.
 
 @example
 'header:      Inserts the specified string at the bottom of the header.
@@ -4142,9 +4529,6 @@ In the cdr part of a cons, not only a variable but also an elisp
 expression can be specified as is.  If the car part is a header field
 and the cdr part is @code{nil}, the field will be deleted.
 
-If you want to use name of parent folder, you can refer the buffer local
-variable @code{wl-draft-parent-folder}.
-
 See the next example as well:
 
 @lisp
@@ -4165,6 +4549,22 @@ example, and when it matches the header being replied.  It is ignored
 when there is no buffer being replied, like after @code{wl-draft} was
 invoked.
 
+If you want to use name of parent folder, you can refer the buffer local
+variable @code{wl-draft-parent-folder}. In the following example, Wanderlust
+changes From according to the folder name of the summary in which the draft
+was invoked.
+
+@lisp
+@group
+(setq wl-draft-config-alist
+      '(((string-match \".*@@domain1$\" wl-draft-parent-folder)
+         (\"From\" . \"user@@domain1\"))
+        ((string-match \".*@@domain2$\" wl-draft-parent-folder)
+         (\"From\" . \"user@@domain2\"))))
+@end group
+@end lisp
+
+
 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
@@ -4194,6 +4594,7 @@ following:
 (add-hook 'wl-draft-reedit-hook 'wl-draft-config-exec)
 @end lisp
 
+@node Template, POP-before-SMTP, Dynamical Message Re-arrangement, Usage of Draft Mode
 @subsection Inserting Templates
 @cindex Template
 @cindex Apply Template
@@ -4203,6 +4604,7 @@ Set a variable @code{wl-template-alist}, and type @kbd{C-c C-j} or
 
 The format of @code{wl-template-alist} is almost the same as
 @code{wl-draft-config-alist}.
+@xref{Dynamical Message Re-arrangement}.
 
 @lisp
 @group
@@ -4248,6 +4650,7 @@ As shown in the example in @code{wl-draft-config-alist}, you can select
 (template . "default")
 @end lisp
 
+@node POP-before-SMTP,  , Template, Usage of Draft Mode
 @subsection Sending mail by POP-before-SMTP
 @cindex POP-before-SMTP
 
@@ -4278,7 +4681,7 @@ The POP port number for POP-before-SMTP authentication.
 If unset, @code{elmo-pop3-default-port} is used.
 
 @item wl-pop-before-smtp-stream-type
-If non-nil, POP connection is established using SSL.  If
+If @code{ssl}, POP connection is established using SSL.  If
 @code{starttls}, STARTTLS (RFC2595) connection will be established.  If
 unset, @code{elmo-pop3-default-stream-type} is used.
 @end table
@@ -4299,6 +4702,8 @@ http://www.iecc.com/pop-before-smtp.html
 @end group
 @end example
 
+
+@node Key Bindings of Draft, Variables of Draft Mode, Usage of Draft Mode, Draft
 @section Key Bindings
 @cindex Keybind, Draft Mode
 @cindex Keybind, Draft Buffer
@@ -4308,7 +4713,10 @@ http://www.iecc.com/pop-before-smtp.html
 @item C-c C-y
 @kindex C-c C-y (Draft)
 @findex wl-draft-yank-original
-Cites the content of the current message buffer.
+Cites the content of the current message buffer (the part under cursor).
+If the region is active, cites the region (it affects only if
+@code{transient-mark-mode} (on GNU Emacs) or @code{zmacs-regions}
+(on XEmacs) is Non-nil).
 (@code{wl-draft-yank-original})
 
 @item C-c C-p
@@ -4413,7 +4821,9 @@ The text is killed and replaced with the contents of the variable
 (@samp{[...]}).
 @end table
 
+@node Variables of Draft Mode,  , Key Bindings of Draft, Draft
 @section Customizable Variables
+@cindex SMTP AUTH
 
 @table @code
 @item wl-subscribed-mailing-list
@@ -4534,11 +4944,25 @@ The initial setting is 7.
 If @code{wl-template-visible-select} is non-nil, this variable specifies
 the size of the preview window.
 
+@item wl-draft-buffer-style
+@vindex wl-draft-buffer-style
+The initial setting is @code{full}.
+Style of draft buffer window (except for replying and forwarding).
+@code{keep} is to use current window,
+@code{full} is to use full frame window,
+@code{split} is to split current window and use it.
+If some function is specified, it is called with the draft buffer
+as an argument.
+
 @item wl-draft-reply-buffer-style
 @vindex wl-draft-reply-buffer-style
-The initial setting is @code{split}.  @code{split} or @code{full} can be
-specified.  In the case of @code{full}, the whole frame will be used for
-a reply draft buffer when it is prepared.
+The initial setting is @code{split}.
+Style of draft buffer for replying and forwarding.
+@code{keep} is to use message buffer window,
+@code{full} is to use full frame window,
+@code{split} is to split message buffer window and use it.
+If some function is specified, it is called with the draft buffer
+as an argument.
 
 @item wl-draft-use-frame
 @vindex wl-draft-use-frame
@@ -4568,24 +4992,19 @@ The initial setting is @code{nil}.
 This is the User's address list.  If you have multiple addresses,
 set this variable.
 
-@item wl-fcc
-@vindex wl-fcc
-The initial setting is @code{nil}.
-If non-nil, the value of this variable is inserted as a @samp{Fcc:} of
-the draft when it is prepared.  If function is specified, its return
-value is used.
-
-@item wl-bcc
-@vindex wl-bcc
-The initial setting is @code{nil}.
-If non-nil, the value of this variable is inserted as a @samp{Bcc:} of
-the draft when it is prepared.
-
 @item wl-reply-subject-prefix
 @vindex wl-reply-subject-prefix
 The initial setting is @samp{Re: }.
 In the @samp{Subject:} of the reply draft, this string is prepended to
-the @samp{Subject:} of being replied.
+the @samp{Subject:} of being replied.  You can specify a function to be
+message buffer of the reply target.
+
+@item wl-forward-subject-prefix
+@vindex wl-forward-subject-prefix
+The initial setting is @samp{Forward: }.
+In the @samp{Subject:} of the forwarding draft, this string is prepended
+to the @samp{Subject:} of being forwarded.  You can specify a function
+to be message buffer of the forward target.
 
 @item wl-draft-reply-use-address-with-full-name
 @vindex wl-draft-reply-use-address-with-full-name
@@ -4607,7 +5026,7 @@ The initial setting is @code{nil}. If the value is non-nil and
 @item wl-fcc-force-as-read
 @vindex wl-fcc-force-as-read
 The initial setting is @code{nil}. If the value is non-nil,
-Mark as read the message saved by @samp{Fcc:} (only for IMAP folders).
+Mark as read the message saved by @samp{Fcc:}.
 
 @item wl-auto-flush-queue
 @vindex wl-auto-flush-queue
@@ -4634,33 +5053,39 @@ If non-nil, always removes your own address from @samp{To:} and
 @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.
+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}.
 This is the SMTP server name for mail transmission.
 
+@item wl-smtp-posting-port
+@vindex wl-smtp-posting-port
+The initial setting is @code{nil}.
+This is the SMTP port number for mail transmission.
+If @code{nil}, default SMTP port number (25) is used.
+
 @item wl-smtp-posting-user
 @vindex wl-smtp-posting-user
 The initial setting is @code{nil}.
-This is the user name for SMTP AUTH authentication.  If @code{nil},
-@code{smtp-authenticate-user} is used.
+This is the user name for SMTP AUTH authentication.
 
 @item wl-smtp-authenticate-type
 @vindex wl-smtp-authenticate-type
 The initial setting is @code{nil}.
-This is the authentication method for SMTP AUTH authentication.  If
-@code{nil}, @code{smtp-authenticate-type} is used.  If
-@code{smtp-authenticate-type} is still @code{nil}, authentication will
-not be carried out.
+This string-valued variable specifies the authentication method for SMTP
+AUTH authentication.  You may specify @code{plain}, @code{cram-md5},
+@code{digest-md5}, @code{login}, etc.  If @code{nil}, authentication
+will not be carried out.
 
 @item wl-smtp-connection-type
 @vindex wl-smtp-connection-type
 The initial setting is @code{nil}.
-This variable specifies how to establish SMTP connections.
-If @code{nil}, @code{smtp-connection-type} is used.
-If it is @code{starttls}, STARTTLS (RFC2595) is used.
+This symbol-valued variable specifies how to establish SMTP connections.
+If @code{nil}, use default connection type.
+If it is @code{starttls}, use STARTTLS (RFC2595).
+If it is @code{ssl}, use SSL.
 
 @item wl-nntp-posting-server
 @vindex wl-nntp-posting-server
@@ -4684,11 +5109,35 @@ If @code{nil}, @code{elmo-nntp-default-server} is used.
 @item wl-nntp-posting-stream-type
 @vindex wl-nntp-posting-stream-type
 The initial setting is @code{nil}.
-If @code{nil}, @code{elmo-nntp-default-stream-type} is evaluated.  If non-nil,
+If @code{nil}, @code{elmo-nntp-default-stream-type} is evaluated.  If @code{ssl},
 SSL is used for news submission.  If @code{starttls}, STARTTLS (RFC2595)
 connection will be established.
 
-@item wl-pop-before-smtp-user
+@item wl-nntp-posting-function
+@vindex wl-nntp-posting-function
+The initial setting is @code{elmo-nntp-post}.
+This is the function to post NNTP message.
+
+@item wl-nntp-posting-config-alist
+@vindex wl-nntp-posting-config-alist
+The initial setting is @code{nil}.
+The value takes an alist to define NNTP server like following example.
+It takes precedence over @code{wl-nntp-posting-@{server|user|port|function@}}.
+
+@lisp
+@group
+(setq wl-nntp-posting-config-alist
+      '((",?gmane\\." . "news.gmane.org")
+        (",?comp\\." .
+         ((server . "news-server")
+          (user . "newsmaster")
+          (port . 119)
+          (function . elmo-nntp-post)))
+        (".*" . "default-news-server")))
+@end group
+@end lisp
+
+@item wl-pop-before-smtp-user
 @vindex wl-pop-before-smtp-user
 The initial setting is @code{nil}.
 This is the POP user name for POP-before-SMTP.
@@ -4716,8 +5165,9 @@ This is the POP port number for POP-before-SMTP.  If it is @code{nil},
 @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-pop3-default-stream-type} is used.  If @code{starttls},
-STARTTLS (RFC2595) connection will be established.
+@code{nil}, @code{elmo-pop3-default-stream-type} is used.  If @code{ssl},
+SSL is used.  If @code{starttls}, STARTTLS (RFC2595) connection will be
+established.
 
 @item wl-draft-queue-save-variables
 @vindex wl-draft-queue-save-variables
@@ -4830,10 +5280,12 @@ are reflected in the servers via network.
 @node Send Messages off-line, Re-file and Copy queue, Enable Operations, Enable Operations
 @subsection Transmission of Messages
 
-You can send mail/news messages off-line (if you are using
-@file{im-wl.el}, it is irrelevant).  Messages sent off-line are
-accumulated in the queue folder, @samp{+queue}.  These messages are
-transmitted at once when Wanderlust becomes on-line.
+You can proceed sending operation for  mail/news messages while you are
+off-line, then it will be reserved for sending (if you are using
+@file{im-wl.el}, it is irrelevant).
+Messages reserved for sending while off-line are accumulated in the
+queue folder, @samp{+queue}. These messages are transmitted at once when
+Wanderlust becomes on-line.
 
 You can visit @samp{+queue} in the off-line state and confirm content of
 messages in the queue.  You can also remove messages.  Removed messages
@@ -5012,7 +5464,7 @@ manually, press @kbd{F} in the folder mode.
 
 @item elmo-enable-disconnected-operation
 @vindex elmo-enable-disconnected-operation
-The initial setting is @code{nil}.  Controls off-line operations
+The initial setting is @code{t}.  Controls off-line operations
 regarding IMAP4.  If non-nil, off-line operations are carried out.
 
 @item elmo-lost+found-folder
@@ -5379,7 +5831,8 @@ The initial setting is the list below.
 @lisp
 @group
 (list wl-summary-important-mark
-      wl-summary-new-mark
+      wl-summary-new-uncached-mark
+      wl-summary-new-cached-mark
       wl-summary-unread-mark
       wl-summary-unread-uncached-mark
       wl-summary-unread-cached-mark)
@@ -5636,7 +6089,7 @@ Needless to say, you can use your own function.
 @end table
 
 
-@node Scoring, Address Book, Expire and Archive, Top
+@node Scoring, Split messages, Expire and Archive, Top
 @chapter Score of the Messages
 @cindex Scoring
 @c @cindex Kill File
@@ -5901,7 +6354,8 @@ The initial setting is the list shown below:
 
 @lisp
 @group
-(list wl-summary-new-mark)
+(list wl-summary-new-uncached-mark
+      wl-summary-new-cached-mark)
 @end group
 @end lisp
 
@@ -6134,7 +6588,156 @@ pop3                      N     E     E     E
 @end example
 
 
-@node Address Book, Customization, Scoring, Top
+@node Split messages, Address Book, Scoring, Top
+@chapter Message splitting
+@cindex Split messages
+
+You can use @code{elmo-split} to split message in folder specified by
+the variable @code{elmo-split-folder} a la @command{procmail} according
+to some specified rules. To use this feature, set as follows in your
+@file{~/.emacs} at first.
+
+@lisp
+(autoload 'elmo-split "elmo-split" "Split messages on the folder." t)
+@end lisp
+
+Set source folder like following.
+
+@lisp
+(setq elmo-split-folder "%inbox")
+@end lisp
+
+And specify the rule in the variable @code{elmo-split-rule} (its format
+will be is described below).
+Then you can invoke @kbd{M-x elmo-split} to split messages according to
+@code{elmo-split-rule}. On the other hand, invoke @kbd{C-u M-x elmo-split}
+to do a rehearsal and show result (do not split actually).
+
+
+We will describe how to specify the rule. First of all, see following
+example, please.
+
+@lisp
+@group
+(setq elmo-split-rule
+      ;; @r{Store messages from spammers into @samp{+junk}}
+      '(((or (address-equal from "i.am@@spammer")
+            (address-equal from "dull-work@@dull-boy")
+            (address-equal from "death-march@@software")
+            (address-equal from "ares@@aon.at")
+            (address-equal from "get-money@@richman"))
+        "+junk")
+       ;; @r{Store messages from mule mailing list into @samp{%mule}}
+       ((equal x-ml-name "mule") "%mule")
+       ;; @r{Store messages from wanderlust mailing list into @samp{%wanderlust}}
+       ;; @r{and continue evaluating following rules}
+       ((equal x-ml-name "wanderlust") "%wanderlust" continue)
+       ;; @r{Store messages from Yahoo user into @samp{+yahoo-@{username@}}}
+       ((match from "\\(.*\\)@@yahoo\\.com")
+        "+yahoo-\\1")
+       ;; @r{Store unmatched mails into @samp{+inbox}}
+       (t "+inbox")))
+@end group
+@end lisp
+
+The basic unit of the rule is a combination like
+
+@lisp
+(@samp{CONDITION} @samp{ACTION} [@code{continue}])
+@end lisp
+
+If @samp{CONDITION} is true, @samp{ACTION} is performed.
+The 1st element @samp{CONDITION} is a condition represented by a
+balanced expression (sexp). Its grammar will be explained below.
+The 2nd element @samp{ACTION} is the name of the folder to split
+messages into, or a symbol. When the 3rd element @code{continue} is
+specified as symbol, evaluating rules is not stopped even when the
+condition is satisfied.
+
+The grammar for @samp{CONDITION} is as follows. See example above to
+learn how to write the condition practically.
+
+@enumerate
+@item
+Functions which accept arguments @samp{FIELD-NAME} and @samp{VALUE}.
+(@samp{FIELD-NAME} is a symbol that describes the field name)
+
+@table @code
+@item @code{equal}
+True if the field value equals to @samp{VALUE}.
+Case of the letters are ignored.
+@item @code{match}
+True if the field value matches to VALUE.
+@samp{VALUE} can contain @code{\&} and @code{\N} which will substitute
+from matching @code{\(\)} patterns in the previous @samp{VALUE}.
+@item @code{address-equal}
+True if one of the addresses in the field equals to
+@samp{VALUE}. Case of the letters are ignored.
+@item @code{address-match}
+True if one of the addresses in the field matches to
+@samp{VALUE}.
+@samp{VALUE} can contain @code{\&} and @code{\N} which will substitute
+from matching @code{\(\)} patterns in the previous @samp{VALUE}.
+@end table
+
+@item
+Functions which accept an integer argument (@samp{SIZE}).
+
+@table @code
+@item @code{<}
+True if the size of the message is less than @samp{SIZE}.
+@item @code{>}
+True if the size of the message is greater than @samp{SIZE}.
+@end table
+
+@item
+Functions which accept any number of arguments.
+
+@table @code
+@item @code{or}
+True if one of the argument returns true.
+@item @code{and}
+True if all of the arguments return true.
+@end table
+
+@item
+A symbol.
+
+When a symbol is specified, it is evaluated.
+@end enumerate
+
+You can specify followings as 2nd @samp{ACTION}.
+
+@enumerate
+@item
+folder name
+
+If some string is specified, it will be regarded as the destination
+folder, and the message will be appended to it.
+
+@item
+@samp{delete}
+
+If the symbol  @samp{delete} is specified, delete the substance of the
+message in @code{elmo-split-folder}
+
+@item
+@samp{noop}
+
+If the symbol @samp{noop} is specified, do nothing on the message and
+keep it as it is.
+
+@item
+function
+
+If some function is specified, execute it.
+@end enumerate
+
+If the message passes all rules, it will be dealed along @samp{ACTION}
+specified by @code{elmo-split-default-action}.
+
+
+@node Address Book, Spam Filter, Split messages, Top
 @chapter Address Book
 @cindex Address Book
 
@@ -6146,6 +6749,7 @@ summary displayed with nicknames.
 * Address Manager::  Address Manager
 @end menu
 
+
 @node Mail Addresses, Address Manager, Address Book, Address Book
 @section Address book
 @cindex Address book Definition
@@ -6264,7 +6868,553 @@ Edit entry.
 @end table
 
 
-@node Customization, Terminology, Address Book, Top
+@node Spam Filter, Batch Processing, Address Book, Top
+@chapter Spam Filter
+@cindex Spam Filter
+
+@code{wl-spam} provides an frontend to external spam filtering programs.
+You can register to or judge spam by the filtering program cooperateing
+with messages operations on Wanderlust.
+
+@menu
+* Usage of Spam Filter::        Usage of Spam Filter
+* Spam Filter Processors::      Supported spam filters
+@end menu
+
+@node Usage of Spam Filter, Spam Filter Processors, Spam Filter, Spam Filter
+@section Usage of Spam Filter
+
+@subsection Initial Setting
+
+To use @code{wl-spam}, write in @file{~/.wl} as follows:
+
+@lisp
+@group
+;; @r{Use @samp{bogofilter} as spam back end}
+;; @r{Set @samp{scheme} here as the spam filter you will use.}
+;; @r{@xref{Spam Filter Processor}}
+(setq elmo-spam-scheme 'bogofilter)
+(require 'wl-spam)
+@end group
+@end lisp
+
+@subsection spam mark
+
+The spam mark (@samp{s}) will be provided as new temporary mark.
+Messages marked by this will be refiled into @code{wl-spam-folder} when
+the action is called for execution. Marked messages will be skipped by
+summary walking in ordinary way.
+
+The spam mark is be put on by spam judgement described later, or by
+invoking @kbd{k m} at any time.
+
+@subsection spam judgment
+
+You can judge spam messages by following ways:
+
+@enumerate
+@item
+Make judgement on execution of auto-refile.
+
+Insert @code{wl-refile-guess-by-spam} to arbitrary position in
+@code{wl-auto-refile-guess-functions} as follows.
+
+@lisp
+@group
+(setq wl-auto-refile-guess-functions
+      '(wl-refile-guess-by-rule
+        wl-refile-guess-by-spam))
+@end group
+@end lisp
+
+In this example, judge spam if it could not decide refile destination by
+@code{wl-refile-rule-alist}.
+
+@item
+Make judgement on entering the summary of specified folder.
+
+Specify the value of @code{wl-spam-auto-check-folder-regexp-list}
+as the list of regular expressions for folder names to be
+automatically judged by spam filter.
+
+@lisp
+(setq wl-spam-auto-check-folder-regexp-list '("\\+inbox"))
+@end lisp
+
+In this example, judgement will be processed when you enter summary of
+the folder whose name contains @samp{+inbox}.
+
+@item
+Make judgement on splitting messages with @code{elmo-split}.
+
+It provides new function @code{spam-p} to be specified as @samp{CONDITION}
+in @code{elmo-split-rule}. This function returns true when the message
+is judged as spam.
+@xref{Split messages}
+
+You can also process learning by the result of judgement. (You would
+better turn on this feature after learning to some extent)
+
+Example follows:
+
+@lisp
+@group
+(setq elmo-split-rule
+      '(((spam-p) "+spam")
+        ;; @r{to learn by the judgement, use following instead}
+        ;((spam-p :register t) "+spam")
+        (t "+inbox"))
+@end group
+@end lisp
+@end enumerate
+
+@subsection spam learning
+
+@code{wl-spam} automatically learn spam with refiling messages.
+
+At first, @code{wl-spam} classifies the folders controlled by Wanderlust
+into following 4 domains by the class of containig messages
+
+@table @samp
+@item spam
+Folders containing messages judged as spam.
+(The folder specified by @code{wl-spam-folder})
+@item good
+Folders containing messages judged as non-spam.
+@item undecide
+Folders containing messages not yet judged. Folders without
+pre-distribution may belong to this domain e.g. @samp{+inbox}.
+(specified by @code{wl-spam-undecided-folder-regexp-list})
+@item ignored
+Foldes have nothing to do with spam processing e.g.
+@code{wl-trash-folder} or @code{wl-draft-folder}. (specified by
+@code{wl-spam-ignored-folder-regexp-list})
+@end table
+
+When you refile messages across different domains, it automatically
+learn messages as @samp{spam} or @samp{non-spam} according to domains
+it belongs before and after.
+
+To put it concretely, it will learn by following rule:
+
+@table @samp
+@item undecide -> spam
+learn as spam.
+@item good -> spam
+learn as spam and cancel previous study as non-spam.
+@item undecide -> good
+learn as non-spam.
+@item spam -> good
+learn as non-spam and cancel previous study as spam.
+@end table
+
+It do not learn anything in other cases.
+
+@subsection Key Bindings
+@cindex Keybind, spam filter
+
+@table @kbd
+@item k m
+@kindex k m (Summary)
+@findex wl-summary-spam
+Put spam mark (@samp{s}) on current message.
+
+@item k c
+@kindex k c (Summary)
+@findex wl-summary-test-spam
+Test current message and put spam mark if judged as spam.
+
+@item k C
+@kindex k C (Summary)
+@findex wl-summary-mark-spam
+Test messages with the mark in @code{wl-spam-auto-check-marks},
+and put spam mark if judged as spam. If it is called with prefix
+argument, test all messages regardless of their marks.
+
+@item k s
+@kindex k s (Summary)
+@findex wl-summary-register-as-spam
+Register current message as spam.
+
+@item k S
+@kindex k S (Summary)
+@findex wl-summary-register-as-spam-all
+Register all messages in the folder as spam.
+
+@item k n
+@kindex k n (Summary)
+@findex wl-summary-register-as-good
+Register current message as non-spam.
+
+@item k N
+@kindex k N (Summary)
+@findex wl-summary-register-as-good-all
+Register all messages in the folder as non-spam.
+
+@item m k
+@kindex m k (Summary)
+@findex wl-summary-target-mark-spam
+Put spam mark (@samp{s}) on messages with the target mark @samp{*}.
+
+@item m s
+@kindex m s (Summary)
+@findex wl-summary-target-mark-register-as-spam
+Register messages with the target mark @samp{*} as spam.
+
+@item m n
+@kindex m n (Summary)
+@findex wl-summary-target-mark-register-as-good
+Register messages with the target mark @samp{*} as non-spam.
+@end table
+
+@subsection Customizable Variables
+
+@table @code
+@item wl-spam-folder
+@vindex wl-spam-folder
+Specify the name of destination folder for the spam messages.
+The initial setting is @samp{+spam}.
+
+@item wl-spam-undecided-folder-regexp-list
+@vindex wl-spam-undecided-folder-regexp-list
+Specify the list of regexp of folder names which contain messages
+not yet decided as spam or non-spam.
+The initial setting is @code{'("inbox")}.
+
+@item wl-spam-ignored-folder-regexp-list
+@vindex wl-spam-ignored-folder-regexp-list
+The initial setting is as follows.
+
+@lisp
+@group
+(list (regexp-opt (list wl-draft-folder
+                        wl-trash-folder
+                        wl-queue-folder)))
+@end group
+@end lisp
+
+Folders of no effect against spam judgement, specified by the list of
+folder name regular expressions.
+
+@item wl-spam-auto-check-folder-regexp-list
+@vindex wl-spam-auto-check-folder-regexp-list
+Folders to make spam judgement on entering the summary of them,
+specified by the list of folder name regular expressions.
+The initial setting is @code{nil}.
+
+@item wl-spam-auto-check-marks
+@vindex wl-spam-auto-check-marks
+The initial setting is the following list:
+
+@lisp
+@group
+(list wl-summary-new-uncached-mark
+      wl-summary-new-cached-mark)
+@end group
+@end lisp
+
+Messages with mark specified by this variable will be processed
+by whole-folder judgement including auto test by
+@code{wl-spam-auto-check-folder-regexp-list}.
+Persistent marks can be used in this method, but temporary marks cannot.
+
+You can specify the list of marks as the initial setting, or you can
+specify follwing symbol:
+
+@table @code
+@item all
+Process all messages regardless of persistent marks.
+@end table
+@end table
+
+
+@node Spam Filter Processors,  , Usage of Spam Filter, Spam Filter
+@section Supported Spam Filters
+@cindex Spam Filter, Bogofilter
+@cindex Spam Filter, Spamfilter
+
+Supported spam filtering libraries are following ones.
+
+@menu
+* bogofilter::                          bogofilter
+* spamfilter::                          spamfilter.el
+* bsfilter::                            bsfilter
+* SpamAssassin::                        SpamAssassin
+* Regular Expressions Header Matching:: Header regexp
+@end menu
+
+
+@node bogofilter, spamfilter, Spam Filter Processors, Spam Filter Processors
+@subsection bogofilter
+@cindex bogofilter
+
+bogofilter (@uref{http://bogofilter.sourceforge.net/}) is a spam filter
+implemented by C language.
+
+To use spam filter with bogofilter, write following setting in
+@file{~/.wl} or somewhere else.
+
+@lisp
+@group
+(setq elmo-spam-scheme 'bogofilter)
+@end group
+@end lisp
+
+@subsubsection Customizable Variables
+
+@table @code
+@item elmo-spam-bogofilter-program
+@vindex elmo-spam-bogofilter-program
+The initial setting is @file{bogofilter}.
+Specify the name of executable of bogofilter. If the executable
+is not in your environmental variable @env{PATH}, you should
+set this by full path.
+
+@item elmo-spam-bogofilter-args
+@vindex elmo-spam-bogofilter-args
+The initial setting is @code{nil}.
+Specify arguments to be supplied for bogofilter executable.
+
+@item elmo-spam-bogofilter-database-directory
+@vindex elmo-spam-bogofilter-database-directory
+Specify the directory for statistical database to be used.
+@code{nil} to use default directory (@file{~/.bogofilter}).
+The initial setting is @code{nil}.
+
+@item elmo-spam-bogofilter-max-messages-per-process
+@vindex elmo-spam-bogofilter-max-messages-per-process
+The initial setting is 30.  This variable specifies the number of
+messages to be learned by one process.
+
+@item elmo-spam-bogofilter-debug
+@vindex elmo-spam-bogofilter-debug
+The initial setting is @code{nil}.
+If you specify non-nil, the output from @command{bogofilter} is
+stored in the buffer named @code{"*Debug ELMO SPAM Bogofilter*"}.
+@end table
+
+
+@node spamfilter, bsfilter, bogofilter, Spam Filter Processors
+@subsection spamfilter.el
+@cindex spamfilter
+
+@file{spamfilter.el}
+(@uref{http://www.geocities.co.jp/SiliconValley-PaloAlto/7043/}) is a
+spam filtering library implemented by Emacs Lisp.
+
+Corresponding modules will be compiled/installed, if you have
+@file{spamfilter.el} within @code{load-path} when you are to install wl.
+@xref{Install}.
+
+To use @file{spamfilter.el}, write following setting in @file{~/.wl} or
+somewhere else.
+(Of cource, you have to have settings for @file{spamfilter.el} itself)
+
+@lisp
+@group
+(setq elmo-spam-scheme 'spamfilter)
+@end group
+@end lisp
+
+@subsubsection Customizable Variables
+
+@table @code
+@item elmo-spam-spamfilter-corpus-filename
+@vindex elmo-spam-spamfilter-corpus-filename
+The initial setting is @file{~/.elmo/.spamfilter}.
+It specifies the name of corpus file.
+@end table
+
+@node bsfilter, SpamAssassin, spamfilter, Spam Filter Processors
+@subsection bsfilter
+@cindex bsfilter
+
+bsfilter (@uref{http://bsfilter.org/index-e.html}) is a spam filter
+implemented by Ruby language.
+
+To use spam filter with bsfilter, write following setting in
+@file{~/.wl} or somewhere else.
+
+@lisp
+@group
+(setq elmo-spam-scheme 'bsfilter)
+@end group
+@end lisp
+
+@subsubsection Customizable Variables
+
+@table @code
+@item elmo-spam-bsfilter-program
+@vindex elmo-spam-bsfilter-program
+The initial setting is @file{bsfilter}.
+Specify the name of executable of @command{bsfilter}.  If the executable
+is not in your environmental variable @env{PATH}, you should
+set this by full path.
+
+@item elmo-spam-bsfilter-args
+@vindex elmo-spam-bsfilter-args
+The initial setting is @code{nil}.
+Specify arguments to be supplied for bsfilter executable.
+
+@item elmo-spam-bsfilter-database-directory
+@vindex elmo-spam-bsfilter-database-directory
+Specify the directory for statistical database to be used.
+@code{nil} to use default directory (@file{~/.bsfilter}).
+The initial setting is @code{nil}.
+
+@item elmo-spam-bsfilter-debug
+@vindex elmo-spam-bsfilter-debug
+The initial setting is @code{nil}.
+If you specify non-nil, the output from @command{bsfilter} is
+stored in the buffer named @code{"*Debug ELMO Bsfilter*"}.
+
+@item elmo-spam-bsfilter-shell-program
+@vindex elmo-spam-bsfilter-shell-program
+The initial setting is @file{ruby}.
+Specify the shell to execute @command{bsfilter}.  If the shell is not
+in your environmental variable @env{PATH}, you should set this by full path.
+
+@item elmo-spam-bsfilter-shell-switch
+@vindex elmo-spam-bsfilter-shell-switch
+The initial setting is @code{nil}.
+Specify options to give to the shell executing @command{bsfilter}.
+
+@item elmo-spam-bsfilter-update-switch
+@vindex elmo-spam-bsfilter-update-switch
+The initial setting is @code{"--synchronous-auto-update"}.
+Specify options to give to @command{bsfilter} for learning messages.
+
+@end table
+
+@node SpamAssassin, Regular Expressions Header Matching, bsfilter, Spam Filter Processors
+@subsection SpamAssassin
+@cindex SpamAssassin
+
+SpamAssassin (@uref{http://spamassassin.org/}) is one of the most
+popular spam filtering program implemented on Perl. SpamAssassin
+attempts to identify spam using text analysis and several internet-based
+realtime blacklists.  SpamAssassin also uses a Bayesian learning filter
+which enables more accurate spam filtering.
+
+To use @file{SpamAssassin} on Wanderlust, write following setting
+in @file{~/.wl} or somewhere else.
+(Of course, you have to install SpamAssassin beforehand.)
+
+@lisp
+@group
+(setq elmo-spam-scheme 'sa)
+@end group
+@end lisp
+
+@subsubsection Customize Variables
+
+@table @code
+@item elmo-spam-spamassassin-program
+@vindex elmo-spam-spamassassin-program
+The initial setting is @file{spamassassin}.
+Specify the name of executable @command{spamassassin}. If the executable
+is not in your environmental variable @env{PATH}, you should
+set this by full path.
+
+@item elmo-spam-spamassassin-learn-program
+@vindex elmo-spam-spamassassin-learn-program
+The initial setting is @file{sa-learn}.  
+Specify the name of the SpamAssassin's Bayesian filtering learner
+program, @command{sa-learn}. If the executable is not in your
+environmental variable @env{PATH}, you should set this by full path.
+
+@item elmo-spam-spamassassin-program-arguments
+@vindex elmo-spam-spamassassin-program-arguments
+The initial setting is @code{'("-e")}.
+Specify the arguments to be supplied for @command{spamassassin} executable.
+You have to specify the argument to exit the program with an error exit code
+when the result is spam. For example, if you want to use @command{spamc}
+ instead of @command{spamassassin}, you should specify @code{'("-c")}.
+
+@item elmo-spam-spamassassin-learn-program-arguments
+@vindex elmo-spam-spamassassin-lern-program-arguments
+The initial setting is @code{nil}.
+Specify the arguments to be supplied for @command{sa-learn}.
+
+@item elmo-spamassassin-debug
+@vindex elmo-spamassassin-debug
+The initial setting is @code{nil}.
+If you specify @code{t}, the output from @command{spamassassin} is
+stored in the buffer named @code{"*Debug ELMO SpamAssassin*"}.
+
+@end table
+
+@node Regular Expressions Header Matching,  , SpamAssassin, Spam Filter Processors
+@subsection Regular Expressions Header Matching
+@cindex Regular Expressions Header Matching
+
+Examine if regular expression matches corresponding field in message heaeder,
+and decide spam or not. To use this backend, add following setting to @file{~/.wl}.
+
+@lisp
+@group
+(setq elmo-spam-scheme 'header)
+@end group
+@end lisp
+
+If you want to check fields not included in the default overview
+information, add one into @code{elmo-msgdb-extra-fields}. Then it will
+do examination by the overview information and avoid loading whole
+message body as far as possible.
+
+@subsubsection Customize Variables
+
+@table @code
+@item elmo-spam-header-good-alist
+@vindex elmo-spam-header-good-alist
+The initial setting is the following list:
+
+@lisp
+'(("X-Spam-Flag" . "No"))
+@end lisp
+
+Specify a list of regular expressions to match with header field name
+for making non-spam decision. It takes precedence over
+@code{elmo-spam-header-spam-alist}.
+
+@item elmo-spam-header-spam-alist
+@vindex elmo-spam-header-spam-alist
+The initial setting is the following list:
+
+@lisp
+'(("X-Spam-Flag" . "Yes"))
+@end lisp
+
+Specify a list of regular expressions to match with header field name
+for making spam decision.
+@end table
+
+
+@node Batch Processing, Customization, Spam Filter, Top
+@chapter Batch Processing
+@cindex Batch Processing
+
+You can request wanderlust to do some job on the command line.
+For now, you can invoke prefetching new messages in specified folders.
+
+Specify target folders in @code{wl-batch-prefetch-folder-list} then
+invoke as follows to execute prefetching:
+
+@group
+emacs -batch -l wl-batch -f wl-batch-prefetch
+@end group
+
+@section Customize Variables
+
+@table @code
+@item wl-batch-prefetch-folder-list
+@vindex wl-batch-prefetch-folder-list
+Target folders of prefetching by @code{wl-batch-prefetch}, specified as
+a list of folder names.
+@end table
+
+
+@node Customization, Migration, Batch Processing, Top
 @chapter Customizing Wanderlust
 @cindex Customization
 
@@ -6305,9 +7455,6 @@ Examples with other packages.
 Place @file{util/im-wl.el} on the @code{load-path} and do the following
 settings.
 
-If @command{imput} is on the @code{exec-path} at the installation,
-@file{im-wl.el} is byte-compiled and installed.  @xref{Install}.
-
 @lisp
 @group
 (autoload 'wl-draft-send-with-imput-async "im-wl")
@@ -6320,8 +7467,9 @@ If @command{imput} is on the @code{exec-path} at the installation,
 @subsection bbdb.el
 @pindex BBDB
 
-Place @file{util/bbdb-wl.el} on the @code{load-path} and do the following
-settings.
+To use The Insidious Big Brother Database (@uref{http://bbdb.sourceforge.net/})
+with Wanderlust, place @file{util/bbdb-wl.el} on the @code{load-path}
+and do the following settings.
 
 If BBDB is on the @code{load-path} at the installation, @file{bbdb-wl.el} is
 byte-compiled and installed.
@@ -6356,7 +7504,9 @@ in draft buffer.
 @subsection lsdb.el
 @pindex LSDB
 
-The following is an example of settings:
+The following is an example setting to use
+The Lovely Sister Database (@uref{http://sourceforge.jp/projects/lsdb/})
+with Wanderlust.
 
 @lisp
 @group
@@ -6852,8 +8002,6 @@ For silence, set to @code{nil}.
 @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 type @kbd{a} in the Summary Buffer, a draft for reply is prepared.
 The addressee for the draft is decided by following rules.
@@ -6914,9 +8062,14 @@ These are evaluated in order and first matched one is used.
 Moreover, the behavior of @kbd{a} with prefix argument can
 be directed by @code{wl-draft-reply-with-argument-list} as well.
 
+
 By the way, you can use some function (will be evaluated in the parent
 message buffer) in the place of @samp{key} or @samp{to-list} etc.
-For example, if you only want to reply to mailing lists in
+
+If you want to write a rule for replying to message written by yourself,
+specify function @code{wl-draft-self-reply-p} as @samp{key}.
+
+If you only want to reply to mailing lists in
 @code{wl-subscribed-mailing-list} if the parent has some of them,
 set as follows:
 
@@ -6944,10 +8097,6 @@ set as follows:
 @end lisp
 
 
-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
 
@@ -7041,7 +8190,12 @@ a folder and the like.
 @item wl-draft-folder
 @vindex wl-draft-folder
 The initial setting is @samp{+draft}.  It is the folder to which drafts are
-saved.  It must be a localdir folder.
+saved.  It must be a writable folder.
+Note that variable settings applied by @code{wl-draft-config-exec} is saved
+under @code{elmo-msgdb-directory}.  That is to say, if you specified remote
+folder as @code{wl-draft-folder}, variable settings which are applied by
+@code{wl-draft-config-exec} before saving the draft will not affect on the
+draft buffer on another host by invoking @code{wl-summary-reedit}.
 
 @item wl-trash-folder
 @vindex wl-trash-folder
@@ -7058,6 +8212,13 @@ If non-nil, you are asked for confirmation when Wanderlust terminates.
 The initial setting is @code{t}.
 If non-nil, you are asked for confirmation when mail is sent.
 
+@item wl-default-sync-range
+@vindex wl-default-sync-range
+The initial setting is @samp{update}.
+Default update range of the summary. You can specify
+@samp{all}, @samp{update}, @samp{rescan} or @samp{no-sync}.
+See description of @code{wl-summary-sync} for the meaning of ranges.
+
 @item wl-folder-sync-range-alist
 @vindex wl-folder-sync-range-alist
 The initial setting is the alist shown below:
@@ -7072,8 +8233,10 @@ The initial setting is the alist shown below:
 @noindent
 This is an associative list of regular expressions of folder names and
 update range of the summary.  Update range is one of the @samp{all},
-@samp{update}, @samp{rescan}, @samp{rescan-noscore}, @samp{first} and
-@samp{last}. If a folder do not match, @samp{update} is used.
+@samp{update}, @samp{rescan} or @samp{no-sync}. If the folder do not
+match any of them, the value of @code{wl-default-sync-range} is used
+(@samp{update} by default).
+See description of @code{wl-summary-sync} for the meaning of ranges.
 
 @item wl-ask-range
 @vindex wl-ask-range
@@ -7196,18 +8359,19 @@ This is a list of access groups not to be loaded specifically at the
 start.
 It is ignored if @code{wl-folder-init-load-access-folders} is non-nil.
 
-@item wl-delete-folder-alist
-@vindex wl-delete-folder-alist
+@item wl-dispose-folder-alist
+@vindex wl-dispose-folder-alist
 The initial setting is the alist shown below:
 
 @lisp
 @group
-(("^-" . remove))
+(("^-" . remove)
+ ("^@" . remove))
 @end group
 @end lisp
 
 @noindent
-This list determines disposition of messages with delete marks.
+This list determines disposition of messages with disposal marks.
 Each item in the list is a folder and destination; you can specify any
 one of the following in the place of destination:
 
@@ -7217,22 +8381,6 @@ string             : moves the messages to the specific folder.
 @code{trash} or others  : moves the messages to @code{wl-trash-folder}.
 @end example
 
-@item wl-refile-policy-alist
-@vindex wl-refile-policy-alist
-The initial setting is the list shown below:
-
-@lisp
-@group
-(("^[-=]" . copy)
- (".*" . move))
-@end group
-@end lisp
-
-@noindent
-This list determines whether messages with re-file marks are moved or
-copied.  Each item in the list is a cons cell of a folder and
-@code{copy} or @code{move}.
-
 @item wl-x-face-file
 @vindex wl-x-face-file
 The initial setting is @file{~/.xface}.
@@ -7307,7 +8455,12 @@ this value, display progress gauge.
 
 (Not yet written)
 
-@node Terminology, Mailing List, Customization, Top
+
+@node Migration, Terminology, Customization, Top
+@chapter Switch from older version of Wanderlust
+
+
+@node Terminology, Mailing List, Migration, Top
 @chapter Terminology around Wanderlust
 @cindex Terminology
 
@@ -7430,6 +8583,7 @@ valuable advice and many pieces of code they contributed.
 2001  7/04    Released 2.6.0 stable.
       8/21    wl-addrmgr by Kitamoto-san.
      12/27    Released 2.8.1 stable.
+2002 12/11    Released 2.10.0 stable.
 @end example
 
 See @file{ChangeLog} for details.