Describe WHY the file/buffer cache are used.
[elisp/wanderlust.git] / doc / wl.texi
index 8326ff4..c40588e 100644 (file)
@@ -121,6 +121,7 @@ This manual is for Wanderlust @value{VERSION}.
 * Scoring::                  Score of the messages
 * Address Book::             Management of Address Book
 * Customization::            Customizing Wanderlust
+* Terminology::              Terminologies
 * Mailing List::             Wanderlust mailing list
 * Addition::                 Additional Information
 * Index::                    Key index
@@ -145,7 +146,7 @@ The main features of Wanderlust:
 @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 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).
@@ -161,7 +162,7 @@ The main features of Wanderlust:
 
 @section Environment
 
-Wanderlust is supposed to run on following Emacsen:
+We confirm Wanderlust works on following Emacsen:
 
 @itemize @bullet
 @item Mule 2.3 based on Emacs 19.34
@@ -209,6 +210,7 @@ here.
 * Minimal Settings::  @file{.emacs} setup
 * Folder Definition:: Folder definition
 * Start Wanderlust::  Starting Wanderlust
+* Overview::          Basic components of Wanderlust
 @end menu
 
 
@@ -219,9 +221,9 @@ here.
 @pindex FLIM
 @pindex SEMI
 
-SEMI must be installed to make Wanderlust work correctly.
+You must install SEMI beforehand to use Wanderlust.
 
-SEMI can be downloaded from these sites:
+SEMI can be downloaded from following site:
 
 @example
 @group
@@ -362,9 +364,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}
 
@@ -459,7 +462,7 @@ configured by @code{INFODIR} in @file{Makefile}.
 You can read manual at the following URL:
 
 @example
-http://www.gohome.org/wl/doc/wl-euc_toc.html
+http://www.gohome.org/wl/doc/wl_toc.html
 @end example
 
 @node Minimal Settings, Folder Definition, Install, Start Me Up
@@ -487,17 +490,15 @@ The minimal requirement for settings is as the following.
 
 @lisp
 @group
-;; @r{The setting to use SEMI}
-(require 'mime-setup)
-
 ;; @r{autoload configuration}
-;; @r{(These are not required if Wanderlust is installed as XEmacs package)}
+;; @r{(Not required if you have installed Wanderlust as XEmacs package)}
 (autoload 'wl "wl" "Wanderlust" t)
+(autoload 'wl-other-frame "wl" "Wanderlust on new frame." t)
 (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
 
 ;; @r{Directory where icons are placed.}
 ;; @r{Default: the peculiar value to the running version of Emacs.}
-;; @r{(This is not required if the default value has been set properly)}
+;; @r{(Not required if the default value points properly)}
 (setq wl-icon-directory "~/work/wl/etc")
 
 ;; @r{SMTP server for mail posting. Default: @code{nil}}
@@ -514,9 +515,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
@@ -524,7 +524,7 @@ 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.
@@ -611,15 +611,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
 
@@ -631,31 +631,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
@@ -663,8 +669,8 @@ Details of each ones are explained later.
 
 This chapter describes the folder types which Wanderlust is able to handle.
 
-Wanderlust uses ELMO as it's interface, so every folder types supported
-by ELMO is usable in Wanderlust.
+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,
@@ -1029,6 +1035,8 @@ $teranisi         -> @file{~/Mail/teranisi/elmo-archive.zip}
 $bsd/freebsd;lha  -> @file{~/Mail/bsd/freebsd/elmo-archive.lzh}
 $/foo@@server:~/bar;zoo     -> @file{~/bar/elmo-archive.zoo} on ftp server
 $d:/msend.tar.gz;tgz;spool -> @file{d:/msend.tar.gz}
+$ml;zip/        -> Access group consists of archive folders
+                   under @file{~/Mail/ml}
 @end group
 @end example
 
@@ -1320,6 +1328,17 @@ Example:
 @end group
 @end example
 
+@subsection Variables About Shimbun Folder
+
+@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.
+@end table
+
 
 @node Namazu Folder, Multi Folder, Shimbun Folder, Folders
 @section Namazu Folder
@@ -1608,13 +1627,13 @@ For example, if you specify following
 @end example
 
 @noindent
-and access it, messages are downloaded automatically from
-@samp{&username@@popserver} to @samp{+inbox}.
+and access it, Wanderlust downloads messages from
+@samp{&username@@popserver} to @samp{+inbox} automatically.
 
 On the other hand, if you put @samp{|:} instead of second @samp{|},
 then messages are copied to the destination folder (not deleted from
-source-folder). At the next time you access that folder, only new
-messages will be copied.
+source-folder). At the next time you access that folder, copies new
+messages only.
 
 @example
 @samp{|} @var{source-folder} @samp{|:} @var{destination-folder}
@@ -1770,6 +1789,7 @@ Folder mode's key binding (related to selecting folders) is following.
 @kindex @key{RET} (Folder)
 @findex wl-folder-jump-to-current-entity
 Enter to the summary mode of the folder at the current cursor point.
+With prefix argument, enter the sticky summary.
 If the cursor is on the top of folder group line,
 the folder group is opened or closed.
 When the cursor is on the access group and this command is called
@@ -1899,6 +1919,24 @@ Enter summary mode of the first unread folder.
 Empty trash.
 (@code{wl-folder-empty-trash})
 
+@item F
+@kindex F (Folder)
+@findex wl-folder-flush-queue
+Flush queue.
+(@code{wl-folder-flush-queue})
+
+@item V
+@kindex V (Folder)
+@findex wl-folder-virtual
+Move to the virtual folder with the condition specified.
+(@code{wl-folder-virtual})
+
+@item ?
+@kindex ? (Folder)
+@findex wl-folder-pick
+Search the folders with the condition specified.
+(@code{wl-folder-pick})
+
 @item o
 @kindex o (Folder)
 @findex wl-folder-open-all-unread-folder
@@ -2037,12 +2075,13 @@ The initial setting is the list shown below:
 
 @lisp
 @group
-("-" "-alt")
+("^-$" "^-alt$")
 @end group
 @end lisp
 
 @noindent
-A list of access groups which creates children folder list hierarchically.
+A list of regular expressions for access groups which creates children
+folder list hierarchically.
 
 For example, if you specify
 @code{wl-folder-hierarchy-access-folders} like following,
@@ -2050,12 +2089,12 @@ For example, if you specify
 @lisp
 @group
 (setq wl-folder-hierarchy-access-folders
-     '("-" "-alt" "-japan" "-comp" "-comp.unix"))
+     '("^-$" "^-alt$" "^-japan$" "^-comp$" "^-comp.unix$"))
 @end group
 @end lisp
 
 @noindent
-such access group hierarchy is obtained.
+you obtain the access group hierarchy as follows.
 
 @example
 @group
@@ -2130,9 +2169,9 @@ To append new folder to the empty folder group
 (after you create folder group by typing @kbd{m g}),
 firstly open it, then execute append command in the next line.
 If it is closed, folder is appended on the same level with
-the above folder group. It is difficult to explain by words so try it.
+the folder group above. It is difficult to explain by words so try it.
 In other words, appended position depends on the
-above folder group's open/close status.
+open/close status of the upper one.
 
 @subsubsection Charset of the Folders File.
 
@@ -2465,6 +2504,7 @@ mode.
 * Cache::                       File cache, Buffer cache, and Prefetch
 * Auto Refile::                 Auto refile settings
 * Sticky Summary::              Summary make sticky
+* Summary View::                Format of summary lines
 * Key Bindings of Summary::     Key bindings
 * Variables of Summary::        Customize Summary Mode
 @end menu
@@ -2493,7 +2533,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
@@ -2653,14 +2695,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}.
 
@@ -2694,6 +2738,27 @@ only imap4 messages.  This variable precedes the value of
 @vindex wl-message-buffer-prefetch-folder-list
 The initial setting is @code{nil}.
 A list of regexp of folders to enable message prefetching.
+
+@item wl-message-buffer-prefetch-depth
+@vindex wl-message-buffer-prefetch-depth
+The initial setting is 3. The number of messages for automatical prefetch.
+
+@item wl-message-buffer-prefetch-idle-time
+@vindex wl-message-buffer-prefetch-idle-time
+The initial setting is 0.2 (in seconds). The period of automatical prefetch.
+
+@item wl-message-buffer-prefetch-threshold
+@vindex wl-message-buffer-prefetch-threshold
+The initial setting is 30000 (bytes). If prefetching message has larger
+size than this value, Wanderlust does not prefetch automatically.
+If @code{wl-message-buffer-prefetch-threshold} is @code{nil}, 
+the message is not checked for the size.
+
+@item wl-auto-prefetch-first
+@vindex wl-auto-prefetch-first
+The initial setting is @code{nil}.
+If non-nil, first message is automatically prefetched to the buffer
+when you enter the folder.
 @end table
 
 
@@ -2752,8 +2817,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 \&
@@ -2796,28 +2861,114 @@ 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
 
 The buffer of the `sticky summary' does not killed by typing @kbd{q}.
 
-Sticky buffer is created by entering the summary by typing @kbd{C-u g}
-or type @kbd{M-s} (@code{wl-summary-stick}) on the normal summary.
+By entering the summary by typing @kbd{Shift RET} in Folder mode or
+@kbd{G} in some suummary sticky summary buffer is created.
+Also typing @kbd{M-s} (@code{wl-summary-stick}) on the normal summary
+makes current one sticky.
 
 The buffer name of the sticky summary becomes like
 @samp{Summary:@var{folder-name}}.
-
 You can visit the sticky summary at any time by @kbd{C-x b}
-(@code{switch-to-buffer}).  To exit sticky summary, type @kbd{C-u
-q}. Other operations in the sticky summary are same as normal summary.
+(@code{switch-to-buffer}), or you can go round summary buffers by
+@kbd{C-c C-n} (@code{wl-summary-previous-buffer}) and @kbd{C-c C-p}
+(@code{wl-summary-next-buffer}) in summary mode.
+
+In sticky summary, the summary buffer is preserved after @kbd{g} or
+@kbd{q}.  To delete sticky summary, type @kbd{C-u q} to exit or move to
+another summary by @kbd{C-u g}. Other operations in the sticky summary
+are same as normal summary.
 
 @code{wl-summary-always-sticky-folder-list} specifies the folders that
 are automatically stuck.
 
 
-@node Key Bindings of Summary, Variables of Summary, Sticky Summary, Summary
+@node Summary View, Key Bindings of Summary, 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
+
+
+@node Key Bindings of Summary, Variables of Summary, Summary View, Summary
 @section Key bindings
 @cindex Keybind, Summary Mode
 @cindex Keybind, Summary Buffer
@@ -3128,9 +3279,11 @@ Synchronize summary view after prompting the update range
 @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).
 @end group
 @end example
@@ -3503,6 +3656,19 @@ That is, @samp{*} marks on the messages are remained
 if the specified condition is satisfied.
 (@code{wl-summary-target-mark-pick})
 
+@item m #
+@kindex m # (Summary)
+@findex wl-summary-target-mark-print
+Print out all messages which have target mark @samp{*}.
+(@code{wl-summary-target-mark-print})
+
+@item m |
+@kindex m | (Summary)
+@findex wl-summary-target-mark-pipe
+Pipe content of each message with target mark @samp{*} to some specified
+external process.
+(@code{wl-summary-target-mark-pipe})
+
 @item M-t
 @kindex M-t (Summary)
 @findex wl-toggle-plugged
@@ -3536,6 +3702,12 @@ parent, connect the message saved by
 @code{wl-summary-save-current-message}
 to the thread.
 (@code{wl-summary-yank-saved-message})
+
+@item C-x C-s
+@kindex C-x C-s (Summary)
+@findex wl-summary-save-status
+Save the current summary.
+(@code{wl-summary-save-status})
 @end table
 
 
@@ -3553,7 +3725,8 @@ next message.
 @item wl-auto-select-first
 @vindex wl-auto-select-first
 The initial setting is @code{nil}.
-If non-nil, first message is automatically displayed.
+If non-nil, first message is automatically displayed when you enter
+the folder.
 
 @item wl-auto-select-next
 @vindex wl-auto-select-next
@@ -3866,7 +4039,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
@@ -3934,24 +4107,77 @@ If it is non-nil, truncate long lines in message buffer.
 At Summary mode, pressing @kbd{w} and the like creates a new draft
 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
 
 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.
 
-Using @samp{FCC:} field, you can specify the folder to which a copy of
-the message is saved when it is sent.
+@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.
+
+@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
 
 Multi-part editing utilize MIME edit mode of SEMI.  For procedures of
@@ -3959,6 +4185,10 @@ 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
@@ -4106,6 +4336,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
@@ -4121,7 +4352,7 @@ The format of @code{wl-template-alist} is almost the same as
 (setq wl-template-alist
       '(("default"
          ("From" . wl-from)
-         ("Organization" . "~/.wl sample")
+         ("Organization" . "Example Co.Ltd.")
          (body . "Hello.\n"))
         ("report"
          (template . "default")                 ;; @r{(a)}
@@ -4160,6 +4391,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
 
@@ -4211,6 +4443,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
@@ -4325,6 +4559,7 @@ 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
 
 @table @code
@@ -4371,6 +4606,11 @@ draft buffer.  If @code{nil}, it is not automatically inserted.
 The initial setting is @code{t}.  If non-nil, @samp{Message-ID:} field
 is automatically inserted on the transmission.
 
+@item wl-message-id-use-wl-from
+@vindex wl-message-id-use-wl-from
+The initial setting is @code{nil}.  If non-nil, the value of
+@code{wl-from} will be used as the domain part of @samp{Message-ID:}.
+
 @item wl-local-domain
 @vindex wl-local-domain
 The initial setting is @code{nil}.  If @code{nil}, the return value of
@@ -4399,14 +4639,10 @@ domain part of the @samp{Message-ID:}.  If your terminal does not have
 global IP address, set unique string to this value (e.x. your e-mail
 address).
 
-@item wl-message-id-domain
-@vindex wl-message-id-domain
-The initial setting is @code{nil}.  If @code{nil}, the return value of
-the function @code{system-name} will be used as the domain part of
-@samp{Message-ID:}.  If @code{system-name} does not return FQDN
-(i.e. the full name of the host, like @samp{smtp.gohome.org}), you
-@strong{must} set this variable to the string of the full name of the
-host.  Otherwise, you might be beaten up on the Net News.
+@item wl-unique-id-suffix
+@vindex wl-unique-id-suffix
+The initial setting is @samp{.wl}. You can specify the string in generated
+Message-ID which appear just before @samp{@@}.
 
 @item wl-draft-config-alist
 @vindex wl-draft-config-alist
@@ -4479,25 +4715,18 @@ 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.
 
+@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.
+
 @item wl-draft-reply-use-address-with-full-name
 @vindex wl-draft-reply-use-address-with-full-name
 The initial setting is @code{t}.
@@ -4545,7 +4774,7 @@ 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
@@ -4599,6 +4828,30 @@ If @code{nil}, @code{elmo-nntp-default-stream-type} is evaluated.  If non-nil,
 SSL is used for news submission.  If @code{starttls}, STARTTLS (RFC2595)
 connection will be established.
 
+@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}.
@@ -4741,10 +4994,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
@@ -4771,9 +5026,10 @@ re-filed or copied to the specified folders are appended to the folder
 @subsection Creation of Folders (IMAP4)
 
 You can create IMAP folders off-line.  The creation of folders are
-reflected in the servers when Wanderlust becomes on-line.  At that time,
-if folders failed to be created on the servers for any reasons, messages
-re-filed to such folders are appended to the folder @samp{+lost+found}.
+reflected in the servers when Wanderlust becomes on-line.  If the creation
+of those folders fails at that time for some reasons, messages
+to be re-filed into those are appended to the folder @samp{+lost+found}
+instead.
 
 
 @node Marking, Pre-fetching Reservations, Creation of Folders, Enable Operations
@@ -6174,7 +6430,7 @@ Edit entry.
 @end table
 
 
-@node Customization, Mailing List, Address Book, Top
+@node Customization, Terminology, Address Book, Top
 @chapter Customizing Wanderlust
 @cindex Customization
 
@@ -6195,7 +6451,8 @@ Examples with other packages.
 
 @menu
 * imput::                       imput (im-wl.el)
-* BBDB::                        BBDB
+* BBDB::                        The Insidious Big Brother Database
+* LSDB::                        The Lovely Sister Database
 * supercite::                   supercite.el
 * mu-cite::                     mu-cite.el
 * X-Face::                      x-face,bitmap-mule
@@ -6225,7 +6482,7 @@ If @command{imput} is on the @code{exec-path} at the installation,
 @end lisp
 
 
-@node BBDB, supercite, imput, Living with other packages
+@node BBDB, LSDB, imput, Living with other packages
 @subsection bbdb.el
 @pindex BBDB
 
@@ -6261,7 +6518,27 @@ You can complete address with BBDB by @kbd{M-@key{TAB}}
 in draft buffer.
 
 
-@node supercite, mu-cite, BBDB, Living with other packages
+@node LSDB, supercite, BBDB, Living with other packages
+@subsection lsdb.el
+@pindex LSDB
+
+The following is an example of settings:
+
+@lisp
+@group
+(require 'lsdb)
+(lsdb-wl-insinuate)
+(add-hook 'wl-draft-mode-hook
+          (lambda ()
+             (define-key wl-draft-mode-map "\M-\t" 'lsdb-complete-name)))
+@end group
+@end lisp
+
+In this example, bind @kbd{M-@key{TAB}} to @code{lsdb-complete-name}
+(complete address with LSDB).
+
+
+@node supercite, mu-cite, LSDB, Living with other packages
 @subsection sc.el(supercite), sc-register.el
 @pindex sc
 @pindex supercite
@@ -6744,10 +7021,10 @@ For silence, set to @code{nil}.
 @vindex wl-draft-reply-myself-with-argument-list
 @vindex wl-draft-reply-myself-without-argument-list
 
-If you want, when you replying to articles in mailing lists, the address
-in Reply-To field of the original message to be prepared to To field of
-the reply draft by simply pressing @kbd{a} in the summary mode, try the
-following settings:
+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.
+
+For example, you can set as follows:
 
 @lisp
 @group
@@ -6759,18 +7036,83 @@ following settings:
 @end group
 @end lisp
 
-@noindent
-(Only if there are both of @samp{X-ML-Name:} and @samp{Reply-To:} fields
-in the original message, @samp{Reply-To:} field in the original is
-copied to @samp{To:} field.)
+Where each element of the list  @code{wl-draft-reply-without-argument-list}
+is in the form
+
+@example
+(key . (to-list cc-list newsgroup-list))
+@end example
+
+and if the field designated by @samp{key} exist in the parent message,
+parent's field values designated by @samp{to-list} are copied to @samp{To:}
+in the draft. Similarly, parent's fields designated by @samp{cc-list} and
+@samp{newsgroup-list} are copied to @samp{Cc:} and @samp{Newsgroups:} in
+the draft respectively.
+
+Examples:
+
+@lisp
+("Mail-Followup-To" . (("Mail-Followup-To") nil ("Newsgroups")))
+@end lisp
+
+Match if the parent has @samp{Mail-Followup-To} field.
+The components of parent's @samp{Mail-Followup-To} and @samp{Newsgroups}
+fields are copied to @samp{To} and @samp{Newsgroups} in the draft
+respectively.
+
+@lisp
+(("X-ML-Name" "Reply-To") . (("Reply-To") nil nil))
+@end lisp
+
+Match if the parent has both @samp{X-ML-Name} and @samp{Reply-To} fields.
+Parent's @samp{Reply-To} is copied to @samp{To} in the draft.
+
+@lisp
+("From" . (("From") ("To" "Cc") ("Newsgroups")))
+@end lisp
+
+Copy parent's @samp{From} to @samp{To} in the draft, parent's @samp{To} and
+@samp{Cc} to @samp{Cc}, parent's @samp{Newsgroups} to @samp{Newsgroups}
+respectively.
+
+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.
 
-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.
+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
+@code{wl-subscribed-mailing-list} if the parent has some of them,
+set as follows:
+
+@lisp
+@group
+(defun wl-mailing-list-addresses ()
+  (let (list-addrs)
+    (dolist (to (mapcar
+                (lambda (addr)
+                  (nth 1 (std11-extract-address-components addr)))
+                (wl-parse-addresses
+                 (wl-concat-list
+                  (elmo-multiple-fields-body-list (list "To" "Cc"))
+                  ","))))
+      (when (elmo-string-matched-member to wl-subscribed-mailing-list t)
+       (setq list-addrs (cons to list-addrs))))
+    (nreverse list-addrs)))
+
+(setq wl-draft-reply-with-argument-list
+      '((wl-mailing-list-addresses . (wl-mailing-list-addresses nil nil))
+       ("Reply-To" . (("Reply-To") nil nil))
+       ("Mail-Reply-To" . (("Mail-Reply-To") nil nil))
+       ("From" . (("From") nil nil))))
+@end group
+@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
@@ -6835,10 +7177,7 @@ If you do not want verbose @samp{User-Agent:} field, do the following:
 @lisp
 @group
 (setq wl-generate-mailer-string-function
-      (function
-       (lambda ()
-         (concat "User-Agent: "
-                 (wl-generate-user-agent-string-1 nil)))))
+      'wl-generate-user-agent-string-1)
 @end group
 @end lisp
 
@@ -6846,11 +7185,10 @@ The following is a example:
 
 @lisp
 @group
-(setq mime-edit-insert-user-agent-field nil)
-(setq wl-generate-mailer-string-function
-      (function
-       (lambda ()
-         (format "X-Mailer: %s" (product-string-1 'wl-version)))))
+(setq wl-generate-mailer-string-function nil)
+(setq wl-draft-additional-header-alist
+      (list
+       (cons 'X-Mailer (lambda () (product-string-1 'wl-version)))))
 @end group
 @end lisp
 
@@ -7135,26 +7473,75 @@ this value, display progress gauge.
 
 (Not yet written)
 
+@node Terminology, Mailing List, Customization, Top
+@chapter Terminology around Wanderlust
+@cindex Terminology
+
+Here we explain terminologies used in this manual.
+
+@table @samp
+@item folder
+A container in which messages are stored.
+
+@item group
+A set consists of some folders.
+
+@item access group
+A special group consists of automatically collected folders under
+some specified path.
+@xref{Folder Definition}.
+
+@item summary buffer
+A buffer for displaying list of messages in some folder.
+
+@item sticky summary
+Compared with ordinary summary buffer which will be destroyed after
+exiting from it, this type of summary will be remain even after exiting
+by @kbd{q} or @kbd{g}.
+@xref{Sticky Summary}.
 
-@node Mailing List, Addition, Customization, Top
+@item expire
+To delete or put into the archive expired messages.
+@xref{Expire}.
+
+@item score
+@xref{Scoring}.
+
+@item prefetch
+To cache messages beforehand in order to read messages after you will be
+disconnected from the server.
+@end table
+
+
+@node Mailing List, Addition, Terminology, Top
 @chapter Wanderlust Mailing List
 @cindex Bug report
 @cindex Backtrace
 
+Topics related to Wanderlust are discussed in following mailing lists.
+The latest version is also announced there.
+
 @display
 Wanderlust Mailing List @t{<wl@@lists.airs.net>}
 @end display
 
-Topics related to Wanderlust are discussed in the mailing list.
-The latest version is also announced there (in Japanese, sorry).
+In this list Japanese is mainly used for discussion. We also have a list
+for discussion in English:
+
+@display
+Wanderlust List in English @t{<wl-en@@lists.airs.net>}
+@end display
+(Messages posted to this list are also forwarded to the former one.)
 
 A guide can be obtained automatically by sending mail to
-@t{wl-ctl@@lists.airs.net} with the body
+@t{wl-ctl@@lists.airs.net} (or to @t{wl-en-ctl@@lists.airs.net} for
+the English one) with the body
 
 @example
 # guide
 @end example
-Please send bug reports or patches to the mailing list.  You can post to
+
+Please send bug reports or patches to one of those lists.  You can post to
 the mailing list even though you are not a member of it.
 
 If you send a bug report, please attach Backtrace with it.