1 \input texinfo @c -*-texinfo -*- coding: iso-2022-jp -*-
4 @settitle Wanderlust -- Yet Another Message Interface On Emacsen --
5 @c @documentlanguage en
7 @c texinfo of Wanderlust
8 @set Time-stamp: <2000-04-03 14:30:38 teranisi>
14 * Wanderlust: (wl). Yet Another Message Interface On Emacsen
17 @c permissions text appears in an Info file before the first node.
19 This file documents Wanderlust,
20 Yet another message interface on Emacsen.
22 Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi}.
23 @c Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi}, @*
24 @c @w{Fujikazu Okunishi}, @w{Masahiro Murata},
25 @c @w{Kenichi Okada}, @w{Kaoru Takahashi}, @w{Bun Mizuhara}
26 and @w{Masayuki Osada}.
28 This edition is for Wanderlust version @value{version}.
30 Permission is granted to make and distribute verbatim copies of
31 this manual provided the copyright notice and this permission notice
32 are preserved on all copies.
35 Permission is granted to process this file through TeX and print the
36 results, provided the printed document carries copying permission
37 notice identical to this one except for the removal of this paragraph
38 (this paragraph not being relevant to the printed manual).
41 Permission is granted to copy and distribute modified versions of this
42 manual under the conditions for verbatim copying, provided that the entire
43 resulting derived work is distributed under the terms of a permission
44 notice identical to this one.
46 Permission is granted to copy and distribute translations of this manual
47 into another language, under the above conditions for modified versions.
53 @title Wanderlust User's Manual (ver. @value{version})
54 @author Yuuichi Teranishi
55 @author Fujikazu Okunishi
56 @author Masahiro Murata
58 @author Kaoru Takahashi
60 @author Masayuki Osada
63 @vskip 0pt plus 1filll
64 Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi}.
65 @c Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi}, @*
66 @c @w{Fujikazu Okunishi}, @w{Masahiro Murata},
67 @c @w{Kenichi Okada}, @w{Kaoru Takahashi},
68 @c @w{Bun Mizuhara} and @w {Masayuki Osada}
70 This manual is for Wanderlust version @value{version}.
72 Permission is granted to make and distribute verbatim copies of
73 this manual provided the copyright notice and this permission notice
74 are preserved on all copies.
76 Permission is granted to copy and distribute modified versions of this
77 manual under the conditions for verbatim copying, provided that the entire
78 resulting derived work is distributed under the terms of a permission
79 notice identical to this one.
81 Permission is granted to copy and distribute translations of this manual
82 into another language, under the above conditions for modified versions.
91 @node Top, Introduction, (dir), (dir)
92 @top Wanderlust User's Manual
102 Last Modified@value{Time-stamp:}
105 This manual is for Wanderlust@value{version}.
110 * Introduction:: Read this first.
111 * Start Me Up:: Invoking Wanderlust.
112 * Folders:: How to specify folders.
113 * Folder:: Selecting and editing folders.
114 * Summary:: Reading and refiling messages.
115 * Message:: Saving and playing MIME multipart entities.
116 * Draft:: Draft buffer, sending mail and news.
117 * Disconnected Operations:: Off-Line management
118 * Expire and Archive:: Automatic expiration and archiving of messages.
119 * Scoring:: Score of the messages.
120 * Customization:: Customizing Wanderlust.
121 * Mailing List:: Wanderlust mailing list
122 * Addition:: Additional Information
130 @node Introduction, Start Me Up, Top, Top
131 @chapter Introduction of Wanderlust
134 Wanderlust is an mail/news management system on Emacsen.
135 It supports IMAP4rev1(RFC2060), NNTP, POP and local message files.
137 The main features of Wanderlust:
140 @item Pure elisp implementation.
141 @item Supports IMAP4rev1, NNTP, POP(POP3/APOP), MH and Maildir format.
142 @item Unified access method to messages based on Mew-like Folder Specification.
143 @item Mew-like Key-bind and mark handling.
144 @item Manages unread messages.
145 @item Interactive thread display.
146 @item Folder Mode shows the list of subscribed folders.
147 @item Message Cache, Disconnected Operation (Read Only).
148 @item MH-like FCC. (FCC: %Backup and FCC: $Backup is allowed).
149 @item MIME compliant (by SEMI or tm).
150 @item Transmission of news and mail are unified by Message transmitting draft.
151 @item Graphical list of folders (XEmacs).
152 @item View a part of message without retrieving the whole message (IMAP4).
153 @item Server-side message look up (IMAP4). Multi-byte characters are allowed.
154 @item Virtual Folders.
155 @item Supports compressed folder using common archiving utilities.
156 @item Old articles in folders are automatically removed/archived (Expiration).
157 @item Automatic re-file.
158 @item Template function makes it convenient to send fixed form messages.
161 Wanderlust is supposed to run on Mules based on Emacs 19.28, 19.34,
162 Emacs 20.2 or later, XEmacs 20.4 or later, Meadow 1.00 or later(on MS Windows),
163 Mule for Windows v1.22 (on MS Windows), NTEmacs(Windows NT).
164 PMMule on OS/2 is also supported. Wanderlust runs even on Nemacs 3.3.2
165 based on Emacs 18.55, 18.59 (with limited functionality).
167 IMAP4 connectivity with UW imapd 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.7a,
168 Cyrus imapd 1.4, Cyrus imapd 1.5.19, AIR MAIL(AIRCimapd release 2.00)
169 and ExpressMail are confirmed to work with Wanderlust.
174 @node Start Me Up, Folders, Introduction, Top
175 @chapter Start up Wanderlust
179 The necessary procedure for starting Wanderlust is explained in steps here.
181 (Of course, you need a mail/news readable environment in advance)
184 * MIME Modules:: Installing the MIME modules.
185 * Download:: Download and extract the packages.
186 * Install:: Byte-compile and install.
187 * Minimal Settings:: @file{.emacs} setup.
188 * Mail Addresses:: Address book definition.
189 * Folder Definition:: Folder definition.
190 * Start Wanderlust:: Starting Wanderlust
194 @node MIME Modules, Download, Start Me Up, Start Me Up
195 @section Installing MIME modules
202 SEMI or tm must be installed to make Wanderlust work correctly.
204 SEMI does not run on Emacs19.28 or earlier
205 @footnote{SEMI runs on Emacs 19.34. @*
206 @samp{http://www.jpl.org/elips/INSTALL-SEMI-ja.html} describes how to.},
207 so you must install tm, the predecessor of SEMI. (tm version 8.7 or later
210 However, SEMI is recommended because of its wider functionality.
211 Partial download function in IMAP4 is enabled only when SEMI is installed.
213 Refer to the documents of each package for detailed installation procedure.
215 SEMI and tm can be downloaded from these sites:
218 SEMI: ftp://ftp.m17n.org/mule/semi/
219 tm: http://cvs.m17n.org/tomo/comp/emacsen/tm/tm-8/
222 You need packages named APEL and FLIM to use SEMI.
223 You can download FLIM and APEL from following URLs.
226 FLIM: ftp://ftp.m17n.org/mule/flim/
227 APEL: ftp://ftp.m17n.org/mule/apel/
230 You have to install APEL, FLIM and SEMI in this order.
231 Generally @samp{make install} will do the job.
232 (In XEmacs 21, @samp{make install-package}.)
234 Recommended combination of APEL, FLIM and SEMI are:
237 @item APEL 10.2, FLIM 1.12.7 and SEMI 1.13.4
238 @item APEL 10.2, FLIM 1.13.2 and SEMI 1.13.7
241 Combination of APEL 10.2 and FLIM 1.12.7 makes following error
242 while compiling FLIM 1.12.7.
245 Please install latest APEL 7.3 or later.
248 In this case, please comment out following lines in FLIM-CFG.
251 (or (fboundp 'write-region-as-binary)
252 (error "Please install latest APEL 7.3 or later."))
253 (or (fboundp 'insert-file-contents-as-binary)
254 (error "Please install latest APEL 7.3 or later."))
257 You can also use many other FLIM/SEMI variants. Combination of the
258 latest versions should work. For example, following combination is
262 @item APEL 10.2, Chao 1.14.1 and REMI 1.14.1
265 @c You have to re-install Wanderlust
266 @c if you upgraded APEL, FLIM, SEMI or tm.
268 @node Download, Install, MIME Modules, Start Me Up
269 @section Download and Extract the Package
272 You can download Wanderlust package from following sites:
276 ftp://ftp.gohome.org/wl/
279 Mirrored ftp/http sites:
282 ftp://ftp.jaist.ac.jp/pub/GNU/elisp/ftp.gohome.org/wl/
283 ftp://daidai.kuis.kyoto-u.ac.jp/pub/mirror/ftp.gohome.org/pub/elisp/wl/
284 http://www.jpl.org/elips/
285 http://www.ring.gr.jp/archives/text/elisp/wl/
286 ftp://ftp.ring.gr.jp/pub/text/elisp/wl/
287 ftp://opaopa.org/pub/mirror/elisp/wl/
290 Extract the obtained package to your working directory:
294 % tar zxvf wl-(@var{version}).tar.gz
295 % cd wl-(@var{version})
298 @subsection To use SSL (Secure Socket Layer)
300 SSL (Secure Socket Layer) can be used for
301 SMTP, IMAP, NNTP and POP connections in Wanderlust.
303 There are two ways to use SSL. One is to start SSL negotiation just after
304 the connection establishment (generic way).
305 The other one is to start SSL negotiation by invoking STARTTLS command in
308 To use the formar SSL (generic SSL), you must install @file{ssl.el} in the
309 @file{utils} directory. OpenSSL command @file{openssl} is also required
310 to use @file{ssl.el}. You must set PATH to the directory that OpenSSL
311 commands are installed.
313 To use the latter SSL(STARTTLS), you must install starttls package in
315 You can download starttls package from the following site.
318 ftp://opaopa.org/pub/elisp/
321 @node Install, Minimal Settings, Download, Start Me Up
322 @section Byte-compile and install
329 @subsection Installation
331 Edit @code{LISPDIR} and @code{EMACS} in @file{Makefile}.
332 Set the Emacs's command name to @code{EMACS}.
333 Set package installation directory to @code{LISPDIR}.
334 Then, please execute following commands.
341 Destination directory is auto-probed if you leave @code{LISPDIR}
342 in @file{Makefile} as is. (That is, leave it as NONE)
344 If you are using an Emacs variant which does not merge specified directory
345 to load-path (e.g. Mule 2.3 based on Emacs 19.28),
346 then you will see the error message:
349 Cannot open load file: mime-setup
353 In this case, either add destination directories of custom, apel, flim and semi
354 to environmental variable EMACSLOADPATH, or define load-path in @file{WL-CFG}
355 in extracted directory.
357 If you want to use BBDB, then the necessary modules are byte-compiled and
358 installed when BBDB directory is added to load-path.
363 Contents of the file @file{WL-CFG} is loaded under installation if a file
364 with that name exists in extracted directory. You can use @file{WL-CFG} to
365 configure load-path to extra packages such as SEMI if needed.
367 If you want to specify the install directory of Wanderlust related
368 files, then set following variables in @file{WL-CFG}
372 A directory to install WL modules.
373 This directory is relative directory from @code{LISPDIR}.
374 WL modules include @file{wl*.el}, @file{wl*.elc} files.
375 @c Modules under the directory @file{util/} are also installed if
376 @c it detected as necessary.
379 A directory to install ELMO modules.
380 This directory is relative directory from @code{LISPDIR}.
381 ELMO modules include @file{elmo*.el}, @file{elmo*.elc} files.
382 @c @file{utf7.el}, @file{utf7.elc} are also included in the ELMO.
386 Default value of @code{WL_PREFIX} and @code{ELMO_PREFIX} are @file{wl}.
388 If you want to install ELMO related files under a sub-directory
389 such as "elmo" then add following to @file{WL-CFG}:
392 (setq ELMO_PREFIX "elmo")
397 @subsection Install as a XEmacs package
398 @cindex XEmacs package
399 @cindex XEmacs package install
400 @cindex Package, XEmacs
401 @cindex Package install, XEmacs
402 @c @cindex install-package
404 It is possible to install Wanderlust as one of packages of XEmacs (21.0
405 or greater). Configuration for autoload and icon-path in local
406 @file{.emacs} files are no longer necessary, if you install Wanderlust
409 Follow the next example to install Wanderlust as an XEmacs package.
414 % make install-package
417 package directory is auto-probed, if SEMI is installed.
418 (you can also specify it with @code{PACKAGEDIR} in @file{Makefile})
420 @subsection Run in place
422 If wl and elmo directories are defined in load-path, then byte-compilation
423 and installation are not necessary to start Wanderlust. For example,
424 if package is extracted in @file{~/work}, Wanderlust can be invoked with
425 following setting in @file{.emacs}.
428 (add-to-list 'load-path "~/work/wl-(@var{version})")
429 (add-to-list 'load-path "~/work/wl-(@var{version})/elmo")
432 @node Minimal Settings, Mail Addresses, Install, Start Me Up
433 @section Set up .emacs
434 @cindex Minimal Settings
436 @cindex Configuration
440 The Wanderlust package contains two module groups.
443 @item ELMO (elmo-*.el)
444 These modules show everything as folders. This is the back-end for Wanderlust.
446 These modules controls the behavior of main body of Wanderlust.
447 They are also the front-end for ELMO.
450 You can customize the behavior of Wanderlust by changing the value
451 of environmental variables which begins with @code{elmo-*} and @code{wl-*}.
453 The minimal requirement for settings is as the following.
456 ;; The setting to use SEMI/tm
459 ;; autoload configuration
460 ;; (These are not required if Wanderlust is installed as XEmacs package)
461 (autoload 'wl "wl" "Wanderlust" t)
462 (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
464 ;; Directory where icons are placed (XEmacs Only). Default value is nil.
465 ;; (This is not required if Wanderlust is installed as XEmacs package)
466 (setq wl-icon-dir "~/work/wl/etc")
468 ;; SMTP server for mail posting. Default: "localhost"
469 (setq wl-smtp-posting-server "your.smtp.server.com")
470 ;; NNTP server for news posting. Default: "localhost"
471 (setq wl-nntp-posting-server "your.nntp.server.com")
474 @file{~/.wl} is automatically loaded when Wanderlust starts up (if such a
475 file exists). So it is convenient to gather Wanderlust specific settings
476 in @file{~/.wl}. Settings for "face" must be written in @file{~/.wl},
477 because you can't write them in @file{.emacs}
478 (if you write it to @file{.emacs}, you'll get an error).
481 All above described settings except (load "mime-setup") can be written in
484 @subsection mail-user-agent
485 @cindex Default Mailer
486 @cindex Mailer, Default
487 @vindex mail-user-agent
490 If you write following setting in you @file{.emacs}, you can
491 start Wanderlust draft mode by typing @kbd{C-x m} (@code{compose-mail}).
492 This means it enables you to run Wanderlust as a default mail composer
495 It is effective only when your Emacs can define @code{mail-user-agent}.
496 @c @xref{Mail Methods, , ,emacs}.
499 (autoload 'wl-user-agent-compose "wl-draft" nil t)
500 (if (boundp 'mail-user-agent)
501 (setq mail-user-agent 'wl-user-agent))
502 (if (fboundp 'define-mail-user-agent)
503 (define-mail-user-agent
505 'wl-user-agent-compose
512 @node Mail Addresses, Folder Definition, Minimal Settings, Start Me Up
513 @section Address book
514 @cindex Address book Definition
516 @cindex Alias, Address
518 The file @file{~/.addresses} is a simple address book for Wanderlust.
519 Make address file @file{~/.addresses}, and edit to suit your requirement.
521 The data written in @file{~/.addresses} are used for address completion
522 under draft editing mode. Furthermore, they are used when showing names
523 in summary display mode. You can safely skip this section, if you don't
524 want to customize address completion and summary display.
525 It is possible to add/change/remove addresses from @file{~/.addresses} in
526 summary buffer after Wanderlust is invoked. @refill
528 The format is very simple. Like this. @refill
532 # @r{Lines begin with @samp{#} are comment.}
533 # @r{Empty lines are ignored}
535 # @r{Format of each line:}
536 # @r{email-address ``nickname'' ``realname''}
538 teranisi@@gohome.org "Yuuichi" "Yuuichi Teranishi"
539 foo@@bar.gohome.org "Mr. Foo" "John Foo"
540 bar@@foo.gohome.org "Mr. Bar" "Michael Bar"
545 One line defines one persons description.
547 Actually, in default setup, "nickname" is used in summary-mode and "real name"
548 is used in draft preparation mode. This behavior is better understood if you
549 try it and confirmed the function first. You can write and try a small
550 definition, so you will know the idea of the address book before writing a big
553 And, if MH alias file is specified in variable @code{wl-alias-file},
554 it is used as an address information in the draft preparation mode.
556 @node Folder Definition, Start Wanderlust, Mail Addresses, Start Me Up
557 @section Folder Definition
558 @cindex Folder Definition
561 Define the folders you want to subscribe in file @file{~/.folders}.
562 The contents written in @file{~/.folders} become the folders which
563 you subscribe to as it is.
565 You can skip this section because it is possible to add/edit the
566 subscribe folders from the buffer for list of folders.
568 Format for @file{~/.folders} is very simple. Here is an example:
572 # @r{Lines begin with @samp{#} are comment.}
573 # @r{Empty lines are ignored}
575 # @r{folder name} "@r{folder nickname}"
576 # @r{(nicknames are not necessary)}
581 %#mh/Backup@@my.imap.server.com "Sent"
584 %#mh/spool/wl "Wanderlust ML"
585 %#mh/spool/elips "ELIPS ML"
586 %#mh/spool/tm-ja "tm Japanese ML"
587 %#mh/spool/xemacs-beta "XEmacs beta"
588 -fj.news.reader.gnus@@other.nntp.server.com "Gnus Net news"
589 *-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs "fj's Emacsen"
592 # @r{If folder name ends with @samp{/}, that means an `access group',}
593 # @r{all subfolders automatically included in one folder group.}
595 %#mh/expire@@localhost /
596 # @r{All MH folders are included in one folder group.}
600 Each line contains one folder you want to read. The definition of folders
601 will be explained in detail in the next section.
603 The part surrounded by @samp{@var{group name}@{} and @samp{@}} will become one folder group.
604 One folder group is treated as a directory which can bed opened and closed in
605 folder mode. It is convenient for collecting some folders and putting them
608 Please note that @samp{@var{group name}@{} and @samp{@}} occupies one
609 line and you have to write it that way (It is because the parser sucks).
611 There are two types of groups. One is like @samp{Emacsen} from above
612 example which the user chooses his favorite folders as a group.
614 The other one is @dfn{access group} like @samp{+} from above example.
615 It makes all the sub-folders in a folder to a group.
616 (It differs from the type of the folder. For example, @samp{+} makes entire
617 MH sub-directories to one group)
619 This behavior is better understood if you try it and confirmed the function
620 first. You can write and try a small folder definition, so you will know the
621 idea of the folder function before writing the real one.
623 @node Start Wanderlust, , Folder Definition, Start Me Up
624 @section Start Wanderlust
625 @cindex Start Wanderlust
627 If installation and configuration worked well, you can invoke Wanderlust by
628 typing following command in Emacs.
636 After initialization, Folder Mode which shows the list of folders will appear.
637 That means the folders you defined in the @file{~/.folders} are listed
638 If you start Wanderlust with prefix argument like @kbd{C-u M-x wl}, you
639 can skip folder checking.
644 @node Folders, Folder, Start Me Up, Top
645 @chapter Wanderlust's folders
648 This chapter describes the folder types which Wanderlust is able to handle.
650 Wanderlust uses ELMO as it's interface, so every folder types supported
651 by ELMO is usable in Wanderlust.
653 As of version @value{version}, 10 types of folders are predefined. These are
654 IMAP, NNTP, LocalDir(MH), News Spool, POP, Archive, Multi, Filter, Pipe
655 and Internal folder types.
658 * IMAP Folder:: @samp{%} -- IMAP folder
659 * NNTP Folder:: @samp{-} -- NNTP folder
660 * MH Folder:: @samp{+} -- MH folder
661 * Maildir Folder:: @samp{.} -- Maildir folder
662 * News Spool Folder:: @samp{=} -- News spool folder
663 * Archive Folder:: @samp{$} -- Archive folder
664 * POP Folder:: @samp{&} -- POP folder
665 * Multi Folder:: @samp{*} -- Multi folder
666 * Filter Folder:: @samp{/} -- Filter folder
667 * Pipe Folder:: @samp{|} -- Pipe folder
668 * Internal Folder:: @samp{'} -- Internal folder
672 @node IMAP Folder, NNTP Folder, Folders, Folders
679 A folder to access e-mails via IMAP4rev1 protocol (RFC 2060).
682 Format: '%' 'IMAP mailbox'[':' 'username' ['/' 'authenticate-type']]['@@' 'hostname'][':' 'port']['!']
685 "auth" (encoded password transmission), "cram-md5" (cram-md5 authentication)
686 and "login" (plain password transmission) as authenticate-type.
687 (To use cram-md5 authentication, you must install utils/sasl package.)
691 username -> The value of @code{elmo-default-imap4-user}.
692 Initial setting is `USER' environment variable or
693 `LOGNAME' environment variable or return value of
695 authenticate-type -> The value of @code{elmo-default-imap4-authenticate-type}.
696 Initial setting is "auth".
697 hostname -> The value of @code{elmo-default-imap4-server}.
698 Initial setting is "localhost".
699 port -> The value of @code{elmo-default-imap4-port}.
700 Initial setting is 143.
702 You can omit the hostname from folder names if you set
703 @code{elmo-default-imap4-server} as your main IMAP server.
704 For example, you can specify a folder as @samp{foo%imap@@geteway} even
705 if you have to go through a firewall.
707 SSL (Secure Socket Layer) connection will be used if a folder name
708 ends with '!'. Or, if the value of @code{elmo-default-imap4-ssl} is non-nil,
709 SSL will be the default connection.
710 If a folder name ends with '!!', STARTTLS connection will be established.
711 if the value of @code{elmo-default-imap4-ssl} is 'starttls,
712 STARTTLS will be the default connection.
714 If you specify "auth" or "cram-md5" as authentication method, the password
715 is sent in encoded form. But, if your server is unable to receive an encoded
716 password, authentication will fall back to "login" (that is, sending password
717 in raw format) after confirmation to user. If @code{elmo-imap4-force-login}
718 is non-nil, authentication will fall back to "login" without confirmation
719 (default value is nil).
721 Example: %inbox -> IMAP mailbox "inbox"
722 %#mh/inbox -> IMAP mailbox "#mh/inbox"
724 %inbox:hoge -> IMAP mailbox "inbox" of user "hoge".
725 %inbox:hoge/login@@server1
726 -> server1's IMAP mailbox "inbox"
727 of user "hoge", with plain password authentication
731 @subsection International mailbox names (Modified UTF7)
733 You can use international mailbox names in 'IMAP mailbox' part, if you
734 are using Emacs which can treat unicode and
735 @code{elmo-imap4-use-modified-utf7} is set to non-nil value (default
738 Currently, following Emacsen can treat unicode.
741 @item Emacs 20.3 or later + Mule-UCS
743 If you installed Mule-UCS package, Emacs can treat unicode.
744 You can obtain Mule-UCS package from following URL.
747 ftp://ftp.m17n.org/pub/mule/Mule-UCS/
750 @item XEmacs 21.2.13 or later + ucs-conv package
752 By default, XEmacs 21 cannot treat unicodes, but if you installed
753 ucs-conv package, it can.
754 You can obtain ucs-conv package from following anonymous CVS.
757 :pserver:anonymous@@cvs.m17n.org:/cvs/root
758 Password: NULL (Just enter return key)
761 You also need utf7 conversion programs, u7tou8 and u8tou7 to use international
762 mailbox name in the current XEmacs.
763 These programs are included in the UTF7 package which can be obtained
767 ftp://ftp.ifcss.org/pub/software/unix/convert/utf7.tar.gz
771 @node NNTP Folder, MH Folder, IMAP Folder, Folders
776 A folder to access USENET news via NNTP protocol (RFC 977).
777 One newsgroup is treated as a folder.
780 Format: '-' 'newsgroup'[[':' 'username']['@@' 'hostname'][':' 'port']]['!']
783 hostname -> The value of @code{elmo-default-nntp-server}.
784 Initial setting is "localhost".
785 username -> The value of @code{elmo-default-nntp-user}.
786 Initial setting is nil.
787 port -> The value of @code{elmo-default-nntp-port}.
788 Initial setting is 119.
790 AUTHINFO is used as authentication method if the username is non-nil.
791 SSL will be default method if @code{elmo-default-nntp-ssl} is non-nil even
792 if the folder name doesn't end with '!'
793 If a folder name ends with '!!', STARTTLS connection will be established.
794 if the value of @code{elmo-default-nntp-ssl} is 'starttls,
795 STARTTLS will be the default connection.
797 Example: -fj.rec.tv -> Newsgroup `fj.rec.tv'.
798 -fj.rec.tv@@newsserver -> Newsgroup `fj.rec.tv' on newsserver.
801 @node MH Folder, Maildir Folder, NNTP Folder, Folders
807 A folder to access MH format mail (1 file is 1 mail).
810 Format: '+' 'directory-name'
812 Normally, directory paths are relative to variable
813 @code{elmo-localdir-folder-path} (default is @file{~/Mail}), but if it
814 starts with @samp{/} or @samp{~}, then it is treated as an absolute path
815 (this is also true for drive-letters).
817 Message number is used for the name of the message file.
819 Example: +inbox -> "~/Mail/inbox"
820 +from/teranisi -> "~/Mail/from/teranisi"
824 @node Maildir Folder, News Spool Folder, MH Folder, Folders
825 @section Maildir Folder
826 @cindex Maildir Folder
830 A folder to access to Maildir format (1 file is 1 mail).
833 Format: '.' 'directory-name'
835 Normally, directory paths are relative to variable
836 @code{elmo-maildir-folder-path} (default is @file{~/Maildir}), but if it
837 starts with @samp{/} or @samp{~}, then it is treated as an absolute path
838 (this is also true for drive-letters).
840 Maildir contains @file{cur}, @file{new} and @file{tmp} subdirectories.
841 Messages are contained in the @file{cur} directory. All
842 message files in the @file{new} directory are moved to @file{cur}
843 directory when you access to the folder. All message files contained in
844 the @file{tmp} directory and not accessed for 36 hours are deleted.
846 These behaviors are defined the @samp{http://cr.yp.to/proto/maildir.html}.
848 Example: . -> "~/Maildir"
849 .inbox -> "~/Maildir/inbox"
850 .from/teranisi -> "~/Maildir/from/teranisi"
854 @node News Spool Folder, Archive Folder, Maildir Folder, Folders
855 @section News Spool Folder
856 @cindex News spool Folder
860 This folder handles locally saved news articles which are proposed by Mew/IM.
861 You can also read articles directly from a spool-file which is retrieved
862 by an utility like gnspool.
865 Format: '=' 'directory-name'
867 directory-name is sub-directory to the directory defined by variable
868 @code{elmo-localnews-folder-path} (default is "~/News")
869 You can use @samp{.} as directory delimiter as well as @samp{/}.
871 Example: =fj/os/os2 -> "~/News/fj/os/os2"
872 =fj.os.bsd.freebsd -> "~/News/fj/os/bsd/freebsd"
875 @node Archive Folder, POP Folder, News Spool Folder, Folders
876 @section Archive Folder
877 @cindex Archive Folder
881 This method can handle archive files, which are compressed by utilities
882 such as Info-ZIP or LHA, as one folder.
885 Format: '$' 'path-name' [';' archiver-type ';' prefix]
887 `path-name' is the relative path from @code{elmo-archive-folder-path}
888 (initial setting is @file{~/Mail}).
889 If path-name begins with @samp{/} or @samp{~} or `drive-letter of DOS',
890 path-name is treated as absolute path.
891 ange-ftp format is also permitted under the environment of ange-ftp, efs.
893 The actual file name of the archive folder is
894 @code{elmo-archive-basename}(Initial setting is "elmo-archive")
895 under the path-name. If a file named path-name exists, it is treated as
896 folder. The suffix is automatically decided for archiver-type.
898 If `archiver-type' is omitted, @code{elmo-archive-default-type}
899 (Initial setting is 'zip) is referred.
901 `prefix' specifies the internal directory structure of the archive.
902 For example, if the ML server is fml, @file{msend.tar.gz} has a structure like
903 @file{spool/1}, so you have to specify "spool" as `prefix'.
905 Example: $teranisi -> "~/Mail/teranisi/elmo-archive.zip"
906 $bsd/freebsd;lha -> "~/Mail/bsd/freebsd/elmo-archive.lzh"
907 $/foo@@server:~/bar;zoo -> "~/bar/elmo-archive.zoo" on ftp server
908 $d:/msend.tar.gz;tgz;spool -> "d:/msend.tar.gz"
912 * Archiver:: Archivers supported
913 * Archive Tips:: TIPS
914 * Archive Vars:: Customization
918 @node Archiver, Archive Tips, Archive Folder, Archive Folder
919 @subsection Supported Archives
929 By default, following archives are supported.
932 LHA, Info-ZIP/UNZIP, ZOO, RAR ;; full-access
933 GNU TAR('tgz, 'tar) ;; read-only
936 If your archiver can include multiple files in one archive, you have a
937 possibility use it as an archiver of Wanderlust (ARJ/UNARJ, ARC is one
938 of the candidate. TAR is supported read-only because it cannot delete
939 file in the archive ('mv)).
941 gzip, bzip, bzip2 cannot be used as an archiver of Wanderlust because
942 they cannot include multiple files. Archivers that cannot extract files
943 to standard output are also not supported.
945 @subsection OS specific information about archiver.
947 Behaviors of the following archivers are confirmed by further experiences.
948 (@samp{*} mark means recommended archiver).
951 [OS/2] Warp4.0J(w/o VoiceType)+Fx00505/emx0.9c(fix04)/PMMule,EmacsPM
952 LHA OS/2 version Rel.2.06b Feb 18, 1998
953 *UnZip 5.32 of 3 November 1997, by Info-ZIP.
954 *Zip 2.2 (November 3rd 1997).
955 Zoo archiver, zoo 2.1 $@asis{}Date: 91/07/09 02:10:34 $
956 GNU tar version 1.10 - AK 2.58 (DBCS/SJIS) 981216(homy) version
957 gzip 1.2.4 (18 Aug 93) + bzip2 patch(by Iida-san)
959 [UN|X] FreeBSD 2.2.7-RELEASE, Linux 2.0.30, Solaris2.6, HP-UX 9.07
961 UnZip 5.32 of 3 November 1997
962 Zip 2.2 (November 3rd 1997)
963 GNU tar 1.12 (1.11.x is no good)
964 gzip 1.2.4 (18 Aug 93)
966 [Win32] Win.98/Meadow
970 GNU tar 1.11.8 + 1.5(WIN32)
976 If you are an OS/2 user, Peter Fitzsimmons's LH/2 is not supported.
977 Hiramatsu version of LHA is only supported.
978 In Win32, LHa32 is only supported (DOS version is no good).
980 * Caution about GNU tar
982 You have to take care about GNU tar's version because
983 many version has problem on deleting file from archive.
985 Please test --delete -f options work. Otherwise, your archive will be
986 destroyed. No problem is reported on above versions of GNU tar.
990 @node Archive Tips, Archive Vars, Archiver, Archive Folder
994 For comfortable migration, usage of wl-summary-archive() (@pxref{Archive}) or
995 Expire (@pxref{Expire}) is recommended.
996 To treat archive folders created by expiration,
997 you must set non-nil value to @code{elmo-archive-treat-file}.
999 On the OS/2, there is a great difference between Mule2.3(19.28) and Emacs20.2
1000 in processing speed. For comfortable use, Emacs20 is recommended.
1001 (If re-search's performance is the problem, 19.3x or later may be okay.)
1003 If many files are included in one archive,
1004 it takes long time to access to the archive folder because
1005 archiver starting overhead is increased (especially LHA).
1006 150-200 messages in one archive is recommended.
1008 Of course, following is possible @t{:-)}
1009 (meanings of these variables are described later.)
1011 (setq wl-fcc "$backup")
1012 (setq wl-trash-folder "$trash;lha")
1018 @node Archive Vars, , Archive Tips, Archive Folder
1019 @subsection Variables About Archive Folder
1020 @cindex Archive variables
1023 @item elmo-archive-default-type
1024 @vindex elmo-archive-default-type
1025 The initial setting is 'zip.
1026 Set archiver type by symbol.
1028 @item elmo-archive-@var{type}-method-alist
1029 @vindex elmo-archive-TYPE-method-alist
1030 Define archiver @var{type}'s methods.
1031 (@var{type} is @samp{lha}, @samp{zip}, @samp{zoo}, @samp{tgz} etc)
1032 Each element of the alist is following.
1035 (action . (exec-name options)) ;; external program and its option.
1036 (action . function) ;; function
1039 Currently available actions are following.
1042 'ls, 'cat ('cat-headers) ;; Minimal setting(read-only)
1043 'mv ('mv-pipe), 'rm ('rm-pipe) ;; full-access (with above)
1049 actions enclosed with braces are optional (They are used for better
1052 @item elmo-archive-suffix-alist
1053 @vindex elmo-archive-suffix-alist
1054 An alist of archiver-type (symbol) and suffix.
1056 @item elmo-archive-file-regexp-alist
1057 @vindex elmo-archive-file-regexp-alist
1058 An alist of a regexp to get file number from list output of archiver
1059 and archiver-type (symbol).
1061 @item elmo-archive-method-list
1062 @vindex elmo-archive-method-list
1063 A list of elmo-archive-@var{type}-method-alist
1064 (@var{type} is a symbol of archiver-type).
1066 @item elmo-archive-lha-dos-compatible
1067 @vindex elmo-archive-lha-dos-compatible
1068 The initial setting is t on OS/2 and Win32.
1069 If non-nil, LHA is DOS (Mr. Yoshizaki original) compatible.
1071 @item elmo-archive-cmdstr-max-length
1072 @vindex elmo-archive-cmdstr-max-length
1073 The initial setting is 8000.
1075 Max length of command line argument for external archiver program.
1076 Emacs does not have a limit of command line byte length, but some OS
1077 (e.x OS/2) have. It depends on the OS. Archive folder is affected by
1078 this limit because it calls external archiver program directly (not
1079 called via shell). For example, you cannot delete messages if archiver
1080 program must receive larger bytes of arguments to delete. OS/2 have a
1081 command line argument limit of 8190 bytes, so we defined default as 8000
1084 However, you don't have an influence of command line argument limit
1085 if the archiver has `actions' to receive target file information from
1086 standard input (rm-pipe, mv-pipe, cat-headers action).
1089 @node POP Folder, Multi Folder, Archive Folder, Folders
1097 A folder to access e-mails via POP3 protocol (RFC 1939).
1100 Format: '&' ['username'][['/' 'authenticate-type']['@@' 'hostname'][':' 'port']]['!']
1103 "user" (plain password transmission) or "apop" (APOP authentication)
1104 as authenticate-type.
1107 username -> The value of @code{elmo-default-pop3-user}.
1108 Initial setting is `USER' environment variable or
1109 `LOGNAME' environment variable or return value of
1111 authenticate-type -> The value of @code{elmo-default-pop3-authenticate-type}.
1112 Initial setting is "user".
1113 hostname -> The value of @code{elmo-default-pop3-server}.
1114 Initial setting is "localhost".
1115 port -> The value of @code{elmo-pop3-default-port}.
1116 Initial setting is 110.
1118 Example: &hoge@@localhost -> access to localhost as user "hoge".
1119 &hoge@@popserver:109 -> access to the server "popserver" on port 109
1123 To use apop as an authenticate-type, @file{md5.el} is needed
1124 (XEmacs doesn't need @file{md5.el}).
1125 @file{md5.el} is included in @file{utils/sasl/lisp/} or Emacs/W3 package
1128 http://www.cs.indiana.edu/elisp/w3/docs.html
1131 or LCD archive (GPL2).
1133 If the last character of the folder name is '!', Wanderlust connects to
1134 the POP server via SSL (Secure Socket Layer). If you set non-nil
1135 value to @code{elmo-default-pop-ssl}, you don't have to put '!' in the
1136 end of the folder name to use SSL.
1137 If a folder name ends with '!!', STARTTLS connection will be established.
1138 if the value of @code{elmo-default-pop-ssl} is 'starttls,
1139 STARTTLS will be the default connection.
1141 @node Multi Folder, Filter Folder, POP Folder, Folders
1142 @section Multi Folder
1143 @cindex Multi Folder
1145 @cindex Folder, Multiple
1146 @cindex Folder, Marge
1148 A folder to access to a folder which collects messages from
1149 multiple folders virtually.
1152 Format: '*' 'folder' [',' 'folder'] ... [',' 'folder']
1154 After '*' character, specify multiple folders you want to collect
1155 separated by ',' like folder1,folder2,@dots{},folderN.
1158 *-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs
1159 -> -fj.editor.xemacs, -fj.editor.mule and -fj.editor.emacs are
1160 treated as one folder.
1162 *+inbox,-fj.rec.tv,%inbox
1163 -> +inbox, -fj.rec.tv and %inbox are treated as one folder.
1168 @node Filter Folder, Pipe Folder, Multi Folder, Folders
1169 @section Filter Folder
1170 @cindex Filter Folder
1172 @cindex Folder, Filtering
1173 @cindex Folder, Virtual
1175 A folder to access to a folder which collects all messages that
1176 satisfy a condition virtually.
1179 Format: '/' 'condition' '/' 'target-folder'
1181 In the 'condition' part, you can specify following.
1183 1. Partial filter: "first:NUMBER", "last:NUMBER"
1185 first: 'NUMBER' messages are picked from top of folder.
1186 last: 'NUMBER' messages are picked from bottom of folder.
1189 /last:10/-fj.os.linux -> Latest 10 messages from -fj.os.linux are picked.
1190 /first:20/%inbox -> First 20 messages from %inbox are picked.
1192 2. Date filter: "since:DATE" "before:DATE"
1194 since: only messages arrived since 'DATE' are picked.
1195 before: only messages arrived before 'DATE' are picked.
1197 You can specify following as 'DATE'.
1199 yesterday -> a day before today.
1200 lastweek -> same day of last week.
1201 lastmonth -> same day of last month.
1202 lastyear -> same day of last year.
1203 'NUMBER'daysago -> 'NUMBER' days ago. (e.x. '3daysago')
1204 'DAY'-'MONTH'-'YEAR' -> specify date directly (ex. 1-Nov-1998)
1207 /since:3daysago/+inbox -> messages arrived since 3 days ago in +inbox
1209 /before:yesterday/+inbox -> messages arrived before yesterday in +inbox
1212 3. Field filter: "FIELD=VALUE"
1214 All messages that have FIELD and its value is VALUE are picked.
1215 'FIELD' and 'VALUE' are case insensitive.
1218 /from=teranisi/+inbox -> In +inbox, messages which have From: field
1219 and its value includes "teranisi" string are picked.
1220 /body=foo/%inbox -> In %inbox, messages which have "foo" text
1223 If you can split conditions by character "|", it is considered as OR condition.
1224 /tocc=xxxx/ is an abbreviation of /to=xxxx|cc=xxxx/.
1228 /from=teranisi|to=teranisi/+inbox
1229 -> In +inbox, messages are picked if
1230 the message's To: field includes
1231 "teranisi" or From: field includes "teranisi".
1232 /tocc=teranisi/+inbox -> In +inbox, messages are picked if
1233 the message's To: field or Cc: field includes
1238 %inbox,/from=teranisi/%inbox@@server
1239 -> Messages in %inbox or
1240 message is in the %inbox@@server folder and it's From field
1241 includes "teranisi" are collected.
1243 /last:100//to=teranisi/*+inbox,%inbox
1244 -> Latest 100 messages which is in the +inbox or %inbox folder
1245 and To: field matches "teranisi".
1247 /from=hogehoge//last:20//tocc=teranisi/%#mh/inbox@@localhost
1248 -> Pick messages which have From: field and it includes "hogehoge"
1249 from latest 20 messages in the %#mh/inbox@@localhost
1250 and To: or Cc: field includes "teranisi".
1252 ;;; --- Limit of implementation ---
1253 ;;; In the current implementation, NNTP folder does not treat date filter and
1255 ;;; In IMAP4 folder, field filter only supports fields which can be
1256 ;;; passed directly to rfc2060's search command.
1257 ;;; (i.e. to,cc,from,subject and body)
1258 ;;; Localdir folder treats arbitrary field name.
1261 @node Pipe Folder, Internal Folder, Filter Folder, Folders
1262 @section Pipe Folder
1266 @cindex Download Message
1267 @cindex Incorporate Message
1269 In the pipe folder, messages are automatically transferred from the source
1270 folder to destination folder.
1273 Format: '|' source-folder '|' destination-folder
1275 When you access to the pipe folder, messages are automatically transferred
1276 from source-folder to destination-folder.
1277 It is convenient if you want to download messages to local disk via POP.
1278 For example, if you specify following
1280 |&username@@popserver|+inbox
1282 and access to it, messages are downloaded automatically from
1283 &username@@popserver to +inbox.
1285 Example: %inbox|%myinbox -> Download %inbox to %myinbox.
1286 *&user@@popserver1,&user@@popserver2|+inbox
1287 -> Download from &user@@popserver1 and &user@@popserver2 to +inbox.
1290 After messages are moved, a hook @code{elmo-pipe-drained-hook} is called.
1292 @node Internal Folder, , Pipe Folder, Folders
1293 @section Internal folder
1294 @cindex Internal Folder
1296 @cindex Folder, @samp{$} mark
1298 A folder to access to internal messages of Wanderlust.
1305 A folder named 'mark is a special virtual folder which collects messages
1306 which have important mark @samp{$}.
1308 You can review important messages at once after you put important marks
1309 on the messages in the different folders.
1311 In this folder, if you delete message, important mark @samp{$} put on
1312 the message is removed. If you append messages to this folder, the
1313 message will have @samp{$} mark.
1315 You can access to the cached messages fetched via network by accessing
1316 to the folders named 'cache/00 - 1F. 00 - 1F are the name of the
1317 subdirectories of the cache directory (@file{~/.elmo/cache}).
1323 @node Folder, Summary, Folders, Top
1324 @chapter Folder mode
1327 After you start Wanderlust, folder mode is appeared firstly.
1328 It contains folder list you subscribed.
1329 You can select and edit folders in this mode.
1332 * Selecting Folder:: Select folder you want to read.
1333 * Folder Manager:: Editing folders.
1337 @node Selecting Folder, Folder Manager, Folder, Folder
1338 @section Selecting Folder
1339 @cindex Selecting Folder
1341 @subsection Usage (TIPS)
1343 @subsubsection Check new, unread number
1345 Folder mode looks like this.
1346 (In XEmacs, it looks much nicer @t{;-)})
1349 [-]Desktop:14186/35580/67263
1354 [-]Emacsen:0/34/4837
1355 Wanderlust ML:0/0/558
1358 XEmacs Beta:0/29/255
1368 FOLDER-NAME:NEW-NUMBER/UNREAD-NUMBER/ALL-NUMBER
1373 @kbd{s} key on the folder line updates these numbers.
1374 It changes its color if it has many new messages.
1376 The whole folder mode is a folder group named @samp{Desktop}.
1377 Folder group open/close by return key.
1378 A operation to a folder group is treated as operations on the
1380 For example, when you type @kbd{s} on @samp{[-]Emacsen},
1381 six children folders update its unread number status.
1383 @subsubsection Select Folder
1385 To enter summary mode of the folder, type return (or spece) key on
1387 If the variable @code{wl-stay-folder-window} has non-nil value,
1388 summary window appears on the right of the folder mode window.
1390 @subsection Key bindings
1392 Folder mode's key binding (related to selecting folders) is following.
1397 @kindex @key{SPC} (Folder)
1398 @kindex @key{RET} (Folder)
1399 @findex wl-folder-jump-to-current-entity
1400 Enter to the summary mode of the folder at the current cursor point.
1401 If the cursor is on the top of folder group line,
1402 the folder group is opened or closed.
1403 When the cursor is on the access group and this command is called
1404 with prefix argument, folder children list is updated to the newest one.
1405 (Children list is updated recursively if the access folder has hierarchical
1407 (@code{wl-folder-jump-to-current-entity})
1410 @kindex M-@key{RET} (Folder)
1411 @findex wl-folder-update-recursive-current-entity
1412 Folder children list of the access group at the current cursor point
1413 is updated to the newest one.
1414 (Children list is updated recursively if the access folder has hierarchical
1416 (@code{wl-folder-update-recursive-current-entity})
1420 @findex wl-summary-write
1421 Create a new draft message.
1422 (@code{wl-summary-write})
1426 @findex wl-summary-write-current-newsgroup
1427 If the current cursor point is on the NNTP folder,
1428 create a new draft message which already has newsgroups field.
1429 (@code{wl-summary-write-current-newsgroup})
1433 @findex wl-folder-check-current-entity
1434 Update new and unread number information of the folder at the current
1436 (@code{wl-folder-check-current-entity})
1440 @findex wl-folder-sync-current-entity
1441 Update summary information of the folder at the current cursor point.
1442 (@code{wl-folder-sync-current-entity})
1445 @kindex r s (Folder)
1446 @findex wl-folder-check-region
1447 Update new and unread number information of the folders in the currently
1449 (@code{wl-folder-check-region})
1452 @kindex r S (Folder)
1453 @findex wl-folder-sync-region
1454 Update summary information of the folders in the currently selected region.
1455 (@code{wl-folder-sync-region})
1459 @findex wl-folder-prev-unread
1460 Jump cursor to the folder which have unread messages on the upward from
1461 current cursor point.
1462 (@code{wl-folder-prev-unread})
1466 Jump cursor to the folder which have unread messages on the downward
1467 from current cursor point.
1468 (@code{wl-folder-next-unread})
1472 Move cursor to the folder on the previous line.
1473 (@code{wl-folder-prev-entity})
1477 Move cursor to the folder on the next line.
1478 (@code{wl-folder-next-entity})
1482 Jump to the folder specified by the user input.
1483 (@code{wl-folder-jump-folder})
1487 @findex wl-folder-prefetch-current-entity
1488 Prefetch new messages of the folder at the current cursor point by
1489 @code{wl-summary-incorporate}.
1490 If the cursor is on the folder group, it is executed recursively.
1491 (@code{wl-folder-prefetch-current-entity})
1495 @findex wl-folder-mark-as-read-all-current-entity
1496 Mark all unread messages of the folder at the current cursor point as read.
1497 If the cursor is on the folder group, it is executed recursively.
1498 (@code{wl-folder-mark-as-read-all-current-entity})
1502 @findex wl-folder-goto-first-unread-folder
1503 Enter summary mode of the first unread folder.
1504 (@code{wl-folder-goto-first-unread-folder})
1508 @findex wl-folder-empty-trash
1510 (@code{wl-folder-empty-trash})
1514 @findex wl-folder-open-all-unread-folder
1515 All unread folder is opened.
1516 (@code{wl-folder-open-all-unread-folder})
1520 @findex wl-folder-open-close
1521 Folder group is opened/closed.
1522 (@code{wl-thread-open-close})
1526 All folder group is opened.
1527 (@code{wl-folder-open-all})
1531 All folder group is closed.
1532 (@code{wl-folder-close-all})
1542 (@code{wl-folder-suspend})
1545 @kindex M-s (Folder)
1546 Save current folder status.
1550 @kindex M-t (Folder)
1551 Toggle Wanderlust's offline/online status.
1552 (@code{wl-toggle-plugged})
1555 @kindex C-t (Folder)
1556 Start Wanderlust's plug-status manager.
1557 (@code{wl-plugged-change})
1560 @subsection Customize variables
1563 @item wl-folders-file
1564 @vindex wl-folders-file
1565 The initial setting is "~/.folders".
1566 Subscribed folders are described (saved) in this file.
1568 @item wl-folder-info-save
1569 @vindex wl-folder-info-save
1570 The initial setting is t.
1571 If non-nil, unread information is saved and used in the next Wanderlust session.
1573 @item wl-stay-folder-window
1574 @vindex wl-stay-folder-window
1575 The initial setting is nil.
1576 If non-nil, summary window is appeared on the right side of the folder buffer.
1578 @item wl-folder-window-width
1579 @vindex wl-folder-window-width
1580 The initial setting is 20.
1581 Folder mode's window width when @code{wl-stay-folder-window} is non-nil.
1583 @item wl-folder-many-unsync-threshold
1584 @vindex wl-folder-many-unsync-threshold
1585 The initial setting is 70.
1586 If the number of unread messages is more than this value,
1587 folder color is changed.
1589 @item wl-folder-desktop-name
1590 @vindex wl-folder-desktop-name
1591 The initial setting is "Desktop".
1592 The name of top folder group.
1594 @item wl-folder-petname-alist
1595 @vindex wl-folder-petname-alist
1596 The initial setting is nil.
1597 An alist of folder's realname and its nickname.
1599 @item wl-folder-access-subscribe-alist
1600 @vindex wl-folder-access-subscribe-alist
1601 The initial setting is nil.
1603 Control automatic subscribing and unsubscribing of the children list
1608 ('regexp of access-folder' . ('subscribe-flag' 'regexp-of-folders' @dots{}))
1610 If subscribe-flag is non-nil, folders which have name matched to
1611 regexp-of-folders are displayed. Otherwise, hidden.
1612 However, already unsubscribed folder is not displayed even
1613 when the subscribe-flag is non-nil. Multiple regexp-of-folders can be specified.
1618 '(("^-fj$" . (t "^-fj\\.\\(comp\\|editor\\|mail\\)"
1619 "^-fj\\.\\(net\\|news\\|os\\|rec\\)"))
1620 ("^-$" . (t "^-\\(fj\\|tnn\\|japan\\|gnu\\|comp\\)"))
1621 ("^\\+ml$" . (nil "^\\+ml$" "^\\+ml/tmp")))
1624 @item wl-folder-hierarchy-access-folders
1625 @vindex wl-folder-hierarchy-access-folders
1626 The initial setting is '("-" "-alt").
1627 A list of access groups which creates children folder list hierarchically.
1629 For example, if you specify
1630 @code{wl-folder-hierarchy-access-folders} like following,
1633 (setq wl-folder-hierarchy-access-folders
1634 '("-" "-alt" "-japan" "-comp" "-comp.unix"))
1637 such access group hierarchy is obtained.
1642 -fj.comp.announce:0/0/2
1643 -fj.comp.dev.cdrom:0/0/0
1645 [+]-japan:238/238/1688
1648 -comp.unix.admin:0/0/0
1649 -comp.unix.dos-under-unix:0/0/0
1650 -comp.unix.programmer:0/0/0
1651 [-]-comp.unix.bsd:0/0/23
1652 -comp.unix.bsd.freebsd.announce:0/0/0
1656 If you opened @samp{-} in this example, only the direct children is created
1657 (@samp{-fj}, @samp{-japan}, @samp{-tnn}, @dots{}).
1658 second hierarchy (@samp{-fj.comp.announce}, @dots{}, @samp{-comp.unix}, @dots{})
1659 is not created until the children access group is opened.
1663 @node Folder Manager, , Selecting Folder, Folder
1664 @section Editing Folders
1665 @cindex Folder Manager
1666 @cindex Folder, Edit
1667 @cindex Folder, Subscribe
1668 @cindex Folder, Unsubscribe
1670 As described before, subscribed folder list is saved in @file{~/.folders} file.
1671 But you don't have to edit @file{~/.folders} directly.
1672 You can append, delete, edit folders from folder mode.
1674 @subsection Usage (Tips)
1676 @subsubsection Append Folder
1678 @kbd{m a} appends new folder to the folder mode.
1679 @kbd{m g} appends new folder group.
1680 To append new folder to this group, firstly open it,
1681 then execute append command in the next line.
1683 @subsubsection Edit Folder
1685 You can cut folder by @kbd{C-k}, paste by @kbd{C-y}.
1686 Thus, you can change folder position as if you were editing a normal file.
1688 @subsubsection Create Multi Folder.
1692 Type @kbd{m q} to clear @code{wl-fldmgr-cut-entity-list}.
1694 Cut folder by @kbd{C-k} or copy folder by @kbd{M-c}.
1696 Type @kbd{m m}, then you can create multi folder.
1699 @subsubsection Delete Nickname, Filter
1701 You can delete nickname or filter by putting ""(NULL) from the minibuffer
1704 @subsubsection Append Folder to Empty Group
1706 To append new folder to the empty folder group
1707 (after you create folder group by typing @kbd{m g}),
1708 firstly open it, then execute append command in the next line.
1709 If it is closed, folder is appended on the same level with
1710 the above folder group. It is difficult to explain by words so try it.
1711 In other words, appended position depends on the
1712 above folder group's open/close status.
1714 @subsubsection Charset of the Folders File.
1716 @code{wl-mime-charset} is used for saving @code{wl-folders-file}.
1718 @subsubsection Create Filter
1720 @kbd{m f} adds filter to the folder at the current cursor point.
1721 To create new filter folder and leave the current folder unchanged,
1722 copy it @kbd{M-c}, make filter @kbd{m f} and paste it @kbd{C-y}.
1723 Multiple filter can be specified while appending filter.
1724 If you put ""(NULL), filter is deleted.
1726 @subsubsection Sort Folders
1728 Sorting of the folders is executed by the function specified by
1729 @code{wl-fldmgr-sort-func}.
1730 The initial setting is @code{wl-fldmgr-sort-standard},
1731 which sorts alphabetically.
1732 Sorting affects only on the current folder group. It does not
1733 affect on the child groups.
1735 @subsubsection Hiding Folders in the Access Group
1737 Usually, access group displays all children folders, but you can set
1738 some folders hidden. Following operations are only available on access
1741 Command @code{wl-fldmgr-unsubscribe} (@kbd{u}) toggles
1742 the visibility (subscribe/unsubscribe) of the folder at current cursor point.
1744 Against this, @code{wl-fldmgr-unsubscribe-region} (@kbd{U}) hides folders
1745 in the specified region. Note that @code{wl-fldmgr-unsubscribe-region}
1746 does not toggle while @code{wl-fldmgr-unsubscribe} toggles. These two
1747 commands accept prefix argument and if the argument has positive number,
1748 the unsubscribe it. If the prefix argument has negative value, folder
1749 becomes visible and if zero, folder visibility is toggled.
1751 The other commands, @code{wl-fldmgr-subscribe} and
1752 @code{wl-fldmgr-subscribe-region} are also prepared (not binded to the
1755 Moreover, if @code{wl-fldmgr-cut} or @code{wl-fldmgr-cut-region} is
1756 executed in the access group, they have a same effect with
1757 @code{wl-fldmgr-unsubscribe} and @code{wl-fldmgr-unsubscribe-region}.
1758 The difference is that cut(-region) commands deletes folders from the
1761 @subsubsection Operations in the Access Group
1763 You can insert and delete folders in the access group like usual folder
1764 group. But insert and delete commands can be only available for the
1765 children folders of the access group and they only sets the subscribe
1766 status. In other words, insertion of the folder means subscribing,
1767 deletion means unsubscribing.
1768 @footnote{In the current implementation,
1769 it is faster to delete region than to unsubscribe region.}
1771 To update the access group when children folders are inserted or deleted
1772 by other way (other than Wanderlust),
1773 open the access group by typing @kbd{C-u @key{RET}}.
1774 @xref{Selecting Folder}.
1776 The order of children folders of access group is saved after
1777 insertion/deletion/sorting.
1778 If you set @code{wl-force-fetch-folders} to non-nil or open access group
1779 by typing @kbd{C-u @key{RET}}, disappeared folders are deleted and
1780 newly created folders are inserted on the top of the access group.
1782 @subsection Key bindings
1783 @cindex Keybind, Folder Mode
1784 @cindex Keybind, Folder Buffer
1786 Key bindings on the folder mode related to folder editing are shown below.
1787 All bindings starts with @kbd{m}, and primary commands are binded to
1788 one stroke key binding.
1792 @kindex m a (Folder)
1793 @findex wl-fldmgr-add
1795 (@code{wl-fldmgr-add})
1800 @kindex m g (Folder)
1801 @findex wl-fldmgr-make-group
1802 Create a folder group.
1803 (@code{wl-fldmgr-make-group})
1806 @kindex m A (Folder)
1807 @findex wl-fldmgr-make-access-group
1808 Create an access group.
1809 (@code{wl-fldmgr-make-access-group})
1812 @kindex m d (Folder)
1813 @findex wl-fldmgr-delete
1814 Delete folder itself and msgdb.
1815 If the folder itself cannot be deleted like NNTP folder,
1816 only msgdb is deleted.
1817 (@code{wl-fldmgr-delete})
1822 @kindex m R (Folder)
1823 @findex wl-fldmgr-rename
1824 Change the name of folder or folder group.
1825 msgdb's path is also changed.
1826 (@code{wl-fldmgr-rename})
1832 @findex wl-fldmgr-make-multi
1833 Create a multi folders in the cutlist (cut, copied folders).
1834 (@code{wl-fldmgr-make-multi})
1839 @kindex m f (Folder)
1840 @findex wl-fldmgr-make-filter
1841 Create a filter folder. (Put a filter on the folder).
1842 (@code{wl-fldmgr-make-filter})
1846 @kindex M-c (Folder)
1847 @kindex m c (Folder)
1848 @findex wl-fldmgr-copy
1849 Copy folder (it is not available on folder group).
1850 (@code{wl-fldmgr-copy})
1854 @kindex M-w (Folder)
1855 @kindex m W (Folder)
1856 @findex wl-fldmgr-copy-region
1857 Copy folders in the specified region.
1858 (@code{wl-fldmgr-copy-region})
1862 @kindex C-k (Folder)
1863 @kindex m k (Folder)
1864 @findex wl-fldmgr-cut
1865 Cut folder. Folder itself is not deleted.
1866 (@code{wl-fldmgr-cut})
1870 @kindex C-w (Folder)
1871 @kindex m C-w (Folder)
1872 @findex wl-fldmgr-cut-region
1873 Cut folders in the specified region.
1874 (@code{wl-fldmgr-cut-region})
1878 @kindex C-y (Folder)
1879 @kindex m y (Folder)
1880 @findex wl-fldmgr-yank
1881 Paste folders that are copied or cut (folders in the cut-list).
1882 (@code{wl-fldmgr-yank})
1885 @kindex m p (Folder)
1886 @findex wl-fldmgr-set-petname
1887 Put nickname on the folder.
1888 (@code{wl-fldmgr-set-petname})
1891 @kindex m q (Folder)
1892 @findex wl-fldmgr-clear-cut-entity-list
1893 Clear the cut-list. (cut, copied folder information is cleared,
1894 you cannot paste after this)
1895 (@code{wl-fldmgr-clear-cut-entity-list})
1898 @kindex m s (Folder)
1899 @findex wl-fldmgr-sort
1900 Sort folders in the current folder group.
1901 (@code{wl-fldmgr-sort})
1904 @kindex m C-s (Folder)
1905 @findex wl-fldmgr-save
1906 Save current folder view to the @file{wl-folders-file}.
1907 (@code{wl-fldmgr-save})
1910 [Following commands are only available on the access groups]
1916 @kindex m u (Folder)
1917 @findex wl-fldmgr-unsubscribe
1918 Set the visibility of folder (subscribe/unsubscribe).
1919 (@code{wl-fldmgr-unsubscribe})
1924 @kindex r u (Folder)
1925 @findex wl-fldmgr-unsubscribe-region
1926 Set the visibility of the folders (subscribe/unsubscribe) in the
1928 (@code{wl-fldmgr-unsubscribe-region})
1933 @kindex m l (Folder)
1934 @findex wl-fldmgr-access-display-normal
1935 List folders that are currently available.
1936 (@code{wl-fldmgr-access-display-normal})
1941 @kindex m L (Folder)
1942 @findex wl-fldmgr-access-display-all
1943 List all folders regardless of the subscription status.
1944 (@code{wl-fldmgr-access-display-all})
1947 @kindex C-c C-o (Folder)
1948 @findex wl-jump-to-draft-buffer
1949 Move to the draft buffer if available. If multiple draft buffer exists,
1950 moved to one after another. If prefix argument is specified, load draft
1951 folder's message to the draft buffer and jump to it.
1952 (@code{wl-jump-to-draft-buffer})
1956 @subsection Customize variables
1959 @item wl-interactive-save-folders
1960 @vindex wl-interactive-save-folders
1961 The initial setting is t.
1962 If non-nil and folder view is modified, confirm saving it before
1963 Wanderlust or Emacs exits.
1964 If nil, save without confirmation.
1966 @item wl-fldmgr-make-backup
1967 @vindex wl-fldmgr-make-backup
1968 The initial setting is t.
1969 If non-nil, @file{~/.folders.bak} is created before saving the folder status.
1971 @item wl-fldmgr-sort-func
1972 @vindex wl-fldmgr-sort-func
1973 The initial setting is 'wl-fldmgr-sort-standard.
1974 A function to sort folders.
1975 By default function, folders are sorted alphabetically and
1976 folder group is put on top
1977 (when @code{wl-fldmgr-sort-group-first} is non-nil).
1979 @item wl-fldmgr-sort-group-first
1980 @vindex wl-fldmgr-sort-group-first
1981 The initial setting is t.
1982 If non-nil, @code{wl-fldmgr-sort-standard} precedes folder group.
1983 If nil, it does not care whether it is folder group or not.
1985 @item wl-folder-check-async
1986 @vindex wl-folder-check-async
1987 The initial setting is t.
1988 If non-nil, check folder's unread status asynchronously.
1989 It boosts newsgroup checking.
1991 @item wl-folder-check-fast
1992 @vindex wl-folder-check-fast
1993 The initial setting is nil.
1994 If non-nil, it does not update folder status while checking.
1996 @item wl-folder-notify-deleted
1997 @vindex wl-folder-notify-deleted
1998 The initial setting is nil.
2000 If non-nil, negative value is displayed when the message is deleted.
2001 If 'sync, folder is synchronized when the message is deleted.
2002 If nil, message deletion is ignored.
2005 @subsection Miscellanea
2007 Following is a note for folder editing.
2011 cut or copy stacks the folder in the @code{wl-fldmgr-cut-entity-list}.
2012 paste(yank) command pastes the folders on one cut or copy command
2013 (If copy command is executed by region, folders in the region are pasted
2014 by one paste command)
2017 You cannot cut 'Desktop' group.
2018 Also, you cannot paste folders at the outside of the 'Desktop'.
2021 You cannot copy folder group.
2024 Operations on the access group are only available for the folders
2025 in the same access group.
2028 You cannot create a folder which has same name with the folders already exist.
2031 You cannot insert folders which have same name in one group.
2032 You can insert them in the different groups.
2033 You cannot put same nickname to the different folders.
2040 @node Summary, Message, Folder, Top
2041 @chapter Summary Mode
2043 @section Usage (Tips)
2045 @subsection Summary Content
2047 After you select the folder via folder mode, you enter to the summary mode.
2048 In the summary mode, messages are displayed like following.
2051 377 09/16(Wed)11:57 [+1: Takuro Kitame ] Bug?
2052 381 09/17(Thu)00:16 [+3: Fujikazu Okuni ] elmo-lha.el -- LHA interface
2053 384 09/17(Thu)01:32 [+1: Yuuichi Terani ] wl-0.6.2
2054 389 N09/18(Fri)01:07 [+2: Yuuichi Terani ] wl-0.6.3
2060 Message number, Temporal mark, Persistent mark, Date, Sender, Subject
2064 You cannot change this in the current version.
2066 'Message number' is the message's unique number in the folder. In the NNTP
2067 folder, it is article number, in the IMAP folder, it is UID and in the
2068 MH folder, it is the filename of the message.
2070 Temporal and Persistent marks are described later.
2072 'Date' is displayed like 'Month/Day(Week Day)Hour:Minute'.
2073 Default setting displays week day in Japanese, but if you want to
2074 display it in English, set the value of @code{wl-summary-weekday-name-lang}
2077 'Sender's indentation corresponds to the depth of the thread.
2078 Sender name is displayed as nickname if it is defined in the address book.
2079 Set @code{wl-use-petname} as nil, if you want to quit displaying with nickname.
2081 If number is printed at the head of 'sender' part like @samp{+2},
2082 that means the message have 2 follow messages.
2084 'Subject' is the Subject header field of the message. If the message
2085 have same subject with the parent message, it is not displayed. Some
2086 mailing list puts its sequence number in the subject field, but it is
2087 ignored. @code{wl-summary-no-subject-message} is displayed when the
2088 message has empty subject field.
2090 @subsection Temporary Marks
2091 @cindex Mark, Temporary
2093 There are four temporary marks,
2094 @samp{*}, @samp{D}, @samp{o} and @samp{O}.
2095 Temporary marks indicates message operations.
2100 You can execute a command on the all messages that have @samp{*} mark,
2101 with the key bindings which begins with @kbd{m}.
2104 The mark to delete. You can put @samp{D} by typing @kbd{d} key.
2108 After you type @kbd{o} key, prompt appears to input refile destination.
2109 Your answer is printed in the summary line.
2113 You can put this mark by typing @kbd{O} key.
2114 The difference between this mark and refile mark is,
2115 this mark does not delete the message while latter does.
2118 @kbd{x} key executes @samp{D}, @samp{o} and @samp{O} marks.
2120 @subsection Persistent Marks
2122 There are five persistent marks,
2123 @samp{N}, @samp{U}, @samp{!}, @samp{u} and @samp{$}.
2125 The persistent mark indicates the message's status and it is saved.
2126 Each persistent mark indicates:
2132 It is unread message.
2134 It is unread but cached message.
2136 It is read but it is not cached.
2138 It is important message. You can put @samp{$} mark by typing @kbd{$}
2139 key (if already exists, the mark is deleted). It is convenient to put
2140 this mark on the messages to remember (If you want to remember to write
2141 a reply for the message, for example) because this mark remains after
2142 you exited Emacs. Messages with the @samp{$} mark remains in the folder
2143 even the message itself is deleted in the actual folder.
2146 If the message is read and cached (or local message),there are no
2150 @samp{N}, @samp{U} and @samp{u} indicates that the message have no
2151 cache. Messages with the marks other than these, you can read them in
2152 the offline status even they are in the IMAP folder or netnews folder.
2154 @subsection How To Read
2156 Basically, you can read messages only typing space key again and again.
2158 To update summary status to the newest status (synchronize),
2161 You can jump to next unread message by typing @kbd{N} key, and @kbd{n} key
2162 moves cursor to the next message.
2163 Enter message buffer by typing @kbd{j} key.
2164 To operate multipart, you have to enter to the message buffer.
2166 @subsection Thread Operations
2168 For example, the following line indicates one thread (a context of a topic).
2171 384 09/17(Thu)01:32 [+1: Teranishi ] wl-0.6.2
2176 If you type @kbd{/} on this line, the thread is opened and it changes
2177 the appearance like following.
2180 384 09/17(Thu)01:32 [ Teranishi ] wl-0.6.2
2181 388 09/17(Thu)22:34 +-[ Murata san ]
2184 (Message 388 is the replied message to the message 384.)
2185 If you type @kbd{/} key once again, the thread is closed.
2186 With prefix argument, @kbd{/} opens all children threads.
2188 Commands with the key binding that begins with @kbd{t} executes commands
2189 on the messages in the thread.
2191 @subsection Cache File
2193 The messages which have to access via network (e.x. IMAP, NNTP folder)
2194 are cached as a local file.
2195 The cache file is saved under the directory @file{~/.elmo/cache}.
2197 To expire cache, type following.
2200 M-x elmo-cache-expire-by-size
2205 The command deletes cache files to the specified size by the order of
2208 @subsection Buffer Cache and Prefetching
2210 If the value of @code{elmo-use-buffer-cache} is non-nil,
2211 the messages that are read are kept in the cache buffer.
2212 It is called `buffer cache'.
2213 The number of cache buffer is specified by @code{elmo-buffer-cache-size}.
2215 There are message prefetching mechanism in the Wanderlust that prefetches next
2216 message while you are reading. This function requires that the value of
2217 @code{elmo-use-buffer-cache} is non-nil.
2219 You can control the message prefetching mechanism by these two variables.
2222 @item wl-cache-prefetch-folder-type-list
2223 @vindex wl-cache-prefetch-folder-type-list
2224 The initial setting is '(nntp imap4).
2225 It specifies the folder types in which message prefetching is enabled.
2226 In the initial setting, multi folder that contains localdir and imap4
2227 prefetches only imap4 messages.
2228 This variable precedes the value of @code{wl-cache-prefetch-folder-list}.
2230 If you want to prefetch localdir and localnews also, following setting is needed.
2232 (setq wl-cache-prefetch-folder-type-list
2233 '(nntp imap4 localdir localnews))
2236 @item wl-cache-prefetch-folder-list
2237 @vindex wl-cache-prefetch-folder-list
2238 The initial setting is nil.
2239 A list of regexp of folders to enable message prefetching.
2242 @subsection Auto Refile
2244 You refile messages automatically, by typing @kbd{C-o}
2245 (@code{wl-summary-auto-refile}). It decides destination of refile by
2246 the content of the message header information (information in the msgdb).
2248 By default, @samp{From}, @samp{Subject}, @samp{To} and @samp{Cc} is available.
2249 If you want to decide destination by other header fields,
2250 set the variable @code{elmo-msgdb-extra-fields} like following.
2253 (setq elmo-msgdb-extra-fields
2263 By this setting, Wanderlust saves extra fields in the msgdb. You have
2264 to type @kbd{s all} to get extra fields for the messages that are
2265 already exists in the summary.
2267 Then, specify the refile rule in the @code{wl-refile-rule-alist} like
2271 (setq wl-refile-rule-alist
2274 ("^Wanderlust" . "+wl")
2275 ("^Elisp" . "+elisp"))
2277 ("teranisi@@isl.ntt.co.jp" . "+teranisi"))))
2280 After these setting, refile marks are automatically put on the condition
2281 matched messages by typing @kbd{C-o} (@code{wl-summary-auto-refile}).
2282 The rule matched first is applied.
2284 Messages which have @code{wl-summary-auto-refile-skip-marks} is skipped
2286 By default, @samp{N}, @samp{U} and @samp{!} is specified, so the messages
2287 with these persistent marks are not automatically refiled.
2288 It means Wanderlust does not execute auto refile on unread messages by
2289 the default setting.
2290 To execute auto refile on all messages, set following.
2293 (setq wl-summary-auto-refile-skip-marks nil)
2296 @subsection Sticky Summary
2297 @cindex Summary, Sticky
2298 @cindex Sticky Summary
2300 The buffer of the `sticky summary' does not killed by typing @kbd{q}.
2302 Sticky buffer is created by entering the summary by typing @kbd{C-u g} or
2303 type @kbd{M-s} (@code{wl-summary-stick}) on the normal summary.
2305 The buffer name of the sticky summary becomes like
2306 @samp{Summary:@var{folder-name}}.
2308 You can visit the sticky summary at any time by @kbd{C-x b}
2309 (@code{switch-to-buffer}). To exit sticky summary, type @kbd{C-u
2310 q}. Other operations in the sticky summary are same as normal summary.
2312 @code{wl-summary-always-sticky-folder-list} specifies the folders that are
2313 automatically sticked.
2315 @section Key bindings
2316 @cindex Keybind, Summary Mode
2317 @cindex Keybind, Summary Buffer
2319 Key bindings of the summary mode are shown below.
2323 @kindex @key{SPC} (Summary)
2324 @findex wl-summary-read
2325 Proceed reading a message at the current cursor point.
2326 (@code{wl-summary-read})
2330 @findex wl-summary-redisplay
2331 Redisplay a message at the current cursor point.
2332 If this command is called with prefix argument,
2333 Redisplay message regardless of the message cache (message is re-loaded
2335 (@code{wl-summary-redisplay})
2339 @findex wl-summary-display-top
2340 Display the top message in the folder.
2341 (@code{wl-summary-display-top})
2345 @findex wl-summary-display-bottom
2346 Display the bottom message in the folder.
2347 (@code{wl-summary-display-bottom})
2351 @kindex @key{BS} (Summary)
2352 @kindex @key{DEL} (Summary)
2353 Display the previous page of the message at the current cursor point.
2354 @findex wl-summary-prev-page
2355 (@code{wl-summary-prev-page})
2358 @kindex @key{RET} (Summary)
2359 @findex wl-summary-next-line-content
2360 Display the next line of the message at the current cursor point.
2361 Display the message at the current cursor point if it is not displayed yet.
2362 (@code{wl-summary-next-line-content})
2366 @findex wl-thread-open-close
2367 Toggle open or close the thread at the current cursor point.
2368 (@code{wl-thread-open-close})
2373 @findex wl-thread-open-all
2374 (@code{wl-thread-open-all})
2379 @findex wl-thread-close-all
2380 (@code{wl-thread-close-all})
2385 @kindex M-@key{RET} (Summary)
2386 @findex wl-summary-prev-line-content
2387 Display the previous line of the message at the current cursor point.
2388 Display the message at the current cursor point if it is not displayed yet.
2389 (@code{wl-summary-prev-line-content})
2393 @findex wl-summary-goto-folder
2395 (@code{wl-summary-goto-folder})
2399 Mark all messages in the folder as read.
2400 @findex wl-summary-mark-as-read-all
2401 (@code{wl-summary-mark-as-read-all})
2405 @findex wl-summary-reply
2406 Prepare a draft for reply the message at the current cursor point.
2407 (@code{wl-summary-reply})
2411 @findex wl-summary-reply-with-citation
2412 Prepare a draft for reply the message at the current cursor point.
2413 (@code{wl-summary-reply-with-citation})
2417 @findex wl-summary-cancel-message
2418 If the message at current cursor point is your own netnews article,
2420 (@code{wl-summary-cancel-message})
2424 @findex wl-summary-reedit
2425 Prepare a draft for re-editing the message at current cursor point.
2426 If the message at current cursor point is your own netnews article,
2427 a draft for `supersedes message' for the message is prepared.
2428 (@code{wl-summary-reedit})
2431 @kindex M-e (Summary)
2432 @findex wl-summary-resend-bounced-mail
2433 If the message at current cursor point is a bounced message,
2434 a draft for re-sending original message is prepared.
2435 (@code{wl-summary-resend-bounced-mail})
2439 @findex wl-summary-forward
2440 A draft for forwarding the message at current cursor point is prepared.
2441 (@code{wl-summary-forward})
2445 @findex wl-summary-mark-as-important
2446 Put @samp{$} mark on the message at current cursor point.
2447 If already marked as @samp{$}, delete it.
2448 (@code{wl-summary-mark-as-important})
2454 Save the message at current cursor point.
2455 @findex wl-summary-save
2456 (@code{wl-summary-save})
2460 @findex wl-summary-next
2461 Move cursor to the next message.
2462 (@code{wl-summary-next})
2466 @findex wl-summary-prev
2467 Move cursor to the previous message.
2468 (@code{wl-summary-prev})
2472 @findex wl-summary-down
2473 Move cursor to the downward message which is unread or marked
2475 (@code{wl-summary-down})
2479 @findex wl-summary-up
2480 Move cursor to the upward message which is unread or marked
2482 (@code{wl-summary-up})
2487 Prepare a new draft.
2492 @findex wl-draft-write-current-newsgroup
2493 Prepare a new draft.
2494 If the current folder is netnews folder, Newsgroups: field is completed.
2495 (@code{wl-draft-write-current-newsgroup})
2499 @findex wl-summary-redisplay-all-header
2500 Redisplay the message at current cursor point with all header fields.
2501 (@code{wl-summary-redisplay-all-header})
2505 @findex wl-summary-redisplay-no-mime
2506 Redisplay the message at current cursor point without MIME analysis.
2507 (@code{wl-summary-redisplay-no-mime})
2511 @findex wl-summary-burst
2512 If the message at current cursor point has
2513 encapsulates multiple messages using MIME,
2514 de-capsulate and extract them on the current folder.
2515 (@code{wl-summary-burst})
2518 @kindex @@ (Summary)
2519 @findex wl-summary-edit-addresses
2520 Append/change/delete the message's sender information to the address book
2521 @file{~/.addresses} interactively.
2522 If this command is called with prefix argument, arbitrary address can be edited.
2523 (@code{wl-summary-edit-petname})
2527 @findex wl-status-update
2528 Sync up address book status with @file{~/.addresses}'s content.
2529 (@code{wl-status-update})
2533 @findex wl-summary-pipe-message
2534 Pipe current message's content to the external process.
2535 (@code{wl-summary-pipe-message})
2539 @findex wl-summary-print-message
2540 Print out current message's content.
2541 It uses ps-print module in Emacs 20.x.
2542 If you don't use color printer, you might want to set
2543 @code{wl-ps-print-buffer-func} to 'ps-print-buffer.
2544 (@code{wl-summary-print-message})
2548 @findex wl-summary-exit
2549 Exit current folder.
2550 (@code{wl-summary-exit})
2554 @findex wl-summary-jump-to-current-message
2555 Jump cursor to the currently displayed message's window.
2556 (@code{wl-summary-jump-to-current-message})
2560 Jump cursor to the other message.
2561 @findex wl-summary-jump-to-msg
2562 (@code{wl-summary-jump-to-msg})
2566 Update summary status and
2567 prefetch all messages which have marks included in the
2568 @code{wl-summary-incorporate-marks}.
2569 @findex wl-summary-incorporate
2570 (@code{wl-summary-incorporate})
2573 @kindex M-j (Summary)
2574 @findex wl-summary-jump-to-msg-by-message-id
2575 Jump cursor to the message which have specified Message-Id.
2576 If @code{elmo-use-database} is non-nil, other folder is also searched.
2577 (@code{wl-summary-jump-to-msg-by-message-id})
2581 Jump to parent message.
2582 @findex wl-summary-jump-to-parent-message
2583 (@code{wl-summary-jump-to-parent-message})
2587 @findex wl-summary-mark-as-unread
2588 Mark as unread the message at current cursor point.
2589 (@code{wl-summary-mark-as-unread})
2593 @findex wl-summary-sync
2594 Synchronize summary view after prompting the update range
2595 (all, update, rescan, first, last).
2598 all ...Discard current summary and update all message.
2599 update ...Update the difference between summary and the folder itself.
2600 rescan ...Rescan the msgdb and display again.
2601 rescan-noscore ...Rescan the msgdb and display again (without scoring).
2602 first, last ...Move to the filter folder(partial filter).
2606 (@code{wl-summary-sync})
2610 @findex wl-summary-sort
2612 You can sort by date, from, number and subject.
2613 (@code{wl-summary-sort})
2617 @findex wl-summary-toggle-thread
2618 Toggle the threading.
2619 (@code{wl-summary-toggle-thread})
2623 @findex wl-summary-toggle-disp-folder
2624 Toggle displaying of folder window.
2625 (@code{wl-summary-toggle-disp-folder})
2629 Toggle displaying of message window.
2630 @findex wl-summary-toggle-disp-msg
2631 (@code{wl-summary-toggle-disp-msg})
2635 Move to the virtual folder with the condition specified.
2636 If called with prefix argument and current folder is virtual, exit it.
2637 @findex wl-summary-virtual
2638 (@code{wl-summary-virtual})
2641 @kindex @key{TAB} (Summary)
2642 @findex wl-summary-goto-last-displayed-msg
2643 Jump to the message which is displayed last.
2644 (@code{wl-summary-goto-last-displayed-msg})
2648 Put @samp{*} mark on the messages that satisfies the specified condition.
2649 @findex wl-summary-pick
2650 (@code{wl-summary-pick})
2654 @findex wl-summary-mark-as-read
2655 Mark as read the message at the current cursor point.
2656 (@code{wl-summary-mark-as-read})
2660 Prefetch the message at the current cursor point.
2661 @findex wl-summary-prefetch
2662 (@code{wl-summary-prefetch})
2666 Execute @samp{D}, @samp{o} and @samp{O} marks.
2667 @findex wl-summary-exec
2668 (@code{wl-summary-exec})
2672 @findex wl-summary-target-mark-line
2673 Put target mark on the message at the current cursor point.
2674 (@code{wl-summary-target-mark-line})
2678 Put refile mark on the message at the current cursor point.
2679 @findex wl-summary-refile
2680 (@code{wl-summary-refile})
2683 @kindex C-o (Summary)
2684 Execute auto refile.
2685 @findex wl-summary-auto-refile
2686 (@code{wl-summary-auto-refile})
2690 Put copy mark on the message at the current cursor point.
2691 @findex wl-summary-copy
2692 (@code{wl-summary-copy})
2695 @kindex M-o (Summary)
2696 Put refile mark on the message at the current cursor point with the destination
2697 previously specified.
2698 @findex wl-summary-refile-prev-destination
2699 (@code{wl-summary-refile-prev-destination})
2703 @findex wl-summary-delete
2704 Put delete mark on the message at the current cursor point.
2705 (@code{wl-summary-delete})
2709 @findex wl-summary-unmark
2710 Unmark the temporal mark on the message at the current cursor point.
2711 (@code{wl-summary-unmark})
2715 Unmark all the temporal marks.
2716 @findex wl-summary-unmark-all
2717 (@code{wl-summary-unmark-all})
2720 @kindex r R (Summary)
2721 @findex wl-summary-mark-as-read-region
2722 Mark as read messages in the specified region.
2723 (@code{wl-summary-mark-as-read-region})
2726 @kindex r $ (Summary)
2727 @findex wl-summary-mark-as-important-region
2728 Mark as important @samp{$} messages in the specified region.
2729 If @samp{$} already exists, it is deleted.
2730 (@code{wl-summary-mark-as-important-region})
2733 @kindex r ! (Summary)
2734 @findex wl-summary-mark-as-unread-region
2735 Mark as unread messages in the specified region.
2736 (@code{wl-summary-mark-as-unread-region})
2739 @kindex r i (Summary)
2740 @findex wl-summary-prefetch-region
2741 Prefetch messages in the specified region.
2742 (@code{wl-summary-prefetch-region})
2745 @kindex r x (Summary)
2746 @findex wl-summary-exec-region
2747 Execute @samp{D}, @samp{o} and @samp{O} marks on the messages in the
2749 (@code{wl-summary-exec-region})
2752 @kindex r * (Summary)
2753 @findex wl-summary-target-mark-region
2754 Put target mark on the messages in the specified region.
2755 (@code{wl-summary-target-mark-region})
2758 @kindex r o (Summary)
2759 @findex wl-summary-refile-region
2760 Put refile mark on the messages in the specified region.
2761 (@code{wl-summary-refile-region})
2764 @kindex r O (Summary)
2765 @findex wl-summary-copy-region
2766 Put copy mark on the messages in the specified region.
2767 (@code{wl-summary-copy-region})
2770 @kindex r d (Summary)
2771 @findex wl-summary-delete-region
2772 Put delete mark on the messages in the specified region.
2773 (@code{wl-summary-delete-region})
2776 @kindex r u (Summary)
2777 @findex wl-summary-unmark-region
2778 Delete temporal mark on the messages in the specified region.
2779 (@code{wl-summary-unmark-region})
2782 @kindex r y (Summary)
2783 Save messages in the specified region.
2784 @findex wl-summary-save-region
2785 (@code{wl-summary-save-region})
2788 @kindex t R (Summary)
2789 @findex wl-thread-mark-as-read
2790 Mark as read messages which are the descendant of the current thread.
2791 With prefix argument, it affects on the all messages in the thread tree.
2792 (@code{wl-thread-mark-as-read})
2795 @kindex t $ (Summary)
2796 @findex wl-thread-mark-as-important
2797 Put important mark @samp{$} on the messages which are the
2798 descendant of the current thread.
2799 If @samp{$} mark exists, it is deleted.
2800 With prefix argument, it affects on the all messages in the thread tree.
2801 (@code{wl-thread-mark-as-important})
2804 @kindex t ! (Summary)
2805 @findex wl-thread-mark-as-unread
2806 Mark as unread messages which are the descendant of the current thread.
2807 With prefix argument, it affects on the all messages in the thread tree.
2808 (@code{wl-thread-mark-as-unread})
2811 @kindex t i (Summary)
2812 @findex wl-thread-prefetch
2813 Prefetch messages which are the descendant of the current thread.
2814 With prefix argument, it affects on the all messages in the thread tree.
2815 (@code{wl-thread-prefetch})
2818 @kindex t x (Summary)
2819 @findex wl-thread-exec
2820 Execute @samp{D}, @samp{o} and @samp{O} marks on the messages which are
2821 the descendant of the current thread. With prefix argument, it affects
2822 on the all messages in the thread tree.
2823 (@code{wl-thread-exec})
2826 @kindex t * (Summary)
2827 @findex wl-thread-target-mark
2828 Put target mark @samp{*} on the messages which are the descendant of the
2829 current thread. With prefix argument, it affects on the all messages in
2831 (@code{wl-thread-target-mark})
2834 @kindex t o (Summary)
2835 @findex wl-thread-refile
2836 Put refile mark on the messages which are the descendant of the current thread.
2837 With prefix argument, it affects on the all messages in the thread tree.
2838 (@code{wl-thread-refile})
2841 @kindex t O (Summary)
2842 @findex wl-thread-copy
2843 Put copy mark on the messages which are the descendant of the current thread.
2844 With prefix argument, it affects on the all messages in the thread tree.
2845 (@code{wl-thread-copy})
2848 @kindex t d (Summary)
2849 @findex wl-thread-delete
2850 Put delete mar on the messages which are the descendant of the current thread.
2851 With prefix argument, it affects on the all messages in the thread tree.
2852 (@code{wl-thread-delete})
2855 @kindex t u (Summary)
2856 @findex wl-thread-unmark
2858 Unmark temporal mark on the messages which are the descendant of the
2859 current thread. With prefix argument, it affects on the all messages in
2861 (@code{wl-thread-unmark})
2864 @kindex t y (Summary)
2865 @findex wl-thread-save
2866 Save messages which are the descendant of the current thread.
2867 With prefix argument, it affects on the all messages in the thread tree.
2868 (@code{wl-thread-save})
2871 @kindex m i (Summary)
2872 @findex wl-summary-target-mark-prefetch
2873 Prefetch all messages which have target mark @samp{*}.
2874 (@code{wl-summary-target-mark-prefetch})
2877 @kindex m R (Summary)
2878 @findex wl-summary-target-mark-mark-as-read
2879 Mark as read all messages which have target mark @samp{*}.
2880 (@code{wl-summary-target-mark-mark-as-read})
2883 @kindex m $ (Summary)
2884 @findex wl-summary-target-mark-mark-as-important
2885 Mark as important all messages which have target mark @samp{*}.
2886 If already marked as @samp{$}, it is deleted.
2887 (@code{wl-summary-target-mark-mark-as-important})
2890 @kindex m ! (Summary)
2891 @findex wl-summary-target-mark-mark-as-unread
2892 Mark as unread all messages which have target mark @samp{*}.
2893 (@code{wl-summary-target-mark-mark-as-unread})
2896 @kindex m o (Summary)
2897 @findex wl-summary-target-mark-refile
2898 Put refile mark on the messages which have target mark @samp{*}.
2899 (@code{wl-summary-target-mark-refile})
2902 @kindex m O (Summary)
2903 @findex wl-summary-target-mark-copy
2904 Put copy mark on the messages which have target mark @samp{*}.
2905 (@code{wl-summary-target-mark-copy})
2908 @kindex m d (Summary)
2909 @findex wl-summary-target-mark-delete
2910 Put delete mark on the messages which have target mark @samp{*}.
2911 (@code{wl-summary-target-mark-delete})
2914 @kindex m y (Summary)
2915 @findex wl-summary-target-mark-save
2916 Save messages which have target mark @samp{*}.
2917 (@code{wl-summary-target-mark-save})
2920 @kindex m u (Summary)
2921 Unmark all temporal marks.
2922 (@code{wl-summary-delete-all-temp-marks})
2923 @findex wl-summary-delete-all-temp-marks
2926 @kindex m a (Summary)
2927 Put target mark @samp{*} on the all messages.
2928 (@code{wl-summary-target-mark-all})
2929 @findex wl-summary-target-mark-all
2932 @kindex m t (Summary)
2933 Put target mark @samp{*} on the messages in the current thread.
2934 @findex wl-summary-target-mark-thread
2935 (@code{wl-summary-target-mark-thread})
2938 @kindex m r (Summary)
2939 @findex wl-summary-target-mark-region
2940 Put target mark @samp{*} on the messages in the specified region.
2941 (@code{wl-summary-target-mark-region})
2944 @kindex m A (Summary)
2945 @findex wl-summary-target-mark-reply-with-citation
2946 Prepare a draft which cites all messages which have target mark @samp{*}.
2947 (@code{wl-summary-target-mark-reply-with-citation})
2950 @kindex m f (Summary)
2951 @findex wl-summary-target-mark-forward
2952 Prepare a draft which forwards all messages which have target mark @samp{*}.
2953 (@code{wl-summary-target-mark-forward})
2956 @kindex m U (Summary)
2957 @findex wl-summary-target-mark-uudecode
2958 Uudecode the messages which have target mark @samp{*}.
2959 (@code{wl-summary-target-mark-uudecode})
2962 @kindex m ? (Summary)
2963 @findex wl-summary-target-mark-pick
2964 Pick messages from the @samp{*} marked messages.
2965 That is, @samp{*} marks on the messages are remained
2966 if the specified condition is satisfied.
2967 (@code{wl-summary-target-mark-pick})
2970 @kindex M-t (Summary)
2971 @findex wl-toggle-plugged
2972 Toggle offline/online status of Wanderlust.
2973 (@code{wl-toggle-plugged})
2976 @kindex C-t (Summary)
2977 Start Wanderlust's plug-status manager.
2978 (@code{wl-plugged-change})
2981 @kindex C-c C-o (Summary)
2982 @findex wl-jump-to-draft-buffer
2983 Move to the draft buffer if available. If multiple draft buffer exists,
2984 moved to one after another. If prefix argument is specified, load draft
2985 folder's message to the draft buffer and jump to it.
2986 (@code{wl-jump-to-draft-buffer})
2989 @section Customize variables
2992 @item wl-summary-move-order
2993 @vindex wl-summary-move-order
2994 The initial setting is 'unread.
2995 Specify cursor moving policy.
2996 If you want to precede new messages, set 'new.
2997 If you want to precede unread messages, set 'unread.
2998 If nil, proceed to next message.
3000 @item wl-auto-select-first
3001 @vindex wl-auto-select-first
3002 The initial setting is nil.
3003 If non-nil, first message is automatically displayed.
3005 @item wl-auto-select-next
3006 @vindex wl-auto-select-next
3007 The initial setting is nil.
3008 If non-nil, jump to next summary automatically.
3009 If 'unread, jump to next unread folder's summary after confirmation.
3010 If 'skip-no-unread, unread folders are automatically skipped.
3012 @item wl-thread-insert-opened
3013 @vindex wl-thread-insert-opened
3014 The initial setting is nil.
3015 If non-nil, thread is inserted as opened.
3017 @item wl-thread-open-reading-thread
3018 @vindex wl-thread-open-reading-thread
3019 The initial setting is t.
3020 If non-nil, reading thread is automatically opened though it is closed thread.
3022 @item wl-summary-exit-next-move
3023 @vindex wl-summary-exit-next-move
3024 The initial setting is t.
3025 If non-nil, move to next folder at summary exit.
3027 @item wl-folder-move-cur-folder
3028 @vindex wl-folder-move-cur-folder
3029 The initial setting is nil.
3030 If non-nil, cursor position on the folder is moved.
3032 @item wl-summary-weekday-name-lang
3033 @vindex wl-summary-weekday-name-lang
3034 The initial setting is "ja".
3035 Specify language of the weekday.
3036 "en" displays English, "fr" displays French, "de" displays Deutsch.
3038 @item wl-summary-fix-timezone
3039 @vindex wl-summary-fix-timezone
3040 The initial setting is "JST".
3041 Timezone to adjust summary's timezone.
3042 If nil, adjust to UTC.
3044 @item wl-use-petname
3045 @vindex wl-use-petname
3046 The initial setting is t.
3047 If non-nil, sender part displays nickname.
3049 @item wl-break-pages
3050 @vindex wl-break-pages
3051 The initial setting is t.
3052 If non-nil, message is splitted as pages by @samp{^L}.
3054 @item wl-message-window-size
3055 @vindex wl-message-window-size
3056 The initial setting is '(1 . 4).
3057 A cons cell to specify the rate of summary and message window.
3058 car:cdr corresponds summary:message.
3060 @item wl-summary-recenter
3061 @vindex wl-summary-recenter
3062 The initial setting is t.
3063 If non-nil, cursor point is moved to the center of the summary window.
3065 @item wl-summary-indent-length-limit
3066 @vindex wl-summary-indent-length-limit
3067 The initial setting is 46.
3068 Specify the limit of thread indent level.
3069 If nil, max indent level is unlimited.
3071 @item wl-summary-no-from-message
3072 @vindex wl-summary-no-from-message
3073 The initial setting is "nobody@@nowhere?".
3074 A string which is displayed when there's no From: field in the message.
3076 @item wl-summary-no-subject-message
3077 @vindex wl-summary-no-subject-message
3078 The initial setting is "(WL:No Subject in original.)".
3079 A string which is displayed when there's no Subject: field in the message.
3081 @item wl-summary-width
3082 @vindex wl-summary-width
3083 The initial setting is 80.
3084 Width of summary line. If nil, summary line's width is as is.
3086 @item wl-use-folder-petname
3087 @vindex wl-use-folder-petname
3088 The initial setting is '(modeline).
3089 A list of display policy (symbol) of folder nickname.
3090 Available symbols are:
3094 Display folder petname on modeline.
3096 Destination folder is notified as nickname if
3097 @code{wl-auto-select-next} is non-nil.
3099 You can input folder name by nickname in the function
3100 @code{wl-summary-read-folder}.
3103 @item wl-summary-move-direction-toggle
3104 @vindex wl-summary-move-direction-toggle
3105 The initial setting is t.
3106 If non-nil, last executed @kbd{p}, @kbd{P}, @kbd{n}, @kbd{N} toggles
3107 the direction of cursor move.
3108 If you want to aware of reading direction, set this to t.
3111 @vindex wl-from-width
3112 The initial setting is 17.
3113 Width of sender part of summary line.
3115 @item wl-summary-divide-thread-when-subject-changed
3116 @vindex wl-summary-divide-thread-when-subject-changed
3117 The initial setting is nil.
3118 If non-nil, thread is splitted if the subject is changed.
3120 @item wl-summary-search-via-nntp
3121 @vindex wl-summary-search-via-nntp
3122 The initial setting is 'confirm.
3123 If non-nil and @code{wl-summary-jump-to-msg-by-message-id} failed,
3124 call @code{wl-summary-jump-to-msg-by-message-id-via-nntp} and
3125 search message from the NNTP server @code{elmo-default-nntp-server}.
3126 The value of @code{elmo-default-nntp-user}, @code{elmo-default-nntp-port},
3127 @code{elmo-default-nntp-ssl} are used. If 'confirm, server name can
3128 be specified. You can specify NNTP folder format like
3129 @samp{-:username@@servername:119!}.
3131 @item wl-summary-keep-cursor-command
3132 @vindex wl-summary-keep-cursor-command
3133 The initial setting is
3134 '(wl-summary-goto-folder wl-summary-goto-last-visited-folder).
3135 When you entered to summary by these commands and the target summary
3136 buffer already exists, summary status is not automatically updated and
3137 cursor position is saved.
3139 @item wl-summary-update-confirm-threshold
3140 @vindex wl-summary-update-confirm-threshold
3141 The initial setting is 500.
3142 If updated message number is larger than this value,
3143 confirm whether drop them or not.
3145 @item wl-summary-always-sticky-folder-list
3146 @vindex wl-summary-always-sticky-folder-list
3147 The initial setting is nil.
3148 @code{wl-summary-always-sticky-folder-list} specifies the folders that are
3149 automatically sticked. Each element is regexp of folder name.
3151 @item wl-summary-reserve-mark-list
3152 @vindex wl-summary-reserve-mark-list
3153 The initial setting is '("o" "O" "D").
3154 If a message is already marked as temporal marks in this list,
3155 the message is not marked by any mark command.
3157 @item wl-summary-skip-mark-list
3158 @vindex wl-summary-skip-mark-list
3159 The initial setting is '("D").
3160 If a message is already marked as temporal marks in this list,
3161 the message is skipped at cursor move.
3163 @item wl-fetch-confirm-threshold
3164 @vindex wl-fetch-confirm-threshold
3165 The initial setting is 30000 (bytes).
3166 If displaying message has larger size than this value,
3167 Wanderlust confirms whether fetch the message or not.
3168 If nil, the message is fetched without confirmation.
3170 @item wl-prefetch-threshold
3171 @vindex wl-prefetch-threshold
3172 The initial setting is 30000 (bytes).
3173 If prefetching message has larger size than this value and
3174 @code{wl-prefetch-confirm} is non-nil,
3175 Wanderlust confirms whether prefetch the message or not.
3176 If @code{wl-prefetch-threshold} is nil, the message is prefetched
3177 without confirmation.
3179 @item wl-prefetch-confirm
3180 @vindex wl-prefetch-confirm
3181 The initial setting is t. If non-nil,
3182 Wanderlust confirms whether prefetch the message or not if the
3183 message has larger size than @code{wl-prefetch-threshold}.
3185 @item wl-cache-fetch-threshold
3186 @vindex wl-cache-fetch-threshold
3187 The initial setting is 30000 (bytes).
3188 The messages which have larger size than @code{wl-fetch-confirm-threshold}
3189 are skipped buffer caching mechanism. If nil, any messages are prefetched by
3190 buffer caching mechanism.
3192 @item elmo-imap4-use-cache
3193 @vindex elmo-imap4-use-cache
3194 The initial setting is t.
3195 If non-nil, messages read via IMAP4 are cached.
3197 @item elmo-nntp-use-cache
3198 @vindex elmo-nntp-use-cache
3199 The initial setting is t.
3200 If non-nil, messages read via NNTP are cached.
3202 @item elmo-pop3-use-cache
3203 @vindex elmo-pop3-use-cache
3204 The initial setting is t.
3205 If non-nil, messages read via POP3 are cached.
3211 @node Message, Draft, Summary, Top
3212 @chapter Message Buffer
3214 Message Buffers utilize MIME-View mode of SEMI/tm.
3215 For operational procedures and key bindings, refer to respective
3217 @xref{MIME-View, , ,mime-ui-ja, a MIME user interface for GNU Emacs}.
3219 @kbd{p} at the top of a message or @kbd{n} at the bottom of a message
3220 brings you back to Summary mode.
3221 @kbd{l} toggles display of Summary mode buffer.
3223 @section Key Bindings
3229 @findex wl-message-toggle-disp-summary
3230 Toggles display of Summary mode buffer.
3231 (@code{wl-message-toggle-disp-summary})
3234 @findex wl-message-refer-article-or-url
3235 @kindex Button-2 (Message)
3236 Assumes Message-ID at the mouse pointer, and shows the corresponding
3238 (@code{wl-message-refer-article-or-url})
3240 @item Button-4 (upward movement of a wheel)
3241 @kindex Button-4 (Message)
3242 @findex wl-message-wheel-down
3243 Scrolls the message backwards. When the top of the message is hit,
3244 moves to the previous message.
3245 (@code{wl-message-wheel-down})
3247 @item Button-5 (downward movement of a wheel)
3248 @kindex Button-5 (Message)
3249 @findex wl-message-wheel-up
3250 Scrolls the message forward. When the bottom of the message is hit,
3251 moves to the next message.
3252 (@code{wl-message-wheel-up})
3255 @section Customizable Variables
3258 @item wl-message-window-size
3259 @vindex wl-message-window-size
3260 Initial setting is @code{'(1 . 4)}. It is a cons cell and the ratio of
3261 its car and cdr value corresponds to the ratio of Summary and Message
3268 @node Draft, Disconnected Operations, Message, Top
3269 @chapter Draft Buffer
3271 At Summary mode, pressing @kbd{w} and the like creates a new draft
3272 buffer. You can edit and send mail and news articles in this buffer.
3276 Basically it is Emacs-standard mail mode.
3278 @subsection Address Completion
3280 Initially, the cursor is at the To: field. Fill in recipients
3281 addresses. @kbd{@key{TAB}} completes them.
3283 If you want to submit a news article, add Newsgroups: field by
3284 yourself. Field names can be completed by @kbd{@key{TAB}}.
3286 If you save the draft buffer you are editing, it is appended to the
3287 folder specified by @code{wl-draft-folder}.
3289 Using FCC: field, you can specify the folder to which a copy of the
3290 message is saved when it is sent.
3292 @subsection Editing Messages
3294 Multi-part editing utilize MIME edit mode of SEMI/tm. For procedures of
3295 editing, refer to respective documents.
3296 @xref{Mail Methods, , ,mime-ui-ja, a MIME user interface for GNU Emacs}.
3298 @subsection Dynamic Modification of Messages
3299 @vindex wl-draft-config-alist
3301 @c @cindex Change Message
3302 @c @cindex Message, Change Dynamic
3304 You can set @code{wl-draft-config-alist} so that header and body of the
3305 message will automatically modified depending on information of header
3308 The initial setting of @code{wl-draft-config-alist} is nil.
3310 In the example below, the header is modified when
3311 @code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
3312 You can set @code{wl-interactive-send} to non-nil so as to confirm
3313 changes before sending the message.
3316 (setq wl-draft-config-alist
3317 '(((string-match "aaa.ne.jp$" (system-name))
3318 ;; @r{applied if the expression is non-nil}
3319 (wl-smtp-posting-server . "mailserver-B")
3320 (wl-nntp-posting-server . "newsserver-B")
3321 ;; @r{settings of temporary variables}
3323 ("^To: .*user@@aaa.bbb.com"
3324 ;; @r{applied if it matches the header of the draft buffer}
3325 ("Organization" . (format "Go %s" my-webpage)))
3326 ;; @r{you can write elisp expressions here (eval only)}
3327 (top . "Hello.\n") ;; @r{inserted at the top of the body}
3328 (bottom . "\nBye.\n") ;; @r{inserted at the bottom of the body}
3332 The format of @code{wl-draft-config-alist} is:
3335 '(("regexp of the header" or elisp expression
3336 ("Field" . value(elisp expression))
3337 (variable . value(elisp expression))
3338 (sub-function . value(elisp expression))
3341 ("regexp of the header" or elisp expression
3342 ("Field" . value(elisp expression))
3346 Per default, there are 10 following sub-functions.
3349 'header: Inserts the specified string at the bottom of the header.
3350 'header-file: Inserts the specified file at the bottom of the header.
3351 'x-face: Inserts "X-Face" field with the content of the specified file.
3352 'top: Inserts the specified string at the top of the body.
3353 'top-file: Inserts the specified file at the top of the body.
3354 'body: Replaces the body with the specified string.
3355 Specifying nil deletes the entire body string.
3356 'body-file: Replaces the body with the content of the specified file.
3357 'bottom: Inserts the specified string at the bottom of the body.
3358 'bottom-file: Inserts the specified file at the top of the body.
3359 'template: Applies the specified template.
3360 (refer to the next subsection)
3363 These are defined in @code{wl-draft-config-sub-func-alist} and you can
3364 change them or add your own functions. If you read the code, you can
3365 easily find how to write the functions.
3367 At the first of each item, "a regular expression of the header" or an
3368 elisp expression should be specified. In the case of an elisp
3369 expression, the item is applied when the expression is evaluated
3372 Per default, when multiple items match or are evaluated non-nil, all
3373 such items are applied, but if you set a variable
3374 @code{wl-draft-config-matchone} to t, only the first matching one is
3377 At the second of the item, a cons or a list of functions should be
3378 specified. The car part of the cons should be a header field, a
3379 variable, or a sub-function. When a header field is specified, the field
3380 will be modified. If a variable is specified, the value of the variable
3381 will be modified temporarily.
3383 In the cdr part of a cons, not only a variable but also an elisp
3384 expression can be specified as is. If the car part is a header field
3385 and the cdr part is nil, the field will be deleted.
3387 See the next example as well:
3390 (setq wl-draft-config-alist
3392 "X-ML-Name: \\(Wanderlust\\|emacs-mime-ja\\|apel-ja\\)"
3393 ;; @r{applied if it matches the header of the buffer being replied}
3394 (body . " Hello.\n")
3395 (template . "default")
3399 As in the (1) above, if a header regexp is prepended with @code{reply},
3400 it is applied when the draft is prepared by @code{wl-summary-reply} for
3401 example, and when it matches the header being replied. It is ignored
3402 when there is no buffer being replied, like after @code{wl-draft} was
3405 Note that @code{wl-draft-config-alist} is applied only once when
3406 @code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
3407 Therefore, if you want to apply @code{wl-draft-config-alist} again after
3408 aborting transmission, execute @kbd{C-c C-e}
3409 (@code{wl-draft-config-exec}).
3411 If you want to apply @code{wl-draft-config-alist} when a draft buffer is
3412 prepared, do the following:
3415 (add-hook 'wl-mail-setup-hook 'wl-draft-config-exec)
3418 @subsection Inserting Templates
3420 @cindex Apply Template
3422 Set a variable @code{wl-template-alist}, and type
3423 @kbd{C-c C-j} or @kbd{M-x wl-template-select}
3424 in the draft buffer.
3426 The format of @code{wl-template-alist} is almost the same as
3427 @code{wl-draft-config-alist}.
3430 (setq wl-template-alist
3433 ("Organization" . "~/.wl sample")
3434 (body . "Hello.\n"))
3436 (template . "default") ;; @r{(a)}
3437 ("To" . "jousi@@kaisha.jp")
3438 ("Subject" . "Report")
3439 (body-file . "~/work/report.txt")
3444 As you can see, the only difference is item (template) names such as
3445 "default" and "report", instead of a regexp of header.
3446 Because definition of each item is the same as
3447 @code{wl-draft-config-alist}, you can call another template, like (a).
3449 Executing the command @code{wl-template-select} results in template
3450 selection, but the result differs depending on variable
3451 @code{wl-template-visible-select}.
3453 If @code{wl-template-visible-select} is t (default), a buffer window is
3454 shown below the draft buffer. You can select a template by @kbd{n} and
3455 @kbd{p} seeing the buffer window.
3457 Press the RETURN key and the template is actually applied to the draft
3458 buffer. If you press @kbd{q}, nothing is applied. In addition, you can
3459 adjust the window size by @code{wl-template-buffer-lines}.
3461 If @code{wl-template-visible-select} is nil, you should type the name of
3462 the template in the mini buffer.
3464 As shown in the example in @code{wl-draft-config-alist}, you can select
3465 "default" template by writing:
3468 (template . "default")
3473 @subsection Sending mail by POP-before-SMTP
3474 @cindex POP-before-SMTP
3476 You can send mail by POP-before-SMTP with this single line:
3479 (setq wl-draft-send-mail-func 'wl-draft-send-mail-with-pop-before-smtp)
3483 Configure the following variables if you need.
3486 @item wl-pop-before-smtp-user
3487 The POP user name for POP-before-SMTP authentication.
3488 If unset, @code{elmo-default-pop3-user} is used.
3490 @item wl-pop-before-smtp-server
3491 The POP server name for POP-before-SMTP authentication.
3492 If unset, @code{elmo-default-pop3-server} is used.
3494 @item wl-pop-before-smtp-authenticate-type
3495 The POP authentication method for POP-before-SMTP authentication.
3496 If unset, @code{elmo-default-pop3-authenticate-type} is used.
3498 @item wl-pop-before-smtp-port
3499 The POP port number for POP-before-SMTP authentication.
3500 If unset, @code{elmo-default-pop3-port} is used.
3502 @item wl-pop-before-smtp-ssl
3503 If non-nil, POP connection is established using SSL.
3504 If 'starttls, STARTTLS (RFC2595) connection will be established.
3505 If unset, @code{elmo-default-pop3-ssl} is used.
3508 If variables for POP-before-SMTP (@code{wl-pop-before-smtp-*}) are
3509 unset, settings for POP folders (@code{elmo-default-pop3-*}) are
3511 Therefore, if SMTP server and POP server are actually the same, and if
3512 POP folder per default (such as @samp{&}) is available, no settings are
3515 Refer to the following URL about POP-before-SMTP.
3518 http://spam.ayamura.org/tools/smPbS.html
3519 http://www.iecc.com/pop-before-smtp.html
3522 @section Key Bindings
3523 @cindex Keybind, Draft Mode
3524 @cindex Keybind, Draft Buffer
3529 @kindex C-c C-y (Draft)
3530 @findex wl-draft-yank-original
3531 Cites the content of the current message buffer.
3532 (@code{wl-draft-yank-original})
3535 @kindex C-c C-p (Draft)
3536 @findex wl-draft-preview-message
3537 Previews the content of the current draft.
3538 This is useful for previewing MIME multi-part messages.
3539 (@code{wl-draft-preview-message})
3542 @kindex C-c C-s (Draft)
3543 @findex wl-draft-send
3544 Sends the content of the current draft. Does not erase the draft buffer.
3545 This is useful for sending multiple messages, which are a little different
3547 (@code{wl-draft-send})
3550 @kindex C-c C-c (Draft)
3551 @findex wl-draft-send-and-exit
3552 Sends the content of the current draft and erases the draft buffer.
3553 (@code{wl-draft-send-and-exit})
3556 @kindex C-x C-s (Draft)
3557 @findex wl-draft-save
3558 Save the current draft.
3559 (@code{wl-draft-save})
3562 @kindex C-c C-k (Draft)
3563 @findex wl-draft-kill
3564 Kills the current draft.
3565 (@code{wl-draft-kill})
3568 @c @kindex C-x k (Draft)
3569 @c @findex wl-draft-mimic-kill-buffer
3570 @c Kills the current draft.
3571 @c (@code{wl-draft-mimic-kill-buffer})
3574 @kindex C-c C-z (Draft)
3575 @findex wl-draft-save-and-exit
3576 Saves the current draft, and erases the draft buffer.
3577 This is useful if you want to suspend editing of the draft.
3578 You can resume editing by pressing @kbd{E} (@code{wl-summary-reedit}) in
3579 the @samp{+draft} folder.
3580 (@code{wl-draft-save-and-exit})
3583 @kindex C-c C-r (Draft)
3584 @findex wl-caesar-region
3585 Encodes or decodes the specified region in Caesar cipher.
3586 (@code{wl-caesar-region})
3590 @findex wl-toggle-plugged
3591 Toggles off-line/on-line states of Wanderlust.
3592 (@code{wl-toggle-plugged})
3595 @kindex C-c C-o (Draft)
3596 @findex wl-jump-to-draft-buffer
3597 Jumps to the other draft buffer, if exists.
3598 With prefix argument, reads a file (if any) from the draft folder when
3599 there is no such buffer.
3600 (@code{wl-jump-to-draft-buffer})
3603 @kindex C-c C-e (Draft)
3604 @findex wl-draft-config-exec
3605 Applies @code{wl-draft-config-alist}.
3606 (@code{wl-draft-config-exec})
3609 @kindex C-c C-j (Draft)
3610 @findex wl-template-select
3612 (@code{wl-template-select})
3615 @kindex C-c C-a (Draft)
3616 @findex wl-draft-insert-x-face-field
3617 Inserts the content of a file @file{~/.xface} (the value of the variable
3618 @code{wl-x-face-file}) as an X-Face field in the draft buffer.
3620 There should be encoded X-Face strings as a content of a file @file{~/.xface}.
3621 (@code{wl-draft-insert-x-face-field})
3624 @section Customizable Variables
3627 @item wl-subscribed-mailing-list
3628 @vindex wl-subscribed-mailing-list
3629 The initial setting is nil.
3630 Mailing lists to which you subscribe.
3631 If any of these are contained in To or Cc field of a reply draft,
3632 removes your own address from Mail-Followup-To and Cc.
3633 And if any of these are contained in To or Cc field of a message to be
3634 automatically re-filed, the destination folder will be leaned in
3635 connection with the address.
3636 @item wl-insert-mail-followup-to
3637 @vindex wl-insert-mail-followup-to
3638 The initial setting is nil.
3639 If non-nil, Mail-Followup-To field is automatically inserted in the
3642 @item wl-insert-mail-reply-to
3643 @vindex wl-insert-mail-reply-to
3644 The initial setting is nil.
3645 If non-nil, Mail-Reply-To field is automatically inserted in the
3648 @item wl-auto-insert-x-face
3649 @vindex wl-auto-insert-x-face
3650 The initial setting is t.
3651 If non-nil and there is an encoded X-Face string in a file
3652 @file{~/.xface} (the value of the variable @code{wl-x-face-file}),
3653 inserts it as an X-Face field in the draft buffer.
3654 If nil, it is not automatically inserted. Press @kbd{C-c C-a} to insert.
3656 @item wl-insert-message-id
3657 @vindex wl-insert-message-id
3658 The initial setting is t.
3659 If non-nil, Message-ID field is automatically inserted on the
3662 @item wl-local-domain
3663 @vindex wl-local-domain
3664 The initial setting is nil.
3665 If nil, the return value of the function @code{system-name} will be
3666 used as the domain part of Message-ID.
3668 If @code{system-name} does not return FQDN (i.e. the full name of the
3669 host, like @samp{smtp.gohome.org}), you @strong{must} set this variable to the
3670 string of the local domain name without hostname (like @samp{gohome.org}).
3671 That is, a concatenation of @code{system-name} "." @code{wl-local-domain}
3672 is used as domain part of the Message-ID.
3674 If your terminal does not have global IP, set the value of
3675 @code{wl-message-id-domain}.
3676 (You might be beaten up on the Net News if you use invalid Message-ID.)
3679 concatenation of @code{system-name} "." @code{wl-local-domain}
3680 will be used as an argument to the HELO command in SMTP.
3682 @item wl-message-id-domain
3683 @vindex wl-message-id-domain
3684 The initial setting is nil.
3685 If non-nil, this value is used as a domain part of the Message-ID.
3686 If your terminal does not have global IP, set unique string to this value
3687 (e.x. your e-mail address).
3689 @item wl-message-id-domain
3690 @vindex wl-message-id-domain
3691 The initial setting is nil.
3692 If nil, the return value of the function @code{system-name} will be
3693 used as the domain part of Message-ID.
3694 If @code{system-name} does not return FQDN (i.e. the full name of the
3695 host, like smtp.gohome.org), you @strong{must} set this variable to the
3696 string of the full name of the host. Otherwise, you might be beaten up
3699 @item wl-draft-config-alist
3700 @vindex wl-draft-config-alist
3701 The initial setting is nil.
3702 Modifies the draft message just before the transmission.
3703 The content of @code{wl-draft-config-alist} will be automatically
3704 applied only once on the transmission. If you want to apply it
3705 manually, use @kbd{C-c C-e}. This command can be used many times.
3707 @item wl-template-alist
3708 @vindex wl-template-alist
3709 The initial setting is nil.
3710 This variable specifies the template to be applied in the draft buffer.
3712 @item wl-draft-config-matchone
3713 @vindex wl-draft-config-matchone
3714 The initial setting is nil.
3715 If non-nil, only the first matching item is used when
3716 @code{wl-draft-config-alist} is applied. If nil, all matching items are
3719 @item wl-template-visible-select
3720 @vindex wl-template-visible-select
3721 The initial setting is t.
3722 If non-nil, you can preview the result of the template selection in
3725 @item wl-template-confirm
3726 @vindex wl-template-confirm
3727 The initial setting is nil.
3728 If non-nil, asks for confirmation when you press the enter key to select
3729 template while previewing.
3731 @item wl-template-buffer-lines
3732 @vindex wl-template-buffer-lines
3733 The initial setting is 7.
3734 If @code{wl-template-visible-select} is non-nil, this variable specifies
3735 the size of the preview window.
3737 @item wl-draft-reply-buffer-style
3738 @vindex wl-draft-reply-buffer-style
3739 The initial setting is 'split.
3740 'split or 'full can be specified.
3741 In the case of 'full, the whole frame will be used for a reply draft
3742 buffer when it is prepared.
3746 The initial setting is the value of the variable @code{user-mail-address}.
3747 The value of this variable is inserted as a From field of the draft when
3750 @item wl-envelope-from
3751 @vindex wl-envelope-from
3752 The initial setting is nil.
3753 The value of this variable is used for envelope from (MAIL FROM).
3754 If nil, the address part of @code{wl-from} is used.
3756 @item wl-user-mail-address-list
3757 @vindex wl-user-mail-address-list
3758 The initial setting is nil.
3759 This is the User's address list. If you have multiple addresses,
3764 The initial setting is nil.
3765 If non-nil, the value of this variable is inserted as a FCC of the draft
3766 when it is prepared.
3770 The initial setting is nil.
3771 If non-nil, the value of this variable is inserted as a Bcc of the draft
3772 when it is prepared.
3774 @item wl-reply-subject-prefix
3775 @vindex wl-reply-subject-prefix
3776 The initial setting is "Re: ".
3777 In the Subject of the reply draft, this string is prepended to the
3778 Subject of being replied.
3780 @item wl-draft-enable-queuing
3781 @vindex wl-draft-enable-queuing
3782 The initial setting is t.
3783 This flag controls off-line transmission. If non-nil, the draft is
3786 @item wl-auto-flush-queue
3787 @vindex wl-auto-flush-queue
3788 The initial setting is t.
3789 This flag controls automatic transmission of the queue when Wanderlust
3790 becomes on-line. If non-nil, the queue is automatically transmitted
3791 (with confirmation by @code{y-or-n-p}). If you want to transmit it
3792 manually, press @kbd{F} in the folder mode.
3794 @item wl-draft-always-delete-myself
3795 @vindex wl-draft-always-delete-myself
3796 If non-nil, always removes your own address from To and CC when you are
3797 replying to the mail addressed to you.
3799 @item wl-smtp-posting-server
3800 @vindex wl-smtp-posting-server
3801 The initial setting is nil.
3802 This is the SMTP server name for mail transmission.
3804 @item wl-smtp-posting-user
3805 @vindex wl-smtp-posting-user
3806 The initial setting is nil.
3807 This is the user name for SMTP AUTH authentication.
3808 If nil, @code{smtp-authenticate-user} is used.
3810 @item wl-smtp-authenticate-type
3811 @vindex wl-smtp-authenticate-type
3812 The initial setting is nil.
3813 This is the authentication method for SMTP AUTH authentication.
3814 If nil, @code{smtp-authenticate-type} is used.
3815 If it is still nil, authentication will not be carried out.
3817 @item wl-smtp-connection-type
3818 @vindex wl-smtp-connection-type
3819 The initial setting is nil.
3820 This variable specifies how to establish SMTP connections.
3821 If nil, @code{smtp-connection-type} is used.
3822 If it is 'starttls, STARTTLS (RFC2595) is used.
3824 @item wl-nntp-posting-server
3825 @vindex wl-nntp-posting-server
3826 The initial setting is nil.
3827 This is the NNTP server name used for news submission.
3828 If nil, @code{elmo-default-nntp-server} is used.
3830 @item wl-nntp-posting-user
3831 @vindex wl-nntp-posting-user
3832 The initial setting is nil.
3833 This is the user name for AUTHINFO authentication on news submission.
3834 If nil, @code{elmo-default-nntp-user} is used.
3835 If it is still nil, AUTHINFO authentication will not be carried out.
3837 @item wl-nntp-posting-port
3838 @vindex wl-nntp-posting-port
3839 The initial setting is nil.
3840 This is the port number of the NNTP server used for news submission.
3841 If nil, @code{elmo-default-nntp-server} is used.
3843 @item wl-nntp-posting-ssl
3844 @vindex wl-nntp-posting-ssl
3845 The initial setting is nil.
3846 If nil, @code{elmo-default-nntp-ssl} is evaluated.
3847 If non-nil, SSL is used for news submission.
3848 If 'starttls, STARTTLS (RFC2595) connection will be established.
3850 @item wl-pop-before-smtp-user
3851 @vindex wl-pop-before-smtp-user
3852 The initial setting is nil.
3853 This is the POP user name for POP-before-SMTP.
3854 If it is nil, @code{elmo-default-pop3-user} is used.
3856 @item wl-pop-before-smtp-server
3857 @vindex wl-pop-before-smtp-server
3858 The initial setting is nil.
3859 This is the POP server name for POP-before-SMTP.
3860 If it is nil, @code{elmo-default-pop3-server} is used.
3862 @item wl-pop-before-smtp-authenticate-type
3863 @vindex wl-pop-before-smtp-authenticate-type
3864 The initial setting is nil.
3865 This is the authentication method for POP-before-SMTP authentication.
3866 If it is nil, @code{elmo-default-pop3-authenticate} is used.
3868 @item wl-pop-before-smtp-port
3869 @vindex wl-pop-before-smtp-port
3870 The initial setting is nil.
3871 This is the POP port number for POP-before-SMTP.
3872 If it is nil, @code{elmo-default-pop3-port} is used.
3874 @item wl-pop-before-smtp-ssl
3875 @vindex wl-pop-before-smtp-ssl
3876 The initial setting is nil.
3877 This flag controls the use of SSL for POP-before-SMTP.
3878 If it is nil, @code{elmo-default-pop3-ssl} is used.
3880 @item wl-draft-queue-save-variables
3881 @vindex wl-draft-queue-save-variables
3882 Specifies a list of variable to which queued messages are saved on the
3883 off-line transmission.
3885 @item wl-draft-sendlog
3886 @vindex wl-draft-sendlog
3887 The initial setting is t.
3888 If t, transmission log is written in @file{~/.elmo/sendlog}.
3889 It is written when drafts are sent by smtp or qmail, and when they are
3890 saved into folders by fcc or queuing (it is written even if the
3891 transmission fails).
3892 But transmission by im-wl.el is not written in the sendlog and left to
3893 the logging function of imput.
3895 @item wl-draft-sendlog-max-size
3896 @vindex wl-draft-sendlog-max-size
3897 The initial setting is 20000 (in bytes).
3898 If @code{wl-draft-sendlog} is t, the log is rotated when it grows beyond
3899 the size specified by this variable.
3904 @c Disconnected Operations
3906 @node Disconnected Operations, Expire and Archive, Draft, Top
3907 @chapter Off-line Management
3908 @cindex Disconnected Operations
3910 @section Off-line State
3912 Wanderlust has on-line and off-line states.
3913 In the off-line state, you cannot access messages via network, unless
3916 @samp{[ON]} in the mode line indicates the on-line state.
3917 @samp{[--]} in the mode line indicates the off-line state.
3918 In folder or summary modes, press @kbd{M-t} to switch between off-
3921 You can invoke Wanderlust in the off-line state by setting
3922 @code{wl-plugged} to nil in @file{~/.wl} or anything appropriate.
3924 Even in the off-line state, provided that relevant messages are cached,
3925 and the variable @code{elmo-enable-disconnected-operation} (described
3926 later) is non-nil, you can:
3929 @item transmit messages
3930 @item re-file and copy (IMAP4)
3931 @item create folders (IMAP4)
3933 @item pre-fetch (IMAP4, NNTP)
3936 As soon as Wanderlust becomes on-line, such operations invoked
3937 off-line are reflected in the servers via network.
3939 @section Transmission of Messages
3941 You can send mail/news messages off-line (if you are using im-wl.el, it
3942 is irrelevant). Messages sent off-line are accumulated in the queue
3943 folder, @samp{+queue}. These messages are transmitted at once when
3944 Wanderlust becomes on-line.
3946 You can visit @samp{+queue} in the off-line state and confirm content
3947 of messages in the queue. You can also remove messages. Removed messages
3948 are not transmitted even in the on-line state.
3950 @section Re-file and Copy (IMAP4)
3952 Re-file and copy operations to IMAP folders invoked during the off-line
3953 state are accumulated in the queue, and reflected in the server side
3954 when Wanderlust becomes on-line. If you visit destination folders after
3955 off-line re-file or copy, it looks as if messages were appended even in
3958 For the safety reasons, messages re-filed off-line are removed from
3959 source folders only if their Message-ID match messages on the servers.
3960 While the queue is processed, messages that failed to be re-filed or
3961 copied to the specified folders are appended to the folder
3964 @section Creation of Folders (IMAP4)
3966 You can create IMAP folders off-line. The creation of folders are
3967 reflected in the servers when Wanderlust becomes on-line. At that time,
3968 if folders failed to be created on the servers for any reasons, messages
3969 re-filed to such folders are appended to the folder "+lost+found".
3971 @section Marking (IMAP4)
3973 Off-line changes in unread/read and importance mark @samp{$} information
3974 are also reflected in the servers when Wanderlust becomes on-line.
3976 @section Pre-fetching (IMAP4, NNTP)
3978 You can make reservations for pre-fetching messages in IMAP or NNTP
3979 folders. Reserved messages are marked with @samp{!} but not cached
3980 yet. When Wanderlust becomes on-line, they are pre-fetched from
3983 If the variable @code{elmo-enable-disconnected-operation} is nil, these
3984 off-line operations for IMAP4 and NNTP do not take place, and off-line
3985 re-file, copy or suchlike simply results in error.
3987 Because off-line operations use cache files, it is a bad idea to erase
3988 them by hand; it may cause Wanderlust to malfunction.
3990 If you want to remove caches, be sure to execute
3991 @kbd{M-x elmo-cache-expire-by-size}.
3992 @code{elmo-cache-expire-by-size} does not remove caches for messages
3993 relevant to off-line operations.
3995 @section Switching On-line/Off-line per Server/Port
3997 @kbd{M-t} described above switches networking states as a whole, but you
3998 can switch on-line/off-line per server/port.
4000 Pressing @kbd{C-t} in the folder or summary modes brings you in
4001 wl-plugged-mode shown below, in which you can change the plugged state
4005 Queuing:[ON] AutoFlushQueue:[--] DisconnectedOperation:[ON]
4008 [--]smtp +queue: 2 msgs (1,2) @dots{}@r{sending queue}
4009 [--]nntp(119) +queue: 1 msg (3) @dots{}@r{sending queue}
4011 [--]imap4/cram-md5(143) %#mh/wl(prefetch-msgs:3,mark-as-important:1)
4012 %inbox(delete-msgids:1) @dots{}@r{dop queue}
4017 The first line indicates status of the following three variables, and
4018 simply pressing @kbd{@key{SPC}} or @kbd{@key{RET}} in each labelled
4019 column modifies the values of these variables.
4022 "Queuing" wl-draft-enable-queuing
4023 "AutoFlushQueue" wl-auto-flush-queue
4024 "DisconnectedOperation" elmo-enable-disconnected-operation
4027 where @samp{[ON]} means its value is t, and @samp{[--]} means nil.
4029 The second and after lines indicate on-line/off-line states of servers
4030 and ports, where @samp{[ON]} stands for on-line and @samp{[--]} for
4031 off-line (in XEmacs, they are shown with icons). Pressing
4032 @kbd{@key{SPC}} or @kbd{@key{RET}} in each line switches its state.
4034 "sending queue" means messages accumulated in the folder @samp{+queue}
4035 for off-line transmission, and "dop queue" means off-line operations
4036 when @code{elmo-enable-disconnected-operation} is t.
4037 @c If the variable @code{elmo-enable-disconnected-operation} is non-nil,
4038 @c off-line operations are enabled.
4040 They are displayed if there are any of them. In the example above,
4041 in the sending queue there are two messages (the first and the second
4042 in the queue folder) for smtp to hosta and one (the third) for nntp to
4043 hosta, and in the dop queue there are one for @samp{%inbox} and two for
4046 If you change (wl-plugged) in the second line, the variable
4047 @code{wl-plugged} is changed, so that the mode line indicator and
4048 plugged states of all ports are affected.
4049 If you change plugged states of any servers or ports, wl-plugged in the
4050 second line is affected depending on @code{elmo-plugged-condition}
4051 settings and the plugged state of each port.
4053 @section Invoking Wanderlust in the Off-line State
4055 As described before, if you set @code{wl-plugged} to nil in @file{~/.wl}
4056 or anything appropriate, you can invoke Wanderlust in the off-line
4057 state. You can specify off-line state on a per server or port basis.
4058 Refer to @code{wl-reset-plugged-alist} also.
4060 Usually, when Wanderlust starts up, the plugged state of each port is
4061 read from @file{~/.folder} and @code{wl-smtp-posting-server},
4062 @code{wl-nntp-posting-server} and so on. If you want to change the
4063 plugged state of these ports or to add other ports, configure
4064 @code{wl-make-plugged-hook} with a function.
4067 (add-hook 'wl-make-plugged-hook
4069 (elmo-set-plugged plugged-value(t/nil) server port)
4070 ;; @r{add or change plugged states of the port of the server}
4071 (elmo-set-plugged plugged-value(t/nil) server)
4072 ;; @r{if the port is omitted, all ports are affected}
4073 ;; @r{(you cannot omit the port if you newly add the server)}
4077 @section Customizable Variables
4082 If this variable is set to nil, Wanderlust starts up in off-line mode from
4085 @item wl-queue-folder
4086 @vindex wl-queue-folder
4087 The initial setting is "+queue".
4088 This is the folder in which messages in the transmission queue are
4091 @item wl-auto-flush-queue
4092 @vindex wl-auto-flush-queue
4093 The initial setting is t.
4094 This flag controls automatic transmission of the queue when Wanderlust
4095 becomes on-line. If non-nil, the queue is automatically transmitted
4096 (with confirmation by @code{y-or-n-p}). If you want to transmit it
4097 manually, press @kbd{F} in the folder mode.
4099 @item elmo-enable-disconnected-operation
4100 @vindex elmo-enable-disconnected-operation
4101 The initial setting is nil. Controls off-line operations regarding IMAP4.
4102 If non-nil, off-line operations are carried out.
4104 @item elmo-lost+found-folder
4105 @vindex elmo-lost+found-folder
4106 The initial setting is "+lost+found".
4107 This is the folder to which messages are saved when they fails to be
4108 appended while the off-line re-file/copy queue is processed.
4110 @item elmo-plugged-condition
4111 @vindex elmo-plugged-condition
4112 The initial setting is 'one.
4113 The value of @code{wl-plugged} reflects the return value of the function
4114 @code{elmo-plugged-p} (without arguments).
4115 This variable @code{elmo-plugged-condition} specifies the condition on
4116 which the return value of (elmo-plugged-p) should be t depending on the
4117 plugged state of each port.
4120 'one : plugged if one or more ports are plugged.
4121 'all : plugged if all ports are plugged.
4122 'independent : reflects wl-plugged (elmo-plugged) regardless of plugged
4123 states of the ports.
4124 function : reflects the return value of the function
4125 functions available per default
4126 'elmo-plug-on-by-servers
4127 : reflects the plugged state of the servers specified by the
4128 variable elmo-plug-on-servers.
4129 'elmo-plug-on-by-exclude-servers
4130 : reflects the plugged state of the servers that are not
4131 in elmo-plug-on-exclude-servers.
4132 elmo-plug-on-exclude-servers defaults to
4135 (system-name)without the domain part)
4140 (setq elmo-plugged-condition 'all)
4142 (setq elmo-plug-on-servers '("smtpserver" "newsserver"))
4143 (setq elmo-plugged-condition 'elmo-plug-on-by-servers)
4145 (setq elmo-plug-on-exclude-servers '("localhost" "myname"))
4146 (setq elmo-plugged-condition 'elmo-plug-on-by-exclude-servers)
4149 @item wl-reset-plugged-alist
4150 @vindex wl-reset-plugged-alist
4151 The initial setting is t. If non-nil, plugged states are initialized on
4152 a per server or port basis when Wanderlust starts up.
4154 If nil, plugged states are retained while Emacs is running.
4155 In other words, they are initialized when Emacs is restarted even if the
4160 @c Expire and Archive
4162 @node Expire and Archive, Scoring, Disconnected Operations, Top
4163 @chapter Automatic Expiration and Archiving of Messages
4164 @cindex Expire and Archive
4167 * Expire:: Expiration and Archiving
4168 * Archive:: Archiving All Messages
4172 @node Expire, Archive, Expire and Archive, Expire and Archive
4174 @cindex Expire Message
4176 Expiration means deletion of old messages which have outlasted a
4177 certain period of time.
4179 @code{wl-expire} supports not only simple deletion, but also moving to
4180 specified archiving folders.
4184 Configure @code{wl-expire-alist} and press @kbd{e} in the folder mode,
4185 or @kbd{M-e} in the summary mode.
4187 @subsection Configuring @code{wl-expire-alist}
4189 An example configuration of @code{wl-expire-alist} is shown below.
4190 Everything in this @code{wl-expire-alist} makes a great difference in
4191 expiration, so be careful.
4192 I advise you to set @code{wl-expire-use-log} to t, especially in the
4196 (setq wl-expire-alist
4197 '(("^\\+trash$" (date 14) remove)
4199 ("^\\+tmp$" (date 7) trash)
4200 ;; @r{re-file to @code{wl-trash-folder}}
4201 ("^\\+outbox$" (number 300) "$outbox;lha")
4202 ;; @r{re-file to the specific folder}
4204 ;; @r{do not expire}
4205 ("^\\+ml/wl$" (number 500 510) wl-expire-archive-number1 t)
4206 ;; @r{archive by message number (retaining numbers)}
4207 ("^\\+ml/.*" (number 300 310) wl-expire-archive-number2 t)
4208 ;; @r{archive by a fixed number (retaining numbers)}
4209 ("^\\+nikki$" (date 30) wl-expire-archive-date)
4210 ;; @r{archive by year and month (numbers discarded)}
4214 Items in the list has the format of:
4217 ("regexp_for_folders" (specification_of_messages_to_be_deleted) destination)
4222 The folder is examined if it matches "regexp_for_folders" from the
4223 beginning of the list. If you invoke expiration on the folder that does
4224 not match any of them, nothing will happen.
4225 And if either the second or the third element of the item is nil,
4226 expiration will not take place.
4228 You can use any one of the following for
4229 specification_of_message_to_be_deleted:
4232 @item (number n1 [n2])
4233 deletes messages depending on the number of messages in the folder.
4235 n1 is the number of messages which should survive deletion, for example
4236 if its value is 500, the newest 500 messages survive and the rests are
4239 n2 is the number of messages in the folder on which expiration should
4240 take place, which defaults to n1 + 1. For example if its value is 510,
4241 folders with 510 or more messages are expired.
4242 If you configured automatic expiration, frequently used folders may
4243 expire every time it receive messages, and you may be annoyed with the
4244 long delay in reading mail.
4245 In that case, you can set a wide margin between n2 and n1, so that
4246 expiration would not take place until a certain number of messages
4249 Messages with marks in @code{wl-summary-expire-reserve-marks} (marked
4250 with important/new/unread) are not deleted.
4251 If @code{wl-expire-number-with-reserve-marks} is non-nil, the folder
4252 will expire so as to have 500 messages including such ones.
4253 Otherwise, it will have 500 messages except such ones.
4256 deletes messages depending on the dates.
4258 Messages dated d1 or more days ago are deleted, for example if its value
4259 is seven, messages seven days old or more are deleted.
4260 Note that the date is the one in the Date field of the message, not when
4261 the message entered the folder.
4263 Messages with no or invalid Date field does not expire; you might have
4264 to delete them by hand.
4267 You can use any one of the following in the place of destination:
4271 deletes the messages instantly.
4274 moves the messages to @code{wl-trash-folder}.
4276 @item string(folder)
4277 moves the messages to the specified folder.
4279 It would be useful for specifying an archiving folder, but because this
4280 does not move important messages, it might be better to use the
4281 standard functions described below.
4284 invokes the specified function.
4286 To the function, three arguments are passed: a folder name, a list of
4287 messages to be deleted, and msgdb information of the summary.
4288 You can specify function-specific arguments after the name of the
4290 Note that the list contains messages with marks in
4291 @code{wl-summary-expire-reserve-marks}, be careful in writing your own
4294 These are three standard functions; they moves messages to an archive
4295 folder in the specified way. This means old messages can be compressed
4296 and saved in a file, being deleted from the original folder.
4299 @item wl-expire-archive-number1
4300 re-files to archiving folders corresponding to the message numbers of
4301 the messages being deleted.
4302 For example, a message numbered 102 will be re-filed to
4303 @file{wl-00100.zip}, 390 to @file{wl-00300.zip}, and so on.
4304 If @code{wl-expire-archive-files} is 200, messages will be re-filed to
4305 @file{wl-00000.zip}, @file{wl-00200.zip}, @file{wl-00400.zip}, @dots{}.
4307 The archiving folders to which messages are re-filed are determined by
4308 the name of the folder as follows
4309 (in this case, archiving folders are handled as if
4310 @code{elmo-archive-treat-file} were non-nil).
4313 @item If the folder type is localdir:
4315 @code{$ArchiveDir/foldername-xxxxx.zip}
4316 For example, @samp{+ml/wl} corresponds to @samp{$ml/wl;zip}
4317 (@file{~/Mail/ml/wl-00100.zip}).
4319 @item The folder type is other than localdir:
4320 @code{$ArchiveDir/foldertype/foldername-xxxxx.zip}
4322 For example, @samp{%#mh/ml/wl} corresponds to
4323 @samp{$imap4/#mh/ml/wl;zip} (@file{~/Mail/imap4/#mh/ml/wl-00100.zip}).
4326 As you can see, in the case of localdir, the folder type is not included
4327 in the path name, but otherwise it is included.
4328 And you can control the prefix to the archiving folder name by
4329 @code{wl-expire-archive-folder-prefix}.
4330 Refer to @code{wl-expire-archive-folder-prefix} for details.
4332 @item wl-expire-archive-number2
4333 re-files every certain number of messages to archiving folders.
4335 This differs from @samp{wl-expire-archive-number1} in that this re-files
4336 to the folder up to the specified number regardless of message numbers.
4337 The archiving folders to which messages are re-filed are determined in the
4338 same way as @code{wl-expire-archive-number1}.
4340 @item wl-expire-archive-date
4341 re-files messages depending on its date (year and month) to archive
4344 For example, a message dated December 1998 is re-filed to
4345 @code{$folder-199812;zip}.
4346 The name of the archiving folders except the date part are determined in
4347 the same way as @code{wl-expire-archive-number1}.
4350 You can set the first argument to these three standard functions to non-nil
4351 in @code{wl-expire-alist} so as to retain message numbers in the folder.
4352 For example, it can be specified just after the name of the function:
4355 ("^\\+ml/wl$" (number 300 310) wl-expire-archive-number1 t)
4358 If you omit the argument, consecutive numbers from 1 are assigned for
4359 each archiving folder.
4362 @subsection Treatment for Important or Unread Messages
4364 If you specify any of 'remove, 'trash, a folder name, or a standard
4365 function, messages with marks in @code{wl-summary-expire-reserve-marks}
4366 (which are called @dfn{reserved messages} thereafter) are retained.
4368 Per default, this variable include the important, new, and unread marks,
4369 so that messages with these marks are not removed.
4370 Note that you cannot include the temporary mark (i.e. temporary marks
4371 are removed anyway), and be sure to process temporary marks before you
4374 @subsection Auto Expiration
4376 The following setup invokes expiration when you move into the summary
4377 mode. There will be no confirmation, so make sure you made no mistake
4378 in regexp and other settings before you set up this.
4381 (add-hook 'wl-summary-prepared-pre-hook
4385 In the folder mode, you can invoke expiration per group as well as per
4386 folder. Therefore, if you specify @samp{Desktop} group, all folders
4387 matching @code{wl-expire-alist} expire.
4391 @subsection Treating archive folders.
4392 To treat archive folders created by @code{wl-expire-archive-number1} and so on,
4393 you must set non-nil value to @code{elmo-archive-treat-file}.
4395 @subsection Confirming
4397 If you are to use 'remove, try 'trash at first and see messages move to
4398 @code{wl-trash-folder} as expected, then replace it with 'remove.
4399 It would be dangerous to use 'remove from the beginning.
4401 If you are to use @code{wl-expire-archive-number1} and the like, try to
4402 make a folder of the archiver type ('zip or 'lha) and see if you can
4403 append messages to it.
4404 Even if settings in @code{wl-expire-alist} and @code{elmo-archive} are
4405 correct, messages would not be saved anywhere and disappeared in case
4406 the archiver program fails.
4408 After you make sure you can archive to the folder correctly, you can
4409 invoke expiration and utilize the log.
4411 If you set @code{wl-expire-use-log} to t, @file{~/.elmo/expired-log}
4412 should contain the log, for example:
4415 delete +ml/wl (593 594 595 596 597 598 599)
4416 move +ml/wl -> $ml/wl-00600;tgz;wl (600 601 602)
4419 The first column indicates the operation, i.e. delete, copy, or move.
4420 The next is the name of the folder that expired. In the case of copy
4421 and move, the destination folder is recorded after @samp{->}.
4422 The last is the list of message numbers that are actually deleted or
4423 moved (in the case of copy and move, the number is the one in the source
4424 folder, rather than the destination folder).
4426 @subsection Re-filing Reserved Messages
4428 The three standard functions copy reserved messages to the archive
4429 folder, but do not delete them from the source folder. Because
4430 reserved messages and the like always remain, they are recorded in
4431 @file{~/.elmo/expired-alist} so that they are not copied over and over
4432 again. They are not recorded if copied by @code{wl-summary-archive}.
4434 If you enabled logging, usually "move" is recorded for re-filing, but
4435 instead "copy" and "delete" are recorded separately if reserved messages
4437 This is because it actually copies messages including reserved, then
4438 deletes ones except reserved in that case.
4440 @section Customizable Variables
4443 @item wl-expire-alist
4444 @vindex wl-expire-alist
4445 The initial setting is nil.
4446 This variable specifies folders and methods to expire. For details,
4447 refer to @code{wl-expire-alist} settings above.
4449 @item wl-summary-expire-reserve-marks
4450 @vindex wl-summary-expire-reserve-marks
4451 The initial setting is the list below.
4454 (list wl-summary-important-mark
4456 wl-summary-unread-mark
4457 wl-summary-unread-uncached-mark
4458 wl-summary-unread-cached-mark)
4461 Messages with these marks are retained in the folder, even after
4463 Only permanent marks can be listed, not temporary marks.
4465 You can list marks one by one as in the default; you can use the
4466 following settings as well:
4470 All messages with permanent marks are retained,
4471 i.e. @code{wl-summary-read-uncached-mark} is included in addition to the
4475 All messages are handled as usual ones that are already read, no matter
4476 what marks they have; even important messages are deleted.
4479 @item wl-expire-archive-files
4480 @vindex wl-expire-archive-files
4481 The initial setting is 100.
4482 This variable specifies the number of messages to be retained in one
4485 @item wl-expire-number-with-reserve-marks
4486 @vindex wl-expire-number-with-reserve-marks
4487 The initial setting is nil.
4488 If non-nil, if expiring messages are specified by "number", messages
4489 with @code{wl-summary-expire-reserve-marks} are also retained.
4491 @item wl-expire-archive-get-folder-func
4492 @vindex wl-expire-archive-get-folder-func
4493 The initial setting is 'wl-expire-archive-get-folder.
4495 This variable specifies a function that returns the name of an archiving
4496 folder for standard functions in the place of destination.
4497 You can use the following three variables for simple modification of
4498 folder names; if you want more complex settings, define your own
4499 function in this variable.
4501 @code{wl-expire-archive-get-folder} can be customized by these
4504 @item wl-expire-archive-folder-name-fmt
4505 @item wl-expire-archive-folder-type
4506 @item wl-expire-archive-folder-prefix
4509 @item wl-expire-archive-folder-name-fmt
4510 @vindex wl-expire-archive-folder-name-fmt
4511 The initial setting is "%s-%%05d;%s".
4512 This is a format string for archiving folders used in
4513 @code{wl-expire-archive-number1} and @code{wl-expire-archive-number2}.
4514 Note that you must specify the message number by @samp{%%d}, because it
4515 is parsed twice by @code{format}.
4517 If you modify this, adjust @code{wl-expire-archive-folder-num-regexp} as
4520 @item wl-expire-archive-date-folder-name-fmt
4521 @vindex wl-expire-archive-date-folder-name-fmt
4522 The initial setting is "%s-%%04d%%02d;%s".
4523 This is a format string for archiving folders used in
4524 @code{wl-expire-archive-date}.
4525 Note that you must specify the message number by @samp{%%d}, because it
4526 is parsed twice by @code{format}.
4527 There should be @code{%%d} twice, one for the year and the other for the
4530 If you modify this, adjust
4531 @code{wl-expire-archive-date-folder-num-regexp} as well.
4533 @item wl-expire-archive-folder-type
4534 @vindex wl-expire-archive-folder-type
4535 The initial setting is 'zip.
4536 This variable specifies an archiver type of the archiving folders.
4538 @item wl-expire-archive-folder-prefix
4539 @vindex wl-expire-archive-folder-prefix
4540 The initial setting is nil.
4541 This variable specifies the prefix (directory structure) to archiving
4543 Exercise extreme caution in using this feature, as it has not been
4545 In the worst case, there is a fear of destructing archiving folders.
4549 There will be no prefix.
4552 For example, @samp{+ml/wl} will be prefixed by @samp{wl}, resulting in
4553 @samp{$ml/wl-00000;zip;wl}.
4556 For example, @samp{+ml/wl} will be prefixed by prefix @samp{ml/wl},
4559 @samp{$ml/wl-00000;zip;ml/wl}.
4562 @item wl-expire-archive-folder-num-regexp
4563 @vindex wl-expire-archive-folder-num-regexp
4564 The initial setting is "-\\([-0-9]+\\);".
4565 This variable specifies the regular expression to be used for getting
4566 message numbers from multiple archiving folders specified by
4567 @code{elmo-list-folders}.
4568 Set it in accordance with @code{wl-expire-archive-folder-name-fmt}.
4570 @item wl-expire-archive-date-folder-num-regexp
4571 @vindex wl-expire-archive-date-folder-num-regexp
4572 The initial setting is "-\\([-0-9]+\\);".
4573 This is the regular expression to be used for getting message numbers
4574 from multiple archiving folders specified by @code{elmo-list-folders}.
4575 Set it in accordance with @code{wl-expire-archive-date-folder-name-fmt}.
4577 @item wl-expire-delete-oldmsg-confirm
4578 @vindex wl-expire-delete-oldmsg-confirm
4579 The initial setting is t.
4580 If non-nil, messages older than the one with the largest number will be
4581 deleted with confirmation.
4582 If nil, they are deleted without confirmation.
4584 This feature is valid only if non-nil is specified as a argument to the
4585 standard functions so as to retain numbers.
4587 @item wl-expire-use-log
4588 @vindex wl-expire-use-log
4589 The initial setting is nil.
4590 If non-nil, expiration logs are recorded in @file{~/.elmo/expired-log}.
4591 They are appended but not truncated or rotated automatically; you might
4592 need to remove it manually.
4594 @item wl-expire-add-seen-list
4595 @vindex wl-expire-add-seen-list
4596 The initial setting is t.
4598 If non-nil, when messages are re-filed by expiration, read/unread
4599 information is passed to the destination folder.
4601 However if you do not read the destination folder from Wanderlust,
4602 @file{seen} under @file{~/.elmo/} grows larger and larger, so you might
4603 want to set this to nil if you are simply saving to some archiving
4604 folders. Even if its value is nil, messages in the archiving folders
4605 are simply treated as unread; it does not affect expiration itself.
4607 @item wl-expire-folder-update-msgdb
4608 @vindex wl-expire-folder-update-msgdb
4609 The initial setting is t.
4610 If t, in the folder mode, expiration is carried out after updating
4611 summary information.
4612 If you specified a list of regular expressions of folder names, summary
4613 information is updated for matching folders only.
4617 @node Archive, , Expire, Expire and Archive
4618 @section Archiving Messages
4620 @subsection Archiving Messages
4621 @kbd{M-x wl-summary-archive} copies the whole folder to archiving
4622 folders. If there are the archiving folders already, only new messages
4625 You can use @code{wl-archive-alist} in order to specify how messages are
4626 archived according to their folder names, as in @code{wl-expire-alist}.
4630 (setq wl-archive-alist
4631 '(("^\\+tmp$" wl-archive-date)
4632 ("^\\+outbox$" wl-archive-number2)
4633 (".*" wl-archive-number1)
4637 Each item in the list has the following format:
4640 ("folders_regexp" deleting_function)
4643 As you can see, you can only use a function after @samp{folders_regexp}.
4644 Per default, there are three functions:
4647 @item wl-archive-number1
4648 @item wl-archive-number2
4649 @item wl-archive-date
4652 As inferred from their names, they work similarly to "expire" versions,
4653 other than the following points:
4656 @item No messages are deleted
4657 @item Message numbers are retained even if invoked without arguments
4660 These functions are good to archive all messages in a folder by their
4661 numbers or by their dates.
4662 These are also useful for backup or confirmation purposes before
4664 If you try to re-file them after they are archived, they are deleted but
4667 Per default, the archiving folders to which messages are copied are
4668 determined automatically by @code{wl-expire-archive-get-folder-func}.
4669 You can copy to a specific folder by invoking with a prefix argument,
4670 i.e. @kbd{C-u M-x wl-summary-archive}.
4672 Note that this feature has not been seriously tested, because you can
4673 simply copy to an archiving folder, for example by
4674 @code{wl-summary-copy-region}.
4676 The archiving folders are determined by the same logic as in
4677 @code{wl-summary-expire}; the following customizable variables are
4681 @item wl-expire-archive-files
4682 @item wl-expire-archive-get-folder-func
4683 @item wl-expire-archive-folder-name-fmt
4684 @item wl-expire-archive-folder-type
4685 @item wl-expire-archive-folder-prefix
4686 @item wl-expire-archive-folder-num-regexp
4689 @subsection Customizable Variables
4692 @item wl-archive-alist
4693 @vindex wl-archive-alist
4694 The initial setting is '((".*" wl-archive-number1)).
4696 This variable specifies a function that copies to archiving folders.
4697 To the function, three arguments are passed: a folder name, a list of
4698 messages in the folder, and msgdb information of the summary.
4699 Needless to say, you can use your own function.
4706 @node Scoring, Customization, Expire and Archive, Top
4707 @chapter Score of the Messages
4709 @c @cindex Kill File
4711 Scoring is the function that associates a score (value) with each
4712 message, and marks as read or deletes from the summary according to it.
4714 You can put temp or important marks on essential messages, or read marks
4715 on the ones you do not want to read, for example spam articles.
4717 This scoring function has a capability and a format similar to the one
4718 that Gnus has, although there are some unsupported features and
4719 Wanderlust specifics.
4722 * Score Commands:: Score Commands
4723 * Score File Format:: Score File Format
4727 @node Score Commands, Score File Format, Scoring, Scoring
4728 @section Score Commands
4729 @cindex Score Commands
4731 @subsection Score File Specification
4733 @code{wl-score-folder-alist} specifies score files or variables in which
4734 scores are defined, corresponding to folder names.
4737 (setq wl-score-folder-alist
4745 If paths to the score files are omitted, the directory specified in the
4746 variable @code{wl-score-files-dir} is assumed.
4748 No matter what you write in @code{wl-score-folder-alist}, the default
4749 score file @code{wl-score-default-file} (@file{all.SCORE}) is always
4750 read (it does not have to exist).
4751 Therefore, in the example above, the three score files,
4752 @file{news.SCORE}, @file{my.SCORE}, and @file{all.SCORE} are read for
4753 the folders that matches @samp{^-.*}.
4755 @subsection Scored Messages
4757 Scores are attached to the messages that are specified by
4758 @code{wl-summary-score-marks} temporarily when the summary is updated;
4759 when you exit from the summary, the scores are removed and reverts to
4762 @subsection Creation of Score Files
4764 In the summary buffer, move to an appropriate message and type @kbd{L}.
4765 Then type @kbd{s}, @kbd{s}, and @kbd{p} at a prompt in a mini-buffer.
4766 The string in Subject is presented. Edit it and press @kbd{@key{RET}}.
4768 This makes -1000 are scored for messages with the same Subject as the
4769 string you entered. That is, such a score file is created
4772 Then, try typing @kbd{h} and @kbd{e} in the same summary buffer.
4773 The score file you just made appears.
4774 This buffer is called "score editing buffer" thereafter.
4775 When you type @kbd{C-c C-e} in it, you are prompted in the mini-buffer
4776 as you are previously; type @kbd{a}. Then a score entry for "From"
4778 In this way, you can create a score file easily either in the summary
4779 buffer or in the score editing buffer.
4781 By the way, you might be aware the numbers of key strokes are different
4782 between @kbd{s s p} and @kbd{a}.
4783 This is determined by @code{wl-score-header-default-entry}.
4784 This variable specifies the default score entries corresponding to
4786 For example, for "subject" field, a type and a time limit are prompted,
4787 but for "from" field, they are fixed upon automatically as substring and
4788 permanent respectively.
4789 However, score values can be modified by the prefix argument.
4790 Typing @kbd{?} at the mini-buffer shows a help on keys and corresponding
4793 At last, type @kbd{C-c C-c} in the score editing buffer. This saves the
4794 score file and terminates the edit mode. Typing @kbd{C-c C-c} after
4795 erasing contents of the buffer deletes the score file being edited.
4799 @subsubsection Selecting Score Files
4801 You can change score files to which scores are appended by
4802 @code{wl-summary-increase-score} and @code{wl-summary-lower-score} by
4803 @code{wl-score-change-score-file}.
4805 @subsubsection Summing Up the Score
4807 If you add the same entries by @code{wl-summary-increase-score},
4808 @code{wl-summary-lower-score}, and @code{wl-score-edit-insert-entry},
4809 scores for the entry is summed up.
4811 For example, if you create @samp{from} entry with the score of -1000 by
4812 @kbd{L a} and again @samp{from} with -200, one entry with the score of
4813 -1200 will be created as a result.
4815 @subsubsection Creating Thread Key
4817 Creating @samp{Thread} key by @code{wl-summary-increase-score} or
4818 @code{wl-summary-lower-score} appends @samp{Message-ID} of all children.
4820 @subsubsection Creating Followup Key
4822 Creating @samp{Followup} key by @code{wl-summary-increase-score} or
4823 @code{wl-summary-lower-score} appends @samp{Message-ID} of the message
4824 at the cursor to @samp{References} key.
4825 If @code{wl-score-auto-make-followup-entry} is non-nil,
4826 @samp{Message-ID} of all messages to be followed up within dates
4827 specified by @code{wl-score-expiry-days}.
4829 @subsection Key Bindings
4834 @findex wl-summary-increase-score
4835 Increases the score for the current message.
4836 And the score entry is appended to the score file at the same moment.
4837 You can specify the score value by a prefix argument.
4841 @findex wl-summary-lower-score
4842 Decreases the score for the current message.
4843 And the score entry is appended to the score file at the same moment.
4844 You can specify the score value by a prefix argument.
4847 @kindex h R (Summary)
4848 @findex wl-summary-rescore
4849 Re-applies the scoring.
4850 However, already scored messages are not scored anew.
4853 @kindex h c (Summary)
4854 @findex wl-score-change-score-file
4855 Changes the score file currently selected.
4858 @kindex h e (Summary)
4859 @findex wl-score-edit-current-scores
4860 Edits the score file currently selected.
4861 If there are multiple score files, the previously specified one is
4865 @kindex h f (Summary)
4866 @findex wl-score-edit-file
4867 Edits an arbitrary score file and selects it.
4870 @kindex h F (Summary)
4871 @findex wl-score-flush-cache
4872 Erases caches associated to the score files that are read.
4873 If you modified score files directly (from other than Wanderlust), you
4874 need to re-read them after erasing the cache.
4877 @kindex h m (Summary)
4878 @findex wl-score-set-mark-below
4879 Specifies the criterion for scores to be marked as read.
4880 Messages with scores less than this value are marked as read.
4883 @kindex h x (Summary)
4884 @findex wl-score-set-expunge-below
4885 Specifies the criterion for scores to be deleted from the summary.
4886 Messages with scores less than this value are deleted.
4887 "Deleted" means it is not shown; they are not removed from the summary
4888 information or the folder.
4889 The deleted messages can be shown by rescan-noscore again.
4892 @subsection Key Bindings in the Score Editing Buffer
4896 @kindex C-c C-k (Score Mode)
4897 @findex wl-score-edit-kill
4898 Abandons the file being edited.
4901 @kindex C-c C-c (Score Mode)
4902 @findex wl-score-edit-exit
4903 Saves the file being edited, and quits from the edit mode.
4906 @kindex C-c C-p (Score Mode)
4907 @findex wl-score-pretty-print
4911 @kindex C-c C-d (Score Mode)
4912 @findex wl-score-edit-insert-date
4913 Inserts the number of dates from Dec. 31, 1 B.C.
4914 It is used for creating the third factor of time-limited scores.
4917 @kindex C-c C-s (Score Mode)
4918 @findex wl-score-edit-insert-header
4919 Inserts the header of the message selected in the summary buffer.
4922 @kindex C-c C-e (Score Mode)
4923 @findex wl-score-edit-insert-entry
4924 Inserts the score entry of the message selected in the summary buffer.
4927 @subsection Customizable Variables
4930 @item wl-summary-default-score
4931 @vindex wl-summary-default-score
4932 The initial setting is zero.
4933 This variable specifies the default value of the score.
4934 The score is increased or decreased based upon this value.
4936 @item wl-summary-important-above
4937 @vindex wl-summary-important-above
4938 The initial setting is nil.
4939 Messages with scores larger than this value are attached with the
4940 important mark (@samp{$}).
4941 If nil, no important marks are attached.
4943 @item wl-summary-temp-above
4944 @vindex wl-summary-temp-above
4945 The initial setting is nil.
4946 Messages with scores larger than this value are attached with the temp
4948 If nil, no temp marks are attached.
4950 @item wl-summary-mark-below
4951 @vindex wl-summary-mark-below
4952 The initial setting is zero.
4953 Messages with scores smaller than this value are marked as read.
4955 @item wl-summary-expunge-below
4956 @vindex wl-summary-expunge-below
4957 The initial setting is nil.
4958 Messages with scores smaller than this value are deleted from the
4960 If nil, they are not deleted.
4962 @item wl-summary-score-marks
4963 @vindex wl-summary-score-marks
4964 The initial setting is '("N" "!" "U").
4965 Messages with these marks are scored.
4967 @item wl-use-scoring
4968 @vindex wl-use-scoring
4969 The initial setting is t.
4970 If non-nil, scoring is enabled.
4972 @item wl-score-files-dir
4973 @vindex wl-score-files-dir
4974 The initial setting is "~/.elmo/".
4975 The default directory for score files.
4977 @item wl-score-interactive-default-score
4978 @vindex wl-score-interactive-default-score
4979 The initial setting is 1000.
4980 This value is used as a score when a score factor is nil in the score
4982 It is also used in @code{wl-summary-increase-score} and
4983 @code{wl-summary-lower-score}, on condition that the value of
4984 @code{wl-score-header-default-entry} is nil.
4986 @item wl-score-expiry-days
4987 @vindex wl-score-expiry-days
4988 The initial setting is 7.
4989 This is the number of days before time-limited scores are deleted.
4991 @item wl-score-update-entry-dates
4992 @vindex wl-score-update-entry-dates
4993 The initial setting is t.
4994 If non-nil, it enables deletion of time-limited scores.
4996 @item wl-score-header-default-entry
4997 @vindex wl-score-header-default-entry
4998 Specifies the default value for each header field for score entries
4999 created by @code{wl-summary-increase-score},
5000 @code{wl-summary-lower-score}, and @code{wl-score-edit-insert-entry}.
5002 @item wl-score-simplify-fuzzy-regexp
5003 @vindex wl-score-simplify-fuzzy-regexp
5004 In the case of a type of a score entry is "fuzzy", this specifies a
5005 regular expression to be deleted from the string.
5006 Because this is usually used for Subject, the default is prefixes that
5007 are attached by mailing list programs.
5009 @item wl-summary-rescore-partial-threshold
5010 @vindex wl-summary-rescore-partial-threshold
5011 The initial setting is 200.
5012 When sync-all or rescan is executed, if there are messages more than
5013 this value, only the last same number of messages as this value are
5016 @item wl-summary-auto-sync-marks
5017 @vindex wl-summary-auto-sync-marks
5018 If non-nil, unread/important marks are synchronized when the summary
5020 Unread marks reflect information on the IMAP4 server.
5021 Important marks reflect information on the IMAP4 server (flagged or
5022 not), and contents of 'mark folder.
5023 The initial setting is t.
5027 @node Score File Format, , Score Commands, Scoring
5028 @section Score File Format
5029 @cindex Score File Format
5031 The format of score files are the same as Gnus, and basically you can
5032 use Gnus score files as they are. But they are not fully compatible
5033 because some keys are not supported and there are Wanderlust specifics.
5037 ("for sale" -1000 nil s)
5038 ("profit" -1000 nil s))
5040 ("spam@@spamspamspam" -10000 nil s))
5042 ("my@@address" 3001 nil s))
5044 (1000000 -10 nil >))
5053 If the key is a string, it is the name of the header to be matched.
5054 The following keys are available:
5055 @code{Subject}, @code{From}, @code{Date}, @code{Message-ID},
5056 @code{References}, @code{To}, @code{Cc}, @code{Chars}, @code{Lines},
5057 @code{Xref}, @code{Extra}, @code{Followup}, @code{Thread}
5058 @code{Chars} and @code{Lines} mean the size and the number of lines of
5059 the message, respectively. @code{Extra}, @code{Followup}, @code{Thread}
5060 are described later.
5061 The rest corresponds the field of the same name.
5063 Arbitrary numbers of core entries are specified after the key.
5064 Each score entry consists of these five factors:
5068 A factor that matches header. This should be a number in the cases of
5069 "lines" and "chars", otherwise a string.
5072 A score factor. When the first item matches, the score of the message
5073 is increased or decreased by this value.
5076 A time limiting factor. If nil, the score is permanent, and in the case
5077 of a number, the score is deleted if it does not match for days
5078 (@code{wl-score-expiry-days}) from the date specified by this.
5079 The date is since Dec. 31, 1 B.C.
5082 A type factor. This specifies the way the first factor matches.
5083 Available types depend on keys.
5086 @item From, Subject, References, Message-ID
5087 For these keys in string, @code{r} and @code{R} (regexp),
5088 @code{s} and @code{S} (substring), @code{e} and @code{E} (exact match),
5089 as well as @code{f} and @code{F} (fuzzy) can be used.
5090 @code{R}, @code{S}, @code{E}, and @code{F} are case sensitive.
5093 For these keys, the following five numerical relative operators can be
5094 used: @code{<}, @code{>}, @code{=}, @code{>=}, @code{<=}.
5097 This key matches @code{From} header, and scores all follow-ups to the
5099 For example, it would be useful for increasing scores for follow-ups to
5102 You can use the same types as @code{From} except for @code{f}.
5103 And a @samp{Followup} entry is automatically appended to the score file.
5106 This key scores (sub-)threads beginning with @code{Message-ID} @var{x}.
5107 A @samp{Thread} entry is automatically appended for each article that
5108 has @var{x} in the @code{References} header.
5109 You can make sure the whole thread including messages that does not have
5110 all ancestors @code{Message-ID} in @code{References} is scored.
5112 You can use the same types as @code{References} except for @code{f}.
5113 And a @samp{Thread} entry is automatically appended to the score file.
5117 A factor for extension header. This is meaningful only if the key is
5119 This specifies headers to be matched other than standard headers like
5120 @code{Subject} and @code{From}.
5121 Note that you should specify the header in
5122 @code{elmo-msgdb-extra-fields} also.
5123 Therefore it does not work in folders where extension headers cannot be
5128 The sum of these scores @emph{after all factors are applied} becomes the
5129 score of the message.
5131 @cindex Score File Atoms
5133 Messages with a score less than this value is marked as read.
5134 The default is @code{wl-summary-mark-below}.
5137 Messages with a score less than this value is deleted from the summary.
5138 The default is @code{wl-summary-expunge-below}.
5140 @item mark-and-expunge
5141 Both @code{mark} and @code{expunge} are applied,
5142 i.e. messages with a score less than this value is marked as read and
5143 deleted from the summary.
5146 Messages with a score greater than this value is attached with temp
5148 The default is @code{wl-summary-temp-above}.
5151 Messages with a score greater than this value is attached with important
5153 The default is @code{wl-summary-important-above}.
5158 Not to mention the @code{extra} key, if @code{lines} or @code{xref} keys
5159 are used, you need to set @code{elmo-msgdb-extra-fields}.
5162 (setq elmo-msgdb-extra-fields '("lines" "xref"))
5165 There are other restrictions as shown below:
5168 @item Because @samp{References} field in the summary information
5169 contains only the last @samp{Message-ID}, @code{references} key matches
5173 Keys that can be seen by folder of types:
5176 chars lines xref extra
5177 localdir,localnews Y E E E
5178 nntp (supporting xover) Y E E N
5184 N: cannot be seen (ignored)
5185 E: can be seen with @code{elmo-msgdb-extra-fields} settings
5192 @node Customization, Mailing List, Scoring, Top
5193 @chapter Customizing Wanderlust
5194 @cindex Customization
5197 * Living with other packages:: Living with other packages
5198 * Highlights:: Highlights
5199 * Advanced Settings:: Advanced Settings
5200 * Customizable Variables:: Customizable Variables
5204 @node Living with other packages, Highlights, Customization, Customization
5205 @section Living with other packages
5207 Examples with other packages.
5211 * supercite:: supercite.el
5212 * mu-cite:: mu-cite.el
5213 * x-face-mule:: x-face-mule.el
5214 * dired-dd:: dired-dd.el
5218 @node BBDB, supercite, Living with other packages, Living with other packages
5222 Place @file{util/bbdb-wl.el} on the load-path and do the following
5225 If BBDB is on the load-path at the installation, @file{bbdb-wl.el} is
5226 byte-compiled and installed.
5233 ;; @r{enable pop-ups}
5234 (setq bbdb-use-pop-up t)
5235 ;; @r{auto collection}
5236 (setq bbdb/mail-auto-create-p t)
5237 (setq signature-use-bbdb t)
5238 (setq bbdb-north-american-phone-numbers-p nil)
5239 ;; @r{shows the name of bbdb in the summary} :-)
5240 (setq wl-summary-from-func 'bbdb-wl-from-func)
5241 ;; @r{automatically add mailing list fields}
5242 (add-hook 'bbdb-notice-hook 'bbdb-auto-notes-hook)
5243 (setq bbdb-auto-notes-alist '(("X-ML-Name" (".*$" ML 0))))
5246 @node supercite, mu-cite, BBDB, Living with other packages
5247 @subsection sc.el(supercite), sc-register.el
5251 The same setting as usual mailers should be OK. The following is an
5252 example of settings.
5255 (autoload 'sc-cite-original "sc" nil t)
5256 (setq mail-yank-hooks 'sc-cite-original)
5257 (setq sc-preferred-header-style 1)
5258 (setq sc-electric-references-p nil)
5259 (setq sc-citation-leader "")
5260 (setq sc-load-hook '(lambda () (require 'sc-register)))
5261 (setq sc-preferred-attribution 'registeredname)
5265 @node mu-cite, x-face-mule, supercite, Living with other packages
5266 @subsection mu-cite.el
5269 The same setting as usual mailers should be OK. The following is an
5270 example of settings.
5272 If you use mu-cite version 8.0 or earlier:
5275 (autoload 'mu-cite/cite-original "mu-cite" nil t)
5276 (setq mail-citation-hook 'mu-cite/cite-original)
5279 If you use mu-cite version 8.1 or later:
5282 (autoload 'mu-cite-original "mu-cite" nil t)
5283 (add-hook 'mail-citation-hook (function mu-cite-original))
5286 @node x-face-mule, dired-dd, mu-cite, Living with other packages
5287 @subsection x-face-mule.el
5291 It depends on the version of x-face-mule.
5292 If you use x-face-mule 0.19 or older, do the following:
5295 (setq wl-highlight-x-face-func
5298 (x-face-mule:x-face-decode-message-header))))
5300 If you use x-face-mule 0.20 or later, try the following.
5302 (setq wl-highlight-x-face-func
5305 (x-face-mule-x-face-decode-message-header))))
5306 (require 'x-face-mule)
5309 Use these settings when you use @file{x-face-mule.el} attached to
5310 bitmap-mule 8.0 or later.
5313 (autoload 'x-face-decode-message-header "x-face-mule")
5314 (setq wl-highlight-x-face-func
5315 (function x-face-decode-message-header))
5318 If there is an encoded X-Face string in a file @file{~/.xface} (the value
5319 of the variable @code{wl-x-face-file}), it is inserted as a X-Face field
5320 in the draft buffer (if @code{wl-auto-insert-x-face} is non-nil).
5323 @node dired-dd, , x-face-mule, Living with other packages
5324 @subsection dired-dd(Dired-DragDrop)
5325 @pindex Dired-DragDrop
5327 @cindex Drag and Drop
5329 If you embed @file{dired-dd-mime.el} in the dired-dd package, you can
5330 compose multi-part by simple Drag&Drop from dired to the draft buffer
5331 being edited in GNU Emacs (this feature is not Wanderlust specific, but
5332 general-purpose for tm/SEMI).
5335 ;; @r{dired-dd:} http://www.asahi-net.or.jp/~pi9s-nnb/dired-dd-home.html
5341 ;; @r{Set dired-x variables here.}
5342 ;; @r{To and flo@dots{}}
5344 (progn (require 'dired-dd)
5345 (require 'dired-dd-mime))))))
5349 @node Highlights, Advanced Settings, Living with other packages, Customization
5352 @subsection Customizable Variables
5355 @item wl-summary-highlight
5356 @vindex wl-summary-highlight
5357 The initial setting is t.
5358 If non-nil, the summary is highlighted.
5360 @item wl-highlight-max-summary-lines
5361 @vindex wl-highlight-max-summary-lines
5362 The initial setting is 10000.
5363 The summary is not highlighted if it has more lines than this value.
5365 @item wl-summary-highlight-partial-threshold
5366 @vindex wl-summary-highlight-partial-threshold
5367 The initial setting is 1000.
5368 This is a threshold whether the whole summary is highlighted.
5369 If there are more lines of messages in the summary, it is partially
5372 @item wl-summary-partial-highlight-above-lines
5373 @vindex wl-summary-partial-highlight-above-lines
5374 The initial setting is 30.
5375 If there are more lines of messages than
5376 @code{wl-summary-highlight-partial-threshold} in the summary, messages
5377 after the point that is the same number of lines as this value above the
5378 cursor line are highlighted partially.
5379 (If this value is nil, the last same number of lines as the value of
5380 @code{wl-summary-highlight-partial-threshold} are highlighted.)
5382 @item wl-highlight-body-too
5383 @vindex wl-highlight-body-too
5384 The initial setting is t.
5385 If non-nil, bodies of drafts and messages are also highlighted.
5387 @item wl-highlight-message-header-alist
5388 @vindex wl-highlight-message-header-alist
5389 When highlighting headers of drafts and messages, this variable
5390 specifies which faces are allocated to important
5391 (@code{wl-highlight-message-important-header-contents}), secondly
5392 important (@code{wl-highlight-message-important-header-contents2}), and
5393 unimportant (@code{wl-highlight-message-unimportant-header-contents})
5395 Similarly, it can be used for allocating arbitrary faces to arbitrary
5396 regular expressions.
5398 @item wl-highlight-citation-prefix-regexp
5399 @vindex wl-highlight-citation-prefix-regexp
5400 Specifies a regular expression to which quoted lines in bodies of
5401 drafts and messages match.
5402 Bodies matching to this regular expression are highlighted by the faces
5403 specified by (@code{wl-highlight-message-cited-text-*}).
5405 @item wl-highlight-highlight-citation-too
5406 @vindex wl-highlight-highlight-citation-too
5407 The initial setting is nil.
5408 If non-nil, the quoting regular expression itself given by
5409 @code{wl-highlight-citation-prefix-regexp} is also highlighted.
5411 @item wl-highlight-citation-header-regexp
5412 @vindex wl-highlight-citation-header-regexp
5413 Specifies a regular expression that denotes beginning of quotation.
5414 Bodies matching to this regular expression are highlighted by the face
5415 specified by @code{wl-highlight-message-headers}.
5417 @item wl-highlight-max-message-size
5418 @vindex wl-highlight-max-message-size
5419 The initial setting is 10000.
5420 If a message is larger than this value, it will not be highlighted.
5421 With this variable, highlight is suppressed for uuencode or huge digest
5424 @item wl-highlight-signature-separator
5425 @vindex wl-highlight-signature-separator
5426 Specifies regular expressions that denotes the boundary of a signature.
5427 It can be a regular expression, or a list of ones.
5428 Messages after the place that matches this regular expression are
5429 highlighted by the face specified by
5430 @code{wl-highlight-message-signature}.
5432 @item wl-max-signature-size
5433 @vindex wl-max-signature-size
5434 The initial setting is 400.
5435 This is the largest size for a signature to be highlighted.
5437 @item wl-use-highlight-mouse-line
5438 @vindex wl-use-highlight-mouse-line
5439 The initial setting is t.
5440 If non-nil, the line pointed by the mouse is highlighted in the folder
5441 mode, summary mode, and the like.
5444 @subsection Setting Colors and Fonts of the Characters
5446 If you want to change colors or fonts of the characters, you need to
5447 modify faces defined in Wanderlust. Use set-face-font if you want to
5448 change fonts, and set-face-foreground for colors, and so on.
5449 You cannot write face settings in @file{.emacs}; write in @file{~/.wl}.
5451 For example, if you want to change the color for signatures to yellow,
5455 (set-face-foreground 'wl-highlight-message-signature "yellow")
5461 Faces defined in Wanderlust:
5464 @item wl-highlight-message-headers
5465 The face for field names of message headers.
5467 @item wl-highlight-message-header-contents
5468 The face for field bodies of message headers.
5470 @item wl-highlight-message-important-header-contents
5471 The face for important parts of message headers.
5472 Per default, this face is used for a body of Subject field.
5473 You can change its value by editing
5474 @code{wl-highlight-message-header-alist}.
5476 @item wl-highlight-message-important-header-contents2
5477 The face for secondly important parts of message headers.
5478 Per default, this face is used for bodies of From and To fields.
5479 You can change its value by editing
5480 @code{wl-highlight-message-header-alist}.
5482 @item wl-highlight-message-unimportant-header-contents
5483 The face for unimportant parts of message headers.
5484 Per default, this face is used for bodies of X- fields User-Agent fields.
5485 You can change its value by editing
5486 @code{wl-highlight-message-header-alist}.
5488 @item wl-highlight-message-citation-header
5489 The face for headers of quoted messages.
5491 @item wl-highlight-message-cited-text-*
5492 The face for texts of quoted messages.
5493 The last "*" is a single figure so that 10 different colors can be used
5494 according to citation levels.
5496 @item wl-highlight-message-signature
5497 The face for signatures of messages.
5498 The initial settings are khaki for light background colors, and
5499 DarkSlateBlue for dark background colors.
5501 @item wl-highlight-header-separator-face
5502 The face for header separators of draft messages.
5504 @item wl-highlight-summary-important-face
5505 The face for message lines with important marks in the summary.
5507 @item wl-highlight-summary-new-face
5508 The face for message lines with new marks in the summary.
5510 @item wl-highlight-summary-displaying-face
5511 The face for the message line that is currently displayed.
5512 This face is overlaid.
5514 @item wl-highlight-thread-indent-face
5515 The face for the threads that is currently displayed.
5517 @item wl-highlight-summary-unread-face
5518 The face for message lines with unread marks in the summary.
5520 @item wl-highlight-summary-deleted-face
5521 The face for message lines with delete marks in the summary.
5523 @item wl-highlight-summary-refiled-face
5524 The face for message lines with re-file marks in the summary.
5526 @item wl-highlight-refile-destination-face
5527 The face for re-file information part of message lines with re-file
5528 marks in the summary.
5530 @item wl-highlight-summary-copied-face
5531 The face for message lines with copy marks in the summary.
5533 @item wl-highlight-summary-target-face
5534 The face for message lines with temp marks @samp{*} in the summary.
5536 @item wl-highlight-summary-thread-top-face
5537 The face for message lines that are on the top of the thread in the
5540 @item wl-highlight-summary-normal-face
5541 The face for message lines that are not on top of the thread in the
5544 @item wl-highlight-folder-unknown-face
5545 The face for folders that are not known to have how many unsync messages
5548 @item wl-highlight-folder-zero-face
5549 The face for folders that have no unsync messages in the folder mode.
5551 @item wl-highlight-folder-few-face
5552 The face for folders that have some unsync messages in the folder mode.
5554 @item wl-highlight-folder-many-face
5555 The face for folders that have many unsync messages in the folder mode.
5556 The boundary between `some' and `many' is specified by the variable
5557 @code{wl-folder-many-unsync-threshold}.
5559 @item wl-highlight-folder-unread-face
5560 The face for folders that have no unsync but unread messages in the
5563 @item wl-highlight-folder-killed-face
5564 The face for folders that are deleted from the access group in the
5567 @item wl-highlight-folder-opened-face
5568 The face for open groups in the folder mode.
5569 It is meaningful when @code{wl-highlight-group-folder-by-numbers} is nil.
5571 @item wl-highlight-folder-closed-face
5572 The face for close groups in the folder mode.
5573 It is meaningful when @code{wl-highlight-group-folder-by-numbers} is nil.
5575 @item wl-highlight-folder-path-face
5576 The face for the path to the currently selected folder in the folder
5579 @item wl-highlight-logo-face
5580 The face for logo in the demo.
5582 @item wl-highlight-demo-face
5583 The face for strings (for example, a version number) in the demo.
5586 @node Advanced Settings, Customizable Variables, Highlights, Customization
5587 @section Advanced Settings
5590 * Draft for Reply:: Draft for Reply
5591 * Thread Format:: Appearance of Thread
5592 * User-Agent Header:: User-Agent Header
5596 @node Draft for Reply, Thread Format, Advanced Settings, Advanced Settings
5597 @subsection Draft for Replay
5599 If you want, when you replying to articles in mailing lists, the address
5600 in Reply-To field of the original message to be prepared to To field of
5601 the reply draft by simply pressing @kbd{a} in the summary mode, try the
5605 (setq wl-draft-reply-without-argument-list
5606 '(("Mail-Followup-To" . (("Mail-Followup-To") nil ("Newsgroups")))
5607 ("Followup-To" . (nil nil ("Followup-To")))
5608 (("X-ML-Name" "Reply-To") . (("Reply-To") nil nil))
5609 ("From" . (("From") ("To" "Cc") ("Newsgroups")))))
5613 (Only if there are both of "X-ML-Name" and "Reply-To" fields in the
5614 original message, Reply-To: field in the original is copied to To:
5617 @node Thread Format, User-Agent Header, Draft for Reply, Advanced Settings
5618 @subsection Appearance of Threads
5621 389 09/18(Fri)01:07 [ Teranishi ] wl-0.6.3
5622 390 09/18(Fri)07:25 +-[ Tsumura-san ]
5623 391 09/18(Fri)19:24 +-[ Murata-san ]
5624 392 09/20(Sun)21:49 +-[ Okunishi-san ]
5625 396 09/20(Sun)22:11 | +-[ Tsumura-san ]
5626 398 09/21(Mon)00:17 | +-[ Tsumura-san ]
5627 408 09/21(Mon)22:37 | +-[ Okunishi-san ]
5628 411 09/22(Tue)01:34 | +-[ Tsumura-san ]
5629 412 09/22(Tue)09:28 | +-[ Teranishi ]
5630 415 09/22(Tue)11:52 | +-[ Tsumura-san ]
5631 416 09/22(Tue)12:38 | +-[ Teranishi ]
5632 395 09/20(Sun)21:49 +-[ Okunishi-san ]
5633 397 09/21(Mon)00:15 +-[ Okunishi-san ]
5636 Settings to make appearance of threads like shown above:
5639 (setq wl-thread-indent-level 2)
5640 (setq wl-thread-have-younger-brother-str "+")
5641 (setq wl-thread-youngest-child-str "+")
5642 (setq wl-thread-vertical-str "|")
5643 (setq wl-thread-horizontal-str "-")
5644 (setq wl-thread-space-str " ")
5647 If you do not want to see branches, do the following:
5650 (setq wl-thread-indent-level 2)
5651 (setq wl-thread-have-younger-brother-str " ")
5652 (setq wl-thread-youngest-child-str " ")
5653 (setq wl-thread-vertical-str " ")
5654 (setq wl-thread-horizontal-str " ")
5655 (setq wl-thread-space-str " ")
5659 @node User-Agent Header, , Thread Format, Advanced Settings
5660 @subsection User-Agent
5662 If you are eccentric enough to elaborate X-Mailer or User-Agent fields,
5663 define a function that inserts appropriate strings as you like, and set
5664 it to @code{wl-generate-mailer-string-func}.
5666 The following is an example.
5669 (setq wl-generate-mailer-string-func
5672 (concat "X-Mailer: "
5673 (format "%s/%s (%s)" wl-appname wl-version wl-codename)))))
5676 @node Customizable Variables, , Advanced Settings, Customization
5677 @section Customizable Variables
5679 Customizable variables that have not been described yet:
5682 @item wl-default-folder
5683 @vindex wl-default-folder
5684 The initial setting is "%inbox". This is the default value for moving to
5685 a folder and the like.
5687 @item wl-draft-folder
5688 @vindex wl-draft-folder
5689 The initial setting is "+draft". It is the folder to which drafts are
5690 saved. It must be a localdir folder.
5692 @item wl-trash-folder
5693 @vindex wl-trash-folder
5694 The initial setting is "+trash". It is the wastebasket folder.
5695 If you changed this variable, you had better restart Wanderlust.
5697 @item wl-interactive-exit
5698 @vindex wl-interactive-exit
5699 The initial setting is t.
5700 If non-nil, you are asked for confirmation when Wanderlust terminates.
5702 @item wl-interactive-send
5703 @vindex wl-interactive-send
5704 The initial setting is nil.
5705 If non-nil, you are asked for confirmation when mail is sent.
5707 @item wl-folder-sync-range-alist
5708 @vindex wl-folder-sync-range-alist
5709 The initial setting is the list shown below:
5712 ("^\\+draft$\\|^\\+queue$" . "all"))
5714 This is an associative list of regular expressions of folder names and
5715 update range of the summary.
5716 Update range is one of the "all", "update", "rescan", "rescan-noscore", "first"
5717 and "last". If a folder do not match, "update" is used.
5720 @vindex wl-ask-range
5721 The initial setting is t.
5722 If nil, the value of @code{wl-folder-sync-range-alist} is used for
5723 updating the summary when you changed folders.
5725 @item wl-mime-charset
5726 @vindex wl-mime-charset
5727 The initial setting is 'x-ctext.
5728 This is the MIME charset for messages that are not MIME (e.g. without
5729 Content-Type). This value also used as default charset for summary.
5730 (If you want to share Summary on Nemacs and other Emacsen,
5731 set this value as 'iso-2022-jp.)
5733 @item wl-search-mime-charset
5734 @vindex wl-search-mime-charset
5735 The initial setting is 'iso-2022-jp.
5736 This is used as a MIME charset for searching.
5738 @item wl-highlight-folder-with-icon
5739 @vindex wl-highlight-folder-with-icon
5740 This is meaningful for XEmacs only. The initial setting depends on
5741 XEmacs (t for XEmacs with icons).
5743 @item wl-strict-diff-folders
5744 @vindex wl-strict-diff-folders
5745 This is a list of regular expressions of folders.
5746 Unread messages are checked, for example when you press @kbd{s} in
5747 the folder mode, usually in a brief way (rapidly processed but not
5749 The folders matching this variable are seriously checked.
5750 You may want to set this variable so as to match conditional filter
5751 folders for IMAP4 folders.
5752 The initial setting is nil.
5754 @item wl-folder-use-server-diff
5755 @vindex wl-folder-use-server-diff
5756 When unread messages are checked, for example when you press @kbd{s} in
5757 the folder mode, usually (the number of messages on the server) - (the
5758 number of local messages) will be the number of unread messages.
5759 However, if this variable is non-nil, the number of unread messages on
5760 the server is checked. This affects IMAP4 folders only, but IMAP4
5761 folders in mail boxes matching
5762 @code{elmo-imap4-disuse-server-flag-mailbox-regexp} are not checked for
5763 the number of unread messages on the server, even if they matches this
5764 variable. The initial setting is t.
5766 @item wl-auto-check-folder-name
5767 @vindex wl-auto-check-folder-name
5768 The initial setting is nil.
5769 If non-nil, the folder with the name of the value is checked for unread
5770 messages at the start.
5771 If it is 'none, no folders are checked.
5772 If it is a list, all folders in the list are checked at the start.
5774 @item wl-auto-uncheck-folder-list
5775 @vindex wl-auto-uncheck-folder-list
5776 The initial setting is '("\\$.*").
5777 Folders with the name matching this variable are not checked for unread
5778 messages at the start, even if they are included in the groups in
5779 @code{wl-auto-check-folder-name}.
5781 @item wl-auto-check-folder-list
5782 @vindex wl-auto-check-folder-list
5783 The initial setting is nil.
5784 Folders with the name matching this variable are always checked for
5785 unread messages at the start, if they are included in the groups in
5786 @code{wl-auto-check-folder-name}.
5787 This takes precedence over @code{wl-auto-uncheck-folder-list}.
5789 @item wl-no-save-folder-list
5790 @vindex wl-no-save-folder-list
5791 The initial setting is '("^/.*$").
5792 This is a list of regular expressions of folders not to be saved.
5794 @item wl-save-folder-list
5795 @vindex wl-save-folder-list
5796 The initial setting is nil.
5797 This is a list of regular expressions of folders to be saved.
5798 This takes precedence over @code{wl-no-save-folder-list}.
5800 @item wl-folder-mime-charset-alist
5801 @vindex wl-folder-mime-charset-alist
5802 The initial setting is the list shown below:
5805 '(("^-alt\\.chinese" . big5)
5806 ("^-relcom\\." . koi8-r)
5808 ("^-han\\." . euc-kr)
5812 This is an associative list of regular expressions of folder names and
5814 If a folder do not match, @code{wl-mime-charset} is used.
5816 @item wl-folder-init-load-access-folders
5817 @vindex wl-folder-init-load-access-folders
5818 The initial setting is nil.
5819 This is a list of access groups to be loaded specifically at the start.
5820 If it is nil, @code{wl-folder-init-no-load-access-folders} is referred.
5822 @item wl-folder-init-no-load-access-folders
5823 @vindex wl-folder-init-no-load-access-folders
5824 The initial setting is nil.
5825 This is a list of access groups not to be loaded specifically at the
5827 It is ignored if @code{wl-folder-init-load-access-folders} is non-nil.
5829 @item wl-delete-folder-alist
5830 @vindex wl-delete-folder-alist
5831 The initial setting is '(("^-" . remove)).
5832 This list determines disposition of messages with delete marks.
5833 Each item in the list is a folder and destination; you can specify any
5834 one of the following in the place of destination:
5837 'remove or 'null : deletes the messages instantly.
5838 string : moves the messages to the specific folder.
5839 'trash or others : moves the messages to `wl-trash-folder'.
5842 @item wl-refile-policy-alist
5843 @vindex wl-refile-policy-alist
5844 The initial setting is '(("^[-=]" . copy) (".*" . move)).
5845 This list determines whether messages with re-file marks are moved or
5847 Each item in the list is a cons cell of a folder and copy or move.
5849 @item wl-x-face-file
5850 @vindex wl-x-face-file
5851 The initial setting is "~/.xface".
5852 The name of the file that contains encoded X-Face strings.
5855 @item wl-demo-display-logo
5856 @vindex wl-demo-display-logo
5857 If non-nil, bitmap image is shown on the opening demo.
5859 @item elmo-use-database
5860 @vindex elmo-use-database
5861 This is meaningful for XEmacs only. The initial setting depends on
5862 XEmacs (t for XEmacs with dbm).
5863 If non-nil, Message-ID is controlled by dbm.
5865 @item elmo-passwd-alist-file-name
5866 @vindex elmo-passwd-alist-file-name
5867 The initial setting is "passwd".
5868 This is the name of the file in which passwords are saved.
5869 @code{elmo-passwd-alist-save} saves current passwords to the file.
5871 @item elmo-nntp-list-folders-use-cache
5872 @vindex elmo-nntp-list-folders-use-cache
5873 The initial setting is 600 (in seconds).
5874 This is period in seconds during which results of @samp{list} and
5875 @samp{list active} in NNTP are cached. If it is nil, they are not
5878 @item elmo-nntp-max-number-precedes-list-active
5879 @vindex elmo-nntp-max-number-precedes-list-active
5880 The initial setting is nil.
5881 If non-nil, the number of article obtained by @samp{list active} in NNTP
5882 are used as the maximum article number of the folder.
5883 Set this to t if you are using for example INN 2.3 as an NNTP server,
5884 and if the number of read messages is not correct.
5886 @item elmo-nntp-default-use-listgroup
5887 @vindex elmo-nntp-default-use-listgroup
5888 The initial setting is t.
5889 If non-nil, @samp{listgroup} is used for checking the total number of
5891 If it is nil, @samp{group} is used. In the latter case, the processing
5892 will be a little faster at the sacrifice of accuracy.
5894 @item elmo-pop3-send-command-synchronously
5895 @vindex elmo-pop3-send-command-synchronously
5896 The initial setting is nil.
5897 If non-nil, POP3 commands are issued synchronously. Some implementation
5898 of POP3 server fails to get summary information without this setting.
5899 You may have to set this variable to t, if the process hangs while
5902 @item elmo-dop-flush-confirm
5903 @vindex elmo-dop-flush-confirm
5904 The initial setting is t.
5905 If non-nil, you are asked for confirmation if accumulated off-line
5906 operations are executed.
5913 @node Mailing List, Addition, Customization, Top
5914 @chapter Wanderlust Mailing List
5917 Wanderlust Mailing List @t{<wl@@lists.airs.net>}
5920 Topics related to Wanderlust are discussed in the mailing list.
5921 The latest version is also announced there (in Japanese, sorry).
5923 A guide can be obtained automatically by sending mail to
5924 @t{wl-ctl@@lists.airs.net} with the body
5929 Please send bug reports or patches to the mailing list.
5930 You can post to the mailing list even though you are not a member of it.
5932 I would like to express my thanks to the members of the mailing list for
5933 valuable advice and many pieces of code they contributed.
5939 @node Addition, Index, Mailing List, Top
5940 @chapter Additional Information
5942 @section Brief History
5945 1998 3/05 Tried to make a prototype that displays MH messages in threads.
5946 3/10 Made a msgdb mechanism by elisp.
5947 3/26 IMAP and NNTP can be displayed in threads.
5948 4/13 Began to assemble thread display modules as elmo.
5949 5/01 Finished 0.1.0, initial version with many defects.
5950 6/12 I made a slip of the tongue and said I was writing elisp
5951 mailer supporting IMAP
5952 6/16 0.1.3 was announced at tm-ja, elisp ML.
5953 6/22 Thanks to Kitame-san, the mailing list started at northeye.org.
5954 7/01 Support for mm-backend (0.3.0).
5955 8/25 multi folder added (0.5.0).
5956 8/28 filter folder added (0.5.1).
5957 9/10 You can open/close threads (0.6.0).
5958 9/11 fldmgr by Murata-san made editing folders easy.
5959 9/18 lha folders added by Okunishi-san (0.6.3).
5960 9/24 Display of branches of threads (0.6.5).
5961 9/28 Compression folder supporting multiple archivers by Okunishi-san.
5962 10/28 Off-line operations (0.7.4).
5963 12/09 Becomes beta version.
5964 12/21 wl-expire by Murata-san.
5965 1999 2/03 auto-refile by Tsumura-san.
5966 4/28 wl-template by Murata-san.
5967 5/18 Released 1.0.0 stable.
5968 7/5 Scoring by Murata-san (2.1.0).
5971 See @file{ChangeLog} for details.
5975 According to a dictionary, Wanderlust has the meaning:
5979 n eager longing for or impulse towards travelling in distant lands
5980 [Ger, fr wandern to wander + lust desire, pleasure]
5984 but I had no profound intention.
5985 (if farfetched, IMAP @t{=>} you can read mail anywhere @t{=>} desire to
5988 Elmo is the abbreviation of @samp{Elisp Library for Message
5990 At first I meant the red puppet in the Sesame Street, but you may
5992 Wandering @t{=>} Drifting @t{=>} Guidepost @t{=>} St.@: Elmo's fire @t{=>} elmo.
5996 Each versions has code names (they are almost jokes).
5997 Currently they are picked up alphabetically from the top 40 hits of
5998 U.S. Billboard magazines in 1980s.
6000 (@samp{http://www.summer.com.br/~pfilho/html/top40/index.html})
6003 @node Index, , Addition, Top
6007 * Concept Index:: Concept Index
6008 * Key Index:: Key Index
6009 * Variable Index:: Variable Index
6010 * Function Index:: Function Index
6013 @node Concept Index, Key Index, Index, Index
6014 @unnumberedsec Concept Index
6017 @node Key Index, Variable Index, Concept Index, Index
6018 @unnumberedsec Key Index
6021 @node Variable Index, Function Index, Key Index, Index
6022 @unnumberedsec Variable Index
6025 @node Function Index, , Variable Index, Index
6026 @unnumberedsec Function Index