* wl-ja.texi, wl.texi (wl-draft-elide-region): Added.
[elisp/wanderlust.git] / doc / wl.texi
index e02b7b8..4200f8d 100644 (file)
@@ -218,26 +218,14 @@ here.
 @pindex APEL
 @pindex FLIM
 @pindex SEMI
-@pindex tm
 
-SEMI or tm must be installed to make Wanderlust work correctly.
+SEMI must be installed to make Wanderlust work correctly.
 
-SEMI does not run on Emacs 19.28 or earlier
-@footnote{SEMI runs on Emacs 19.34. @*
-@uref{http://www.jpl.org/elips/INSTALL-SEMI-ja.html} describes how to.},
-so you must install tm, the predecessor of SEMI. (tm version 8.7 or later
-is needed.)
-
-However, SEMI is recommended because of its wider functionality.
-
-Refer to the documents of each package for detailed installation procedure.
-
-SEMI and tm can be downloaded from these sites:
+SEMI can be downloaded from these sites:
 
 @example
 @group
 SEMI:   ftp://ftp.m17n.org/pub/mule/semi/
-tm:     http://cvs.m17n.org/tomo/comp/emacsen/tm/tm-8/
 @end group
 @end example
 
@@ -255,10 +243,16 @@ You have to install APEL, FLIM and SEMI in this order.  Generally,
 @samp{make install} will do the job.  (In XEmacs 21, @samp{make
 install-package}.)
 
+Refer to the documents of each package for detailed installation
+procedure @footnote{If you want to use SEMI on Emacs 19.34. @*
+@uref{http://www.jpl.org/elips/INSTALL-SEMI-ja.html} (In Japanese)
+may help you.}.
+
+
 Recommended combination of APEL, FLIM and SEMI are following:
 
 @itemize @minus
-@item APEL 10.3, FLIM 1.14.2 and SEMI 1.14.3
+@item APEL 10.3, FLIM 1.14.3 and SEMI 1.14.3
 @end itemize
 
 You can also use many other FLIM/SEMI variants. Combination of the
@@ -270,8 +264,7 @@ confirmed to work.
 @item APEL 10.2, SLIM 1.14.3, EMY 1.13.9
 @end itemize
 
-You have to re-install Wanderlust if you upgraded APEL, FLIM, SEMI or
-tm.
+You have to re-install Wanderlust if you upgraded APEL, FLIM or SEMI.
 
 
 @node Download, Install, MIME Modules, Start Me Up
@@ -502,10 +495,10 @@ The minimal requirement for settings is as the following.
 (autoload 'wl "wl" "Wanderlust" t)
 (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
 
-;; @r{Directory where icons are placed (XEmacs or Emacs 21).}
-;; @r{Default: @code{nil}.}
-;; @r{(This is not required if Wanderlust is installed as XEmacs package)}
-(setq wl-icon-dir "~/work/wl/etc")
+;; @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)}
+(setq wl-icon-directory "~/work/wl/etc")
 
 ;; @r{SMTP server for mail posting. Default: @code{nil}}
 (setq wl-smtp-posting-server "your.smtp.example.com")
@@ -643,6 +636,26 @@ 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.
 
+Basically, you will handle messages in wanderlust while you come and go
+from/to each of the following buffers.
+
+@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.
+@item Message Buffer
+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
@@ -1335,10 +1348,57 @@ Example:
 @end group
 @end example
 
-Tips
+@subsection TIPS
+
+@subsubsection Enter space to separate keywords
 
 If you want to use space in folder entry, @kbd{C-q @key{SPC}} will help you.
 
+@subsubsection Alias name for index
+
+You can define an alias name for index.
+
+Example:
+
+@example
+(setq elmo-nmz-index-alias-alist
+      '(("cache" . "~/.elmo/cache")
+        ("docs" . "~/documents")))
+@end example
+
+Above definition defines two index aliases.
+You can specify
+
+@example
+[wanderlust]cache
+@end example
+
+to execute a namazu search with keyword @samp{wanderlust} using a index in the 
+directory @file{~/.elmo/cache}.
+
+@subsubsection Multiple indices
+
+You can specify a list for @code{elmo-nmz-default-index-path} and
+@code{elmo-nmz-index-alias-alist}.
+When list is specified, all index contained in the list is used as the 
+namazu indices.
+
+Example:
+
+@example
+(setq elmo-nmz-index-alias-alist
+      '(("all" . ("~/.elmo/cache" "~/documents"))
+        ("cache" . "~/.elmo/cache")))
+@end example
+
+Using above alias setting, you can specify
+
+@example
+[wanderlust]all
+@end example
+
+to execute a namazu search with keyword @samp{wanderlust} using indices in the 
+directory @file{~/.elmo/cache} and @file{~/documents}.
 
 @node Multi Folder, Filter Folder, Namazu Folder, Folders
 @section Multi Folder
@@ -1546,13 +1606,33 @@ For example, if you specify following
 and access it, messages are downloaded automatically from
 @samp{&username@@popserver} to @samp{+inbox}.
 
+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.
+
+@example
+@samp{|} @var{source-folder} @samp{|:} @var{destination-folder}
+@end example
+
+If you want to copy messages from POP server and view them, specify the
+folder as follows:
+
+@example
+|&username@@popserver|:+inbox
+@end example
+
+where messages will be kept on the server.
+
 Example:
 
 @example
 @group
-%inbox|%myinbox   -> Download %inbox to %myinbox.
-*&user@@popserver1,&user@@popserver2|+inbox
+|%inbox|%myinbox   -> Download %inbox to %myinbox.
+|*&user@@popserver1,&user@@popserver2|+inbox
          -> Download from &user@@popserver1 and &user@@popserver2 to +inbox.
+|-gnu.emacs.sources|:+sources
+         -> Copy messages from -gnu.emacs.sources to +sources.
 @end group
 @end example
 
@@ -1573,7 +1653,7 @@ Format:
 @example
 @group
 'mark
-@r{or}
+'sendlog
 'cache/00 - 1F
 @end group
 @end example
@@ -1592,6 +1672,14 @@ message will have @samp{$} mark.
 folder.  If you want IMAP folder's message remove from @samp{'mark}
 folder, remove important mark at IMAP Folder.)
 
+
+A folder named @samp{'sendlog} is a virtual folder which collects
+cached messages which are recoded on @file{~/.elmo/sendlog}.
+It might be useful when you forgot to add cc for yourself.
+To use this, you should set @code{wl-draft-use-cache} to non-nil
+so that sent messages are cached.
+
+
 You can access cached messages fetched via network by accessing
 folders named @samp{'cache/00} - @samp{'cache/1F}. 00 - 1F are
 the name of the subdirectories of the cache directory
@@ -2320,6 +2408,12 @@ The initial setting is @code{nil}.
 If non-nil, negative value is displayed when the message is deleted.  If
 @code{sync}, folder is synchronized when the message is deleted.  If
 @code{nil}, message deletion is ignored.
+
+@item wl-fldmgr-add-complete-with-current-folder-list
+@vindex wl-fldmgr-add-complete-with-current-folder-list
+The initial setting is @code{nil}.
+Non-nil means call @code{elmo-folder-list-subfolders} and get completion
+candidate for @code{wl-fldmgr-add}.
 @end table
 
 @subsection Miscellanea
@@ -2557,46 +2651,38 @@ specified size by the order of last accessed time.
 
 @subsection Buffer Cache and Prefetching
 
-If the value of @code{elmo-use-buffer-cache} is non-nil, the messages
-that are read are kept in the cache buffer.  It is called `buffer
-cache'. The number of cache buffer is specified by
-@code{elmo-buffer-cache-size}.
+The messages that are read are kept in the cache buffer.  It is called
+`buffer cache'. The number of cache buffer is specified by
+@code{wl-message-buffer-cache-size}.
 
 There are message prefetching mechanism in the Wanderlust that
-prefetches next message while you are reading.  This function requires
-that the value of @code{elmo-use-buffer-cache} is non-nil.
+prefetches next message while you are reading.
 
 You can control the message prefetching mechanism by these two
 variables.
 
 @table @code
-@item wl-cache-prefetch-folder-type-list
-@vindex wl-cache-prefetch-folder-type-list
-The initial setting is the list shown below:
-@lisp
-@group
-(nntp imap4)
-@end group
-@end lisp
-
-@noindent
-It specifies the folder types in which message prefetching is enabled.
-In the initial setting, multi folder that contains localdir and imap4
-prefetches only imap4 messages.  This variable precedes the value of
-@code{wl-cache-prefetch-folder-list}.
-
-If you want to prefetch localdir and localnews also, following setting
-is needed.
+@item wl-message-buffer-prefetch-folder-type-list
+@vindex wl-message-buffer-prefetch-folder-type-list
+The initial setting is @code{t}. In this case, prefetch messages in all
+folders.
+If it is a list of folder types, it specifies the folder types in which
+message prefetching is enabled.
+Following is an example (prefetch messages in nntp and imap4 folders)
 
 @lisp
 @group
-(setq wl-cache-prefetch-folder-type-list
-      '(nntp imap4 localdir localnews))
+(setq wl-message-buffer-prefetch-folder-type-list
+      '(nntp imap4))
 @end group
 @end lisp
 
-@item wl-cache-prefetch-folder-list
-@vindex wl-cache-prefetch-folder-list
+In this case, multi folder that contains localdir and imap4 prefetches
+only imap4 messages.  This variable precedes the value of
+@code{wl-message-buffer-prefetch-folder-list}.
+
+@item wl-message-buffer-prefetch-folder-list
+@vindex wl-message-buffer-prefetch-folder-list
 The initial setting is @code{nil}.
 A list of regexp of folders to enable message prefetching.
 @end table
@@ -2678,9 +2764,9 @@ Following is an example of @code{wl-refile-rule-alist}.
          ("^Wanderlust" . "+wl")
          ("^Elisp" . "+elisp"))
         (("To" "Cc")
-         ("\\([a-z]+\\)@@gohome.org" . "+\\1"))
+         ("\\([a-z]+\\)@@gohome\\.org" . "+\\1"))
         ("From"
-         ("me@@gohome.org" . ("To" ("you@@gohome.org" .
+         ("me@@gohome\\.org" . ("To" ("you@@gohome\\.org" .
                                     "+from-me-to-you"))))))
 @end group
 @end lisp
@@ -3312,6 +3398,7 @@ With prefix argument, it affects on the all messages in the thread tree.
 @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
@@ -3461,10 +3548,22 @@ If non-nil, first message is automatically displayed.
 
 @item wl-auto-select-next
 @vindex wl-auto-select-next
-The initial setting is @code{nil}.  If non-nil, jump to next summary
-automatically.  If @code{unread}, jump to next unread folder's summary
-after confirmation.  If @code{skip-no-unread}, unread folders are
-automatically skipped.
+The initial setting is @code{nil}. This controls behavior when there is
+no unread message in current summary.
+
+@example
+nil: asks whether you want to go back to folder mode
+'unread: asks whether you want to go to next unread folder
+  If the next one comes to be possessing no unread message
+  by treatment of cross-posted messages or Scoring, then
+  asks whether you want to go to next to next folder.
+'skip-no-unread: similar as unread
+  But does not ask before going to next to next folder.
+otherwise: asks whether you want to go to next unread folder
+@end example
+
+It might be useful to set @code{'skip-no-unread} for people who
+want to continue reading by just pressing and pressing space key.
 
 @item wl-thread-insert-opened
 @vindex wl-thread-insert-opened
@@ -3490,7 +3589,7 @@ folder is moved.
 @vindex  wl-summary-weekday-name-lang
 The initial setting is @samp{ja}.  Specify language of the weekday.
 @samp{en} displays English, @samp{fr} displays French, @samp{de}
-displays Deutsch.
+displays Deutsch. You should rescan summary view after changing this value.
 
 @item wl-summary-fix-timezone
 @vindex wl-summary-fix-timezone
@@ -3515,17 +3614,6 @@ 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-recenter
-@vindex  wl-summary-recenter
-The initial setting is t.
-If non-nil, cursor point is moved to the center of the summary window.
-
-@item wl-summary-indent-length-limit
-@vindex  wl-summary-indent-length-limit
-The initial setting is 46.
-Specify the limit of thread indent level.
-If nil, max indent level is unlimited.
-
 @item wl-summary-no-from-message
 @vindex  wl-summary-no-from-message
 The initial setting is @samp{nobody@@nowhere?}.  A string which is
@@ -3536,11 +3624,6 @@ displayed when there's no @samp{From:} field in the 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-width
-@vindex  wl-summary-width
-The initial setting is 80.
-Width of summary line. If @code{nil}, summary line's width is as is.
-
 @item wl-summary-use-frame
 @vindex wl-summary-use-frame
 The initial setting is @code{nil}.
@@ -3577,11 +3660,34 @@ The initial setting is @code{t}.  If non-nil, last executed @kbd{p},
 @kbd{P}, @kbd{n}, @kbd{N} toggles the direction of cursor move.  If you
 want to aware of reading direction, set this to @code{t}.
 
-@item wl-from-width
-@vindex wl-from-width
+@item wl-summary-width
+@vindex  wl-summary-width
+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-indent-length-limit
+@vindex  wl-summary-indent-length-limit
+The initial setting is 46.
+Specify the limit of thread indent level. @code{nil} means unlimited
+indent level.
+If you set this to @code{nil} you should set @code{wl-summary-width}
+to @code{nil}, too.
+
+@item wl-summary-recenter
+@vindex  wl-summary-recenter
+The initial setting is t.
+If non-nil, cursor point is moved to the center of the summary window.
+
 @item wl-summary-divide-thread-when-subject-changed
 @vindex wl-summary-divide-thread-when-subject-changed
 The initial setting is @code{nil}.  If non-nil, thread is split if
@@ -3615,10 +3721,16 @@ When you entered to summary by these commands and the target summary
 buffer already exists, summary status is not automatically updated and
 cursor position is saved.
 
-@item wl-summary-update-confirm-threshold
-@vindex wl-summary-update-confirm-threshold
+@item elmo-folder-update-threshold
+@vindex elmo-folder-update-threshold
 The initial setting is 500.  If updated message number is larger than
-this value, confirm whether drop them or not.
+this value, confirm whether drop them or not (in the case where the value
+of @code{elmo-folder-update-confirm} is non-nil).
+
+@item elmo-folder-update-confirm
+@vindex elmo-folder-update-confirm
+The initial setting is @code{t}. If the value is non-nil, do check with
+@code{elmo-folder-update-threshold}.
 
 @item wl-summary-always-sticky-folder-list
 @vindex wl-summary-always-sticky-folder-list
@@ -3654,11 +3766,17 @@ The initial setting is the list shown below:
 If a message is already marked as temporal marks in this list, the
 message is skipped at cursor move.
 
-@item wl-fetch-confirm-threshold
-@vindex wl-fetch-confirm-threshold
+@item elmo-message-fetch-threshold
+@vindex elmo-message-fetch-threshold
 The initial setting is 30000 (bytes).  If displaying message has larger
 size than this value, Wanderlust confirms whether fetch the message or
-not.  If @code{nil}, the message is fetched without confirmation.
+not (in the case where the value of @code{elmo-message-fetch-confirm}
+is non-nil).
+
+@item elmo-message-fetch-confirm
+@vindex elmo-message-fetch-confirm
+The initial setting is @code{t}. If the value is non-nil, do check with
+@code{elmo-message-fetch-threshold}.
 
 @item wl-prefetch-threshold
 @vindex wl-prefetch-threshold
@@ -3674,13 +3792,6 @@ The initial setting is @code{t}. If non-nil, Wanderlust confirms whether
 prefetch the message or not if the message has larger size than
 @code{wl-prefetch-threshold}.
 
-@item wl-cache-fetch-threshold
-@vindex wl-cache-fetch-threshold
-The initial setting is 30000 (bytes).  The messages which have larger
-size than @code{wl-fetch-confirm-threshold} are skipped buffer caching
-mechanism. If @code{nil}, any messages are prefetched by buffer caching
-mechanism.
-
 @item elmo-imap4-use-cache
 @vindex elmo-imap4-use-cache
 The initial setting is @code{t}.  If non-nil, messages read via IMAP4
@@ -3858,13 +3969,13 @@ before sending the message.
 @lisp
 @group
 (setq wl-draft-config-alist
-      '(((string-match "aaa.example.com$" (system-name))
+      '(((string-match "aaa\\.example\\.com$" (system-name))
          ;; @r{applied if the expression is non-nil}
          (wl-smtp-posting-server . "mailserver-B")
          (wl-nntp-posting-server . "newsserver-B")
          ;; @r{settings of temporary variables}
          )
-        ("^To: .*user@@aaa.bbb.example.com"
+        ("^To: .*user@@aaa\\.bbb\\.example\\.com"
          ;; @r{applied if it matches the header of the draft buffer}
          ("Organization" . (format "Go %s" my-webpage)))
                        ;; @r{you can write elisp expressions here (eval only)}
@@ -3894,6 +4005,7 @@ Per default, there are 10 following sub-functions.
 
 @example
 'header:      Inserts the specified string at the bottom of the header.
+'header-top:  Inserts the specified string at the top of the header.
 'header-file: Inserts the specified file at the bottom of the header.
 'x-face:      Inserts @samp{X-Face:} field with the content of the specified file.
 'top:         Inserts the specified string at the top of the body.
@@ -3903,6 +4015,8 @@ Per default, there are 10 following sub-functions.
 'body-file:   Replaces the body with the content of the specified file.
 'bottom:      Inserts the specified string at the bottom of the body.
 'bottom-file: Inserts the specified file at the top of the body.
+'part-top:  Inserts the specified string at the top of the current part.
+'part-bottom: Inserts the specified string at the bottom of the current part.
 'template:    Applies the specified template.
               (refer to the next subsection)
 @end example
@@ -3931,6 +4045,9 @@ 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
@@ -4189,6 +4306,14 @@ Selects a template.
 Enter Address Manager.
 @xref{Address Manager}.
 (@code{wl-addrmgr})
+
+@item C-c C-d
+@kindex C-c C-d (Draft)
+@findex wl-draft-elide-region
+Elide the text between point and mark (@code{wl-draft-elide-region}).
+The text is killed and replaced with the contents of the variable
+@code{wl-draft-elide-ellipsis}.  The default value is to use an ellipsis
+(@samp{[...]}).
 @end table
 
 @section Customizable Variables
@@ -4744,7 +4869,7 @@ off-line state.  You can specify off-line state on a per server or port
 basis.  Refer to @code{wl-reset-plugged-alist} also.
 
 Usually, when Wanderlust starts up, the plugged state of each port is
-read from @file{~/.folder} and @code{wl-smtp-posting-server},
+read from @file{~/.folders} and @code{wl-smtp-posting-server},
 @code{wl-nntp-posting-server} and so on.  If you want to change the
 plugged state of these ports or to add other ports, configure
 @code{wl-make-plugged-hook} with a function.
@@ -5449,7 +5574,7 @@ scores are defined, corresponding to folder names.
 @end lisp
 
 If paths to the score files are omitted, the directory specified in the
-variable @code{wl-score-files-dir} is assumed.
+variable @code{wl-score-files-directory} is assumed.
 
 No matter what you write in @code{wl-score-folder-alist}, the default
 score file @code{wl-score-default-file} (@file{all.SCORE}) is always
@@ -5683,8 +5808,8 @@ Messages with these marks are scored.
 The initial setting is t.
 If non-nil, scoring is enabled.
 
-@item wl-score-files-dir
-@vindex wl-score-files-dir
+@item wl-score-files-directory
+@vindex wl-score-files-directory
 The initial setting is @file{~/.elmo/}.
 The default directory for score files.
 
@@ -6129,13 +6254,8 @@ example of settings:
 
 @lisp
 @group
-(autoload 'sc-cite-original "sc" nil t)
-(setq mail-yank-hooks 'sc-cite-original)
-(setq sc-preferred-header-style 1)
-(setq sc-electric-references-p nil)
-(setq sc-citation-leader "")
-(setq sc-load-hook '(lambda () (require 'sc-register)))
-(setq sc-preferred-attribution 'registeredname)
+(autoload 'sc-cite-original "supercite" nil t)
+(add-hook 'mail-citation-hook 'sc-cite-original)
 @end group
 @end lisp
 
@@ -6174,8 +6294,7 @@ If you have installed one of the following, you can decode
 
 @menu
 * x-face-xmas::                       XEmacs case
-* x-face-mule::                       Emacs 19.34, 20.x case
-* x-face-e21::                        Emacs 21.x case
+* x-face-mule::                       Emacs case
 @end menu
 
 If there is an encoded X-Face string in a file @file{~/.xface} (the
@@ -6197,8 +6316,8 @@ If you use @file{x-face-xmas.el} in x-face (@uref{ftp://jpl.org/pub/elisp/})
 @end group
 @end lisp
 
-@node x-face-mule, x-face-e21, x-face-xmas, X-Face
-@subsubsection x-face-mule (for Emacs 19.34, 20.x)
+@node x-face-mule,  , x-face-xmas, X-Face
+@subsubsection x-face-mule (for Emacs)
 @pindex x-face-mule
 @pindex bitmap-mule
 
@@ -6212,17 +6331,16 @@ If you use @file{x-face-mule.el} in bitmap-mule
 @end group
 @end lisp
 
-@node x-face-e21,  , x-face-mule, X-Face
 @subsubsection x-face-e21 (for Emacs 21.x)
 @pindex x-face-e21
 
-If you use @file{x-face-e21.el} (@uref{ftp://jpl.org/pub/elisp/})
-with bitmap-mule (@uref{ftp://ftp.jpl.org/pub/elisp/bitmap/}),
-do the following:
+With Emacs 21.x, you can use @file{x-face-e21.el}
+(@uref{ftp://jpl.org/pub/elisp/}) instead of @file{x-face-mule.el}
+to display X-Face. In this case, bitmap-mule is not required.
+Do as follows:
 
 @lisp
 @group
-(require 'bitmap)
 (autoload 'x-face-decode-message-header "x-face-e21")
 (setq wl-highlight-x-face-function 'x-face-decode-message-header)
 @end group