(wl-summary-create-line): Bind variable `entity' for backward compatibility.
[elisp/wanderlust.git] / doc / wl.texi
index bbbf419..ac3e422 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
@@ -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
@@ -219,9 +220,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
@@ -491,14 +492,14 @@ The minimal requirement for settings is as the following.
 (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}}
@@ -664,8 +665,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,
@@ -1622,13 +1623,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}
@@ -1784,6 +1785,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
@@ -2069,12 +2071,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,
@@ -2082,12 +2085,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
@@ -2162,9 +2165,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.
 
@@ -2741,6 +2744,12 @@ 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
 
 
@@ -2799,8 +2808,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 \&
@@ -2850,15 +2859,22 @@ To execute auto refile on all messages, set following.
 
 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.
@@ -3552,6 +3568,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
@@ -3585,6 +3614,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
 
 
@@ -3602,7 +3637,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
@@ -3983,6 +4019,9 @@ 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.
+
 @section Tips
 
 Basically it is Emacs-standard mail mode.
@@ -4821,9 +4860,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
@@ -6224,7 +6264,7 @@ Edit entry.
 @end table
 
 
-@node Customization, Mailing List, Address Book, Top
+@node Customization, Terminology, Address Book, Top
 @chapter Customizing Wanderlust
 @cindex Customization
 
@@ -6245,7 +6285,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
@@ -6275,7 +6316,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
 
@@ -6311,7 +6352,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
@@ -6794,10 +6855,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
@@ -6809,18 +6870,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
@@ -6885,10 +7011,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
 
@@ -6896,11 +7019,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
 
@@ -7185,26 +7307,75 @@ this value, display progress gauge.
 
 (Not yet written)
 
+@node Terminology, Mailing List, Customization, Top
+@chapter Terminology around Wanderlust
+@cindex Terminology
 
-@node Mailing List, Addition, Customization, Top
+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}.
+
+@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.