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: <00/04/26 17:31:25 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")
396 @subsection Install as a XEmacs package
397 @cindex XEmacs package
398 @cindex XEmacs package install
399 @cindex Package, XEmacs
400 @cindex Package install, XEmacs
401 @c @cindex install-package
403 It is possible to install Wanderlust as one of packages of XEmacs (21.0
404 or greater). Configuration for autoload and icon-path in local
405 @file{.emacs} files are no longer necessary, if you install Wanderlust
408 Follow the next example to install Wanderlust as an XEmacs package.
413 % make install-package
416 package directory is auto-probed, if SEMI is installed.
417 (you can also specify it with @code{PACKAGEDIR} in @file{Makefile})
419 @subsection Run in place
421 If wl and elmo directories are defined in load-path, then byte-compilation
422 and installation are not necessary to start Wanderlust. For example,
423 if package is extracted in @file{~/work}, Wanderlust can be invoked with
424 following setting in @file{.emacs}.
427 (add-to-list 'load-path "~/work/wl-(@var{version})")
428 (add-to-list 'load-path "~/work/wl-(@var{version})/elmo")
431 @node Minimal Settings, Mail Addresses, Install, Start Me Up
432 @section Set up .emacs
433 @cindex Minimal Settings
435 @cindex Configuration
439 The Wanderlust package contains two module groups.
442 @item ELMO (elmo-*.el)
443 These modules show everything as folders. This is the back-end for Wanderlust.
445 These modules controls the behavior of main body of Wanderlust.
446 They are also the front-end for ELMO.
449 You can customize the behavior of Wanderlust by changing the value
450 of environmental variables which begins with @code{elmo-*} and @code{wl-*}.
452 The minimal requirement for settings is as the following.
455 ;; The setting to use SEMI/tm
458 ;; autoload configuration
459 ;; (These are not required if Wanderlust is installed as XEmacs package)
460 (autoload 'wl "wl" "Wanderlust" t)
461 (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
463 ;; Directory where icons are placed (XEmacs Only). Default value is nil.
464 ;; (This is not required if Wanderlust is installed as XEmacs package)
465 (setq wl-icon-dir "~/work/wl/etc")
467 ;; SMTP server for mail posting. Default: "localhost"
468 (setq wl-smtp-posting-server "your.smtp.server.com")
469 ;; NNTP server for news posting. Default: "localhost"
470 (setq wl-nntp-posting-server "your.nntp.server.com")
473 @file{~/.wl} is automatically loaded when Wanderlust starts up (if such a
474 file exists). So it is convenient to gather Wanderlust specific settings
475 in @file{~/.wl}. Settings for "face" must be written in @file{~/.wl},
476 because you can't write them in @file{.emacs}
477 (if you write it to @file{.emacs}, you'll get an error).
480 All above described settings except (load "mime-setup") and autoload
481 configuration 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"
544 One line defines one persons description.
546 Actually, in default setup, "nickname" is used in summary-mode and "real name"
547 is used in draft preparation mode. This behavior is better understood if you
548 try it and confirmed the function first. You can write and try a small
549 definition, so you will know the idea of the address book before writing a big
552 And, if MH alias file is specified in variable @code{wl-alias-file},
553 it is used as an address information in the draft preparation mode.
555 @node Folder Definition, Start Wanderlust, Mail Addresses, Start Me Up
556 @section Folder Definition
557 @cindex Folder Definition
560 Define the folders you want to subscribe in file @file{~/.folders}.
561 The contents written in @file{~/.folders} become the folders which
562 you subscribe to as it is.
564 You can skip this section because it is possible to add/edit the
565 subscribe folders from the buffer for list of folders.
567 Format for @file{~/.folders} is very simple. Here is an example:
571 # @r{Lines begin with @samp{#} are comment.}
572 # @r{Empty lines are ignored}
574 # @r{folder name} "@r{folder nickname}"
575 # @r{(nicknames are not necessary)}
580 %#mh/Backup@@my.imap.server.com "Sent"
583 %#mh/spool/wl "Wanderlust ML"
584 %#mh/spool/elips "ELIPS ML"
585 %#mh/spool/tm-ja "tm Japanese ML"
586 %#mh/spool/xemacs-beta "XEmacs beta"
587 -fj.news.reader.gnus@@other.nntp.server.com "Gnus Net news"
588 *-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs "fj's Emacsen"
591 # @r{If folder name ends with @samp{/}, that means an `access group',}
592 # @r{all subfolders automatically included in one folder group.}
594 %#mh/expire@@localhost /
595 # @r{All MH folders are included in one folder group.}
599 Each line contains one folder you want to read. The definition of folders
600 will be explained in detail in the next section.
602 The part surrounded by @samp{@var{group name}@{} and @samp{@}} will become one folder group.
603 One folder group is treated as a directory which can bed opened and closed in
604 folder mode. It is convenient for collecting some folders and putting them
607 Please note that @samp{@var{group name}@{} and @samp{@}} occupies one
608 line and you have to write it that way (It is because the parser sucks).
610 There are two types of groups. One is like @samp{Emacsen} from above
611 example which the user chooses his favorite folders as a group.
613 The other one is @dfn{access group} like @samp{+} from above example.
614 It makes all the sub-folders in a folder to a group.
615 (It differs from the type of the folder. For example, @samp{+} makes entire
616 MH sub-directories to one group)
618 This behavior is better understood if you try it and confirmed the function
619 first. You can write and try a small folder definition, so you will know the
620 idea of the folder function before writing the real one.
622 @node Start Wanderlust, , Folder Definition, Start Me Up
623 @section Start Wanderlust
624 @cindex Start Wanderlust
626 If installation and configuration worked well, you can invoke Wanderlust by
627 typing following command in Emacs.
634 After initialization, Folder Mode which shows the list of folders will appear.
635 That means the folders you defined in the @file{~/.folders} are listed
636 If you start Wanderlust with prefix argument like @kbd{C-u M-x wl}, you
637 can skip folder checking.
642 @node Folders, Folder, Start Me Up, Top
643 @chapter Wanderlust's folders
646 This chapter describes the folder types which Wanderlust is able to handle.
648 Wanderlust uses ELMO as it's interface, so every folder types supported
649 by ELMO is usable in Wanderlust.
651 As of version @value{version}, 10 types of folders are predefined. These are
652 IMAP, NNTP, LocalDir(MH), News Spool, POP, Archive, Multi, Filter, Pipe
653 and Internal folder types.
656 * IMAP Folder:: @samp{%} -- IMAP folder
657 * NNTP Folder:: @samp{-} -- NNTP folder
658 * MH Folder:: @samp{+} -- MH folder
659 * Maildir Folder:: @samp{.} -- Maildir folder
660 * News Spool Folder:: @samp{=} -- News spool folder
661 * Archive Folder:: @samp{$} -- Archive folder
662 * POP Folder:: @samp{&} -- POP folder
663 * Multi Folder:: @samp{*} -- Multi folder
664 * Filter Folder:: @samp{/} -- Filter folder
665 * Pipe Folder:: @samp{|} -- Pipe folder
666 * Internal Folder:: @samp{'} -- Internal folder
670 @node IMAP Folder, NNTP Folder, Folders, Folders
677 A folder to access e-mails via IMAP4rev1 protocol (RFC 2060).
680 Format: '%' 'IMAP mailbox'[':' 'username' ['/' 'authenticate-type']]['@@' 'hostname'][':' 'port']['!']
683 "auth" (encoded password transmission), "cram-md5" (cram-md5 authentication)
684 and "login" (plain password transmission) as authenticate-type.
685 (To use cram-md5 authentication, you must install utils/sasl package.)
689 username -> The value of @code{elmo-default-imap4-user}.
690 Initial setting is `USER' environment variable or
691 `LOGNAME' environment variable or return value of
693 authenticate-type -> The value of @code{elmo-default-imap4-authenticate-type}.
694 Initial setting is "auth".
695 hostname -> The value of @code{elmo-default-imap4-server}.
696 Initial setting is "localhost".
697 port -> The value of @code{elmo-default-imap4-port}.
698 Initial setting is 143.
700 You can omit the hostname from folder names if you set
701 @code{elmo-default-imap4-server} as your main IMAP server.
702 For example, you can specify a folder as @samp{foo%imap@@geteway} even
703 if you have to go through a firewall.
705 SSL (Secure Socket Layer) connection will be used if a folder name
706 ends with '!'. Or, if the value of @code{elmo-default-imap4-ssl} is non-nil,
707 SSL will be the default connection.
708 If a folder name ends with '!!', STARTTLS connection will be established.
709 if the value of @code{elmo-default-imap4-ssl} is 'starttls,
710 STARTTLS will be the default connection.
712 If you specify "auth" or "cram-md5" as authentication method, the password
713 is sent in encoded form. But, if your server is unable to receive an encoded
714 password, authentication will fall back to "login" (that is, sending password
715 in raw format) after confirmation to user. If @code{elmo-imap4-force-login}
716 is non-nil, authentication will fall back to "login" without confirmation
717 (default value is nil).
719 Example: %inbox -> IMAP mailbox "inbox"
720 %#mh/inbox -> IMAP mailbox "#mh/inbox"
722 %inbox:hoge -> IMAP mailbox "inbox" of user "hoge".
723 %inbox:hoge/login@@server1
724 -> server1's IMAP mailbox "inbox"
725 of user "hoge", with plain password authentication
729 @subsection International mailbox names (Modified UTF7)
731 You can use international mailbox names in 'IMAP mailbox' part, if you
732 are using Emacs which can treat unicode and
733 @code{elmo-imap4-use-modified-utf7} is set to non-nil value (default
736 Currently, following Emacsen can treat unicode.
739 @item Emacs 20.3 or later + Mule-UCS
741 If you installed Mule-UCS package, Emacs can treat unicode.
742 You can obtain Mule-UCS package from following URL.
745 ftp://ftp.m17n.org/pub/mule/Mule-UCS/
748 @item XEmacs 21.2.13 or later + ucs-conv package
750 By default, XEmacs 21 cannot treat unicodes, but if you installed
751 ucs-conv package, it can.
752 You can obtain ucs-conv package from following anonymous CVS.
755 :pserver:anonymous@@cvs.m17n.org:/cvs/root
756 Password: NULL (Just enter return key)
759 You also need utf7 conversion programs, u7tou8 and u8tou7 to use international
760 mailbox name in the current XEmacs.
761 These programs are included in the UTF7 package which can be obtained
765 ftp://ftp.ifcss.org/pub/software/unix/convert/utf7.tar.gz
769 @node NNTP Folder, MH Folder, IMAP Folder, Folders
774 A folder to access USENET news via NNTP protocol (RFC 977).
775 One newsgroup is treated as a folder.
778 Format: '-' 'newsgroup'[[':' 'username']['@@' 'hostname'][':' 'port']]['!']
781 hostname -> The value of @code{elmo-default-nntp-server}.
782 Initial setting is "localhost".
783 username -> The value of @code{elmo-default-nntp-user}.
784 Initial setting is nil.
785 port -> The value of @code{elmo-default-nntp-port}.
786 Initial setting is 119.
788 AUTHINFO is used as authentication method if the username is non-nil.
789 SSL will be default method if @code{elmo-default-nntp-ssl} is non-nil even
790 if the folder name doesn't end with '!'
791 If a folder name ends with '!!', STARTTLS connection will be established.
792 if the value of @code{elmo-default-nntp-ssl} is 'starttls,
793 STARTTLS will be the default connection.
795 Example: -fj.rec.tv -> Newsgroup `fj.rec.tv'.
796 -fj.rec.tv@@newsserver -> Newsgroup `fj.rec.tv' on newsserver.
799 @node MH Folder, Maildir Folder, NNTP Folder, Folders
805 A folder to access MH format mail (1 file is 1 mail).
808 Format: '+' 'directory-name'
810 Normally, directory paths are relative to variable
811 @code{elmo-localdir-folder-path} (default is @file{~/Mail}), but if it
812 starts with @samp{/} or @samp{~}, then it is treated as an absolute path
813 (this is also true for drive-letters).
815 Message number is used for the name of the message file.
817 Example: +inbox -> "~/Mail/inbox"
818 +from/teranisi -> "~/Mail/from/teranisi"
822 @node Maildir Folder, News Spool Folder, MH Folder, Folders
823 @section Maildir Folder
824 @cindex Maildir Folder
828 A folder to access to Maildir format (1 file is 1 mail).
831 Format: '.' 'directory-name'
833 Normally, directory paths are relative to variable
834 @code{elmo-maildir-folder-path} (default is @file{~/Maildir}), but if it
835 starts with @samp{/} or @samp{~}, then it is treated as an absolute path
836 (this is also true for drive-letters).
838 Maildir contains @file{cur}, @file{new} and @file{tmp} subdirectories.
839 Messages are contained in the @file{cur} directory. All
840 message files in the @file{new} directory are moved to @file{cur}
841 directory when you access to the folder. All message files contained in
842 the @file{tmp} directory and not accessed for 36 hours are deleted.
844 These behaviors are defined the @samp{http://cr.yp.to/proto/maildir.html}.
846 Example: . -> "~/Maildir"
847 .inbox -> "~/Maildir/inbox"
848 .from/teranisi -> "~/Maildir/from/teranisi"
852 @node News Spool Folder, Archive Folder, Maildir Folder, Folders
853 @section News Spool Folder
854 @cindex News spool Folder
858 This folder handles locally saved news articles which are proposed by Mew/IM.
859 You can also read articles directly from a spool-file which is retrieved
860 by an utility like gnspool.
863 Format: '=' 'directory-name'
865 directory-name is sub-directory to the directory defined by variable
866 @code{elmo-localnews-folder-path} (default is "~/News")
867 You can use @samp{.} as directory delimiter as well as @samp{/}.
869 Example: =fj/os/os2 -> "~/News/fj/os/os2"
870 =fj.os.bsd.freebsd -> "~/News/fj/os/bsd/freebsd"
873 @node Archive Folder, POP Folder, News Spool Folder, Folders
874 @section Archive Folder
875 @cindex Archive Folder
879 This method can handle archive files, which are compressed by utilities
880 such as Info-ZIP or LHA, as one folder.
883 Format: '$' 'path-name' [';' archiver-type ';' prefix]
885 `path-name' is the relative path from @code{elmo-archive-folder-path}
886 (initial setting is @file{~/Mail}).
887 If path-name begins with @samp{/} or @samp{~} or `drive-letter of DOS',
888 path-name is treated as absolute path.
889 ange-ftp format is also permitted under the environment of ange-ftp, efs.
891 The actual file name of the archive folder is
892 @code{elmo-archive-basename}(Initial setting is "elmo-archive")
893 under the path-name. If a file named path-name exists, it is treated as
894 folder. The suffix is automatically decided for archiver-type.
896 If `archiver-type' is omitted, @code{elmo-archive-default-type}
897 (Initial setting is 'zip) is referred.
899 `prefix' specifies the internal directory structure of the archive.
900 For example, if the ML server is fml, @file{msend.tar.gz} has a structure like
901 @file{spool/1}, so you have to specify "spool" as `prefix'.
903 Example: $teranisi -> "~/Mail/teranisi/elmo-archive.zip"
904 $bsd/freebsd;lha -> "~/Mail/bsd/freebsd/elmo-archive.lzh"
905 $/foo@@server:~/bar;zoo -> "~/bar/elmo-archive.zoo" on ftp server
906 $d:/msend.tar.gz;tgz;spool -> "d:/msend.tar.gz"
910 * Archiver:: Archivers supported
911 * Archive Tips:: TIPS
912 * Archive Vars:: Customization
916 @node Archiver, Archive Tips, Archive Folder, Archive Folder
917 @subsection Supported Archives
927 By default, following archives are supported.
930 LHA, Info-ZIP/UNZIP, ZOO, RAR ;; full-access
931 GNU TAR('tgz, 'tar) ;; read-only
934 If your archiver can include multiple files in one archive, you have a
935 possibility use it as an archiver of Wanderlust (ARJ/UNARJ, ARC is one
936 of the candidate. TAR is supported read-only because it cannot delete
937 file in the archive ('mv)).
939 gzip, bzip, bzip2 cannot be used as an archiver of Wanderlust because
940 they cannot include multiple files. Archivers that cannot extract files
941 to standard output are also not supported.
943 @subsection OS specific information about archiver.
945 Behaviors of the following archivers are confirmed by further experiences.
946 (@samp{*} mark means recommended archiver).
949 [OS/2] Warp4.0J(w/o VoiceType)+Fx00505/emx0.9c(fix04)/PMMule,EmacsPM
950 LHA OS/2 version Rel.2.06b Feb 18, 1998
951 *UnZip 5.32 of 3 November 1997, by Info-ZIP.
952 *Zip 2.2 (November 3rd 1997).
953 Zoo archiver, zoo 2.1 $@asis{}Date: 91/07/09 02:10:34 $
954 GNU tar version 1.10 - AK 2.58 (DBCS/SJIS) 981216(homy) version
955 gzip 1.2.4 (18 Aug 93) + bzip2 patch(by Iida-san)
957 [UN|X] FreeBSD 2.2.7-RELEASE, Linux 2.0.30, Solaris2.6, HP-UX 9.07
959 UnZip 5.32 of 3 November 1997
960 Zip 2.2 (November 3rd 1997)
961 GNU tar 1.12 (1.11.x is no good)
962 gzip 1.2.4 (18 Aug 93)
964 [Win32] Win.98/Meadow
968 GNU tar 1.11.8 + 1.5(WIN32)
974 If you are an OS/2 user, Peter Fitzsimmons's LH/2 is not supported.
975 Hiramatsu version of LHA is only supported.
976 In Win32, LHa32 is only supported (DOS version is no good).
978 * Caution about GNU tar
980 You have to take care about GNU tar's version because
981 many version has problem on deleting file from archive.
983 Please test --delete -f options work. Otherwise, your archive will be
984 destroyed. No problem is reported on above versions of GNU tar.
988 @node Archive Tips, Archive Vars, Archiver, Archive Folder
992 For comfortable migration, usage of wl-summary-archive() (@pxref{Archive}) or
993 Expire (@pxref{Expire}) is recommended.
994 To treat archive folders created by expiration,
995 you must set non-nil value to @code{elmo-archive-treat-file}.
997 On the OS/2, there is a great difference between Mule2.3(19.28) and Emacs20.2
998 in processing speed. For comfortable use, Emacs20 is recommended.
999 (If re-search's performance is the problem, 19.3x or later may be okay.)
1001 If many files are included in one archive,
1002 it takes long time to access to the archive folder because
1003 archiver starting overhead is increased (especially LHA).
1004 150-200 messages in one archive is recommended.
1006 Of course, following is possible @t{:-)}
1007 (meanings of these variables are described later.)
1009 (setq wl-fcc "$backup")
1010 (setq wl-trash-folder "$trash;lha")
1014 @node Archive Vars, , Archive Tips, Archive Folder
1015 @subsection Variables About Archive Folder
1016 @cindex Archive variables
1019 @item elmo-archive-default-type
1020 @vindex elmo-archive-default-type
1021 The initial setting is 'zip.
1022 Set archiver type by symbol.
1024 @item elmo-archive-@var{type}-method-alist
1025 @vindex elmo-archive-TYPE-method-alist
1026 Define archiver @var{type}'s methods.
1027 (@var{type} is @samp{lha}, @samp{zip}, @samp{zoo}, @samp{tgz} etc)
1028 Each element of the alist is following.
1031 (action . (exec-name options)) ;; external program and its option.
1032 (action . function) ;; function
1035 Currently available actions are following.
1038 'ls, 'cat ('cat-headers) ;; Minimal setting(read-only)
1039 'mv ('mv-pipe), 'rm ('rm-pipe) ;; full-access (with above)
1045 actions enclosed with braces are optional (They are used for better
1048 @item elmo-archive-suffix-alist
1049 @vindex elmo-archive-suffix-alist
1050 An alist of archiver-type (symbol) and suffix.
1052 @item elmo-archive-file-regexp-alist
1053 @vindex elmo-archive-file-regexp-alist
1054 An alist of a regexp to get file number from list output of archiver
1055 and archiver-type (symbol).
1057 @item elmo-archive-method-list
1058 @vindex elmo-archive-method-list
1059 A list of elmo-archive-@var{type}-method-alist
1060 (@var{type} is a symbol of archiver-type).
1062 @item elmo-archive-lha-dos-compatible
1063 @vindex elmo-archive-lha-dos-compatible
1064 The initial setting is t on OS/2 and Win32.
1065 If non-nil, LHA is DOS (Mr. Yoshizaki original) compatible.
1067 @item elmo-archive-cmdstr-max-length
1068 @vindex elmo-archive-cmdstr-max-length
1069 The initial setting is 8000.
1071 Max length of command line argument for external archiver program.
1072 Emacs does not have a limit of command line byte length, but some OS
1073 (e.x OS/2) have. It depends on the OS. Archive folder is affected by
1074 this limit because it calls external archiver program directly (not
1075 called via shell). For example, you cannot delete messages if archiver
1076 program must receive larger bytes of arguments to delete. OS/2 have a
1077 command line argument limit of 8190 bytes, so we defined default as 8000
1080 However, you don't have an influence of command line argument limit
1081 if the archiver has `actions' to receive target file information from
1082 standard input (rm-pipe, mv-pipe, cat-headers action).
1085 @node POP Folder, Multi Folder, Archive Folder, Folders
1093 A folder to access e-mails via POP3 protocol (RFC 1939).
1096 Format: '&' ['username'][['/' 'authenticate-type']['@@' 'hostname'][':' 'port']]['!']
1099 "user" (plain password transmission) or "apop" (APOP authentication)
1100 as authenticate-type.
1103 username -> The value of @code{elmo-default-pop3-user}.
1104 Initial setting is `USER' environment variable or
1105 `LOGNAME' environment variable or return value of
1107 authenticate-type -> The value of @code{elmo-default-pop3-authenticate-type}.
1108 Initial setting is "user".
1109 hostname -> The value of @code{elmo-default-pop3-server}.
1110 Initial setting is "localhost".
1111 port -> The value of @code{elmo-pop3-default-port}.
1112 Initial setting is 110.
1114 Example: &hoge@@localhost -> access to localhost as user "hoge".
1115 &hoge@@popserver:109 -> access to the server "popserver" on port 109
1119 To use apop as an authenticate-type, @file{md5.el} is needed
1120 (XEmacs doesn't need @file{md5.el}).
1121 @file{md5.el} is included in @file{utils/sasl/lisp/} or Emacs/W3 package
1124 http://www.cs.indiana.edu/elisp/w3/docs.html
1127 or LCD archive (GPL2).
1129 If the last character of the folder name is '!', Wanderlust connects to
1130 the POP server via SSL (Secure Socket Layer). If you set non-nil
1131 value to @code{elmo-default-pop-ssl}, you don't have to put '!' in the
1132 end of the folder name to use SSL.
1133 If a folder name ends with '!!', STARTTLS connection will be established.
1134 if the value of @code{elmo-default-pop-ssl} is 'starttls,
1135 STARTTLS will be the default connection.
1137 @node Multi Folder, Filter Folder, POP Folder, Folders
1138 @section Multi Folder
1139 @cindex Multi Folder
1141 @cindex Folder, Multiple
1142 @cindex Folder, Marge
1144 A folder to access to a folder which collects messages from
1145 multiple folders virtually.
1148 Format: '*' 'folder' [',' 'folder'] ... [',' 'folder']
1150 After '*' character, specify multiple folders you want to collect
1151 separated by ',' like folder1,folder2,@dots{},folderN.
1154 *-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs
1155 -> -fj.editor.xemacs, -fj.editor.mule and -fj.editor.emacs are
1156 treated as one folder.
1158 *+inbox,-fj.rec.tv,%inbox
1159 -> +inbox, -fj.rec.tv and %inbox are treated as one folder.
1164 @node Filter Folder, Pipe Folder, Multi Folder, Folders
1165 @section Filter Folder
1166 @cindex Filter Folder
1168 @cindex Folder, Filtering
1169 @cindex Folder, Virtual
1171 A folder to access to a folder which collects all messages that
1172 satisfy a condition virtually.
1175 Format: '/' 'condition' '/' 'target-folder'
1177 In the 'condition' part, you can specify following.
1179 1. Partial filter: "first:NUMBER", "last:NUMBER"
1181 first: 'NUMBER' messages are picked from top of folder.
1182 last: 'NUMBER' messages are picked from bottom of folder.
1185 /last:10/-fj.os.linux -> Latest 10 messages from -fj.os.linux are picked.
1186 /first:20/%inbox -> First 20 messages from %inbox are picked.
1188 2. Date filter: "since:DATE" "before:DATE"
1190 since: only messages arrived since 'DATE' are picked.
1191 before: only messages arrived before 'DATE' are picked.
1193 You can specify following as 'DATE'.
1195 yesterday -> a day before today.
1196 lastweek -> same day of last week.
1197 lastmonth -> same day of last month.
1198 lastyear -> same day of last year.
1199 'NUMBER'daysago -> 'NUMBER' days ago. (e.x. '3daysago')
1200 'DAY'-'MONTH'-'YEAR' -> specify date directly (ex. 1-Nov-1998)
1203 /since:3daysago/+inbox -> messages arrived since 3 days ago in +inbox
1205 /before:yesterday/+inbox -> messages arrived before yesterday in +inbox
1208 3. Field filter: "FIELD=VALUE"
1210 All messages that have FIELD and its value is VALUE are picked.
1211 'FIELD' and 'VALUE' are case insensitive.
1214 /from=teranisi/+inbox -> In +inbox, messages which have From: field
1215 and its value includes "teranisi" string are picked.
1216 /body=foo/%inbox -> In %inbox, messages which have "foo" text
1219 If you can split conditions by character "|", it is considered as OR condition.
1220 /tocc=xxxx/ is an abbreviation of /to=xxxx|cc=xxxx/.
1224 /from=teranisi|to=teranisi/+inbox
1225 -> In +inbox, messages are picked if
1226 the message's To: field includes
1227 "teranisi" or From: field includes "teranisi".
1228 /tocc=teranisi/+inbox -> In +inbox, messages are picked if
1229 the message's To: field or Cc: field includes
1234 %inbox,/from=teranisi/%inbox@@server
1235 -> Messages in %inbox or
1236 message is in the %inbox@@server folder and it's From field
1237 includes "teranisi" are collected.
1239 /last:100//to=teranisi/*+inbox,%inbox
1240 -> Latest 100 messages which is in the +inbox or %inbox folder
1241 and To: field matches "teranisi".
1243 /from=hogehoge//last:20//tocc=teranisi/%#mh/inbox@@localhost
1244 -> Pick messages which have From: field and it includes "hogehoge"
1245 from latest 20 messages in the %#mh/inbox@@localhost
1246 and To: or Cc: field includes "teranisi".
1248 ;;; --- Limit of implementation ---
1249 ;;; In the current implementation, NNTP folder does not treat date filter and
1251 ;;; In IMAP4 folder, field filter only supports fields which can be
1252 ;;; passed directly to rfc2060's search command.
1253 ;;; (i.e. to,cc,from,subject and body)
1254 ;;; Localdir folder treats arbitrary field name.
1257 @node Pipe Folder, Internal Folder, Filter Folder, Folders
1258 @section Pipe Folder
1262 @cindex Download Message
1263 @cindex Incorporate Message
1265 In the pipe folder, messages are automatically transferred from the source
1266 folder to destination folder.
1269 Format: '|' source-folder '|' destination-folder
1271 When you access to the pipe folder, messages are automatically transferred
1272 from source-folder to destination-folder.
1273 It is convenient if you want to download messages to local disk via POP.
1274 For example, if you specify following
1276 |&username@@popserver|+inbox
1278 and access to it, messages are downloaded automatically from
1279 &username@@popserver to +inbox.
1281 Example: %inbox|%myinbox -> Download %inbox to %myinbox.
1282 *&user@@popserver1,&user@@popserver2|+inbox
1283 -> Download from &user@@popserver1 and &user@@popserver2 to +inbox.
1286 After messages are moved, a hook @code{elmo-pipe-drained-hook} is called.
1288 @node Internal Folder, , Pipe Folder, Folders
1289 @section Internal folder
1290 @cindex Internal Folder
1292 @cindex Folder, @samp{$} mark
1294 A folder to access to internal messages of Wanderlust.
1301 A folder named 'mark is a special virtual folder which collects messages
1302 which have important mark @samp{$}.
1304 You can review important messages at once after you put important marks
1305 on the messages in the different folders.
1307 In this folder, if you delete message, important mark @samp{$} put on
1308 the message is removed. If you append messages to this folder, the
1309 message will have @samp{$} mark.
1311 You can access to the cached messages fetched via network by accessing
1312 to the folders named 'cache/00 - 1F. 00 - 1F are the name of the
1313 subdirectories of the cache directory (@file{~/.elmo/cache}).
1319 @node Folder, Summary, Folders, Top
1320 @chapter Folder mode
1323 After you start Wanderlust, folder mode is appeared firstly.
1324 It contains folder list you subscribed.
1325 You can select and edit folders in this mode.
1328 * Selecting Folder:: Select folder you want to read.
1329 * Folder Manager:: Editing folders.
1333 @node Selecting Folder, Folder Manager, Folder, Folder
1334 @section Selecting Folder
1335 @cindex Selecting Folder
1337 @subsection Usage (TIPS)
1339 @subsubsection Check new, unread number
1341 Folder mode looks like this.
1342 (In XEmacs, it looks much nicer @t{;-)})
1345 [-]Desktop:14186/35580/67263
1350 [-]Emacsen:0/34/4837
1351 Wanderlust ML:0/0/558
1354 XEmacs Beta:0/29/255
1364 FOLDER-NAME:NEW-NUMBER/UNREAD-NUMBER/ALL-NUMBER
1368 @kbd{s} key on the folder line updates these numbers.
1369 It changes its color if it has many new messages.
1371 The whole folder mode is a folder group named @samp{Desktop}.
1372 Folder group open/close by return key.
1373 A operation to a folder group is treated as operations on the
1375 For example, when you type @kbd{s} on @samp{[-]Emacsen},
1376 six children folders update its unread number status.
1378 @subsubsection Select Folder
1380 To enter summary mode of the folder, type return (or spece) key on
1382 If the variable @code{wl-stay-folder-window} has non-nil value,
1383 summary window appears on the right of the folder mode window.
1385 @subsection Key bindings
1387 Folder mode's key binding (related to selecting folders) is following.
1392 @kindex @key{SPC} (Folder)
1393 @kindex @key{RET} (Folder)
1394 @findex wl-folder-jump-to-current-entity
1395 Enter to the summary mode of the folder at the current cursor point.
1396 If the cursor is on the top of folder group line,
1397 the folder group is opened or closed.
1398 When the cursor is on the access group and this command is called
1399 with prefix argument, folder children list is updated to the newest one.
1400 (Children list is updated recursively if the access folder has hierarchical
1402 (@code{wl-folder-jump-to-current-entity})
1405 @kindex M-@key{RET} (Folder)
1406 @findex wl-folder-update-recursive-current-entity
1407 Folder children list of the access group at the current cursor point
1408 is updated to the newest one.
1409 (Children list is updated recursively if the access folder has hierarchical
1411 (@code{wl-folder-update-recursive-current-entity})
1415 @findex wl-summary-write
1416 Create a new draft message.
1417 (@code{wl-summary-write})
1421 @findex wl-summary-write-current-newsgroup
1422 If the current cursor point is on the NNTP folder,
1423 create a new draft message which already has newsgroups field.
1424 (@code{wl-summary-write-current-newsgroup})
1428 @findex wl-folder-check-current-entity
1429 Update new and unread number information of the folder at the current
1431 (@code{wl-folder-check-current-entity})
1435 @findex wl-folder-sync-current-entity
1436 Update summary information of the folder at the current cursor point.
1437 (@code{wl-folder-sync-current-entity})
1440 @kindex r s (Folder)
1441 @findex wl-folder-check-region
1442 Update new and unread number information of the folders in the currently
1444 (@code{wl-folder-check-region})
1447 @kindex r S (Folder)
1448 @findex wl-folder-sync-region
1449 Update summary information of the folders in the currently selected region.
1450 (@code{wl-folder-sync-region})
1454 @findex wl-folder-prev-unread
1455 Jump cursor to the folder which have unread messages on the upward from
1456 current cursor point.
1457 (@code{wl-folder-prev-unread})
1461 Jump cursor to the folder which have unread messages on the downward
1462 from current cursor point.
1463 (@code{wl-folder-next-unread})
1467 Move cursor to the folder on the previous line.
1468 (@code{wl-folder-prev-entity})
1472 Move cursor to the folder on the next line.
1473 (@code{wl-folder-next-entity})
1477 Jump to the folder specified by the user input.
1478 (@code{wl-folder-jump-folder})
1482 @findex wl-folder-prefetch-current-entity
1483 Prefetch new messages of the folder at the current cursor point by
1484 @code{wl-summary-incorporate}.
1485 If the cursor is on the folder group, it is executed recursively.
1486 (@code{wl-folder-prefetch-current-entity})
1490 @findex wl-folder-mark-as-read-all-current-entity
1491 Mark all unread messages of the folder at the current cursor point as read.
1492 If the cursor is on the folder group, it is executed recursively.
1493 (@code{wl-folder-mark-as-read-all-current-entity})
1497 @findex wl-folder-goto-first-unread-folder
1498 Enter summary mode of the first unread folder.
1499 (@code{wl-folder-goto-first-unread-folder})
1503 @findex wl-folder-empty-trash
1505 (@code{wl-folder-empty-trash})
1509 @findex wl-folder-open-all-unread-folder
1510 All unread folder is opened.
1511 (@code{wl-folder-open-all-unread-folder})
1515 @findex wl-folder-open-close
1516 Folder group is opened/closed.
1517 (@code{wl-thread-open-close})
1521 All folder group is opened.
1522 (@code{wl-folder-open-all})
1526 All folder group is closed.
1527 (@code{wl-folder-close-all})
1537 (@code{wl-folder-suspend})
1540 @kindex M-s (Folder)
1541 Save current folder status.
1545 @kindex M-t (Folder)
1546 Toggle Wanderlust's offline/online status.
1547 (@code{wl-toggle-plugged})
1550 @kindex C-t (Folder)
1551 Start Wanderlust's plug-status manager.
1552 (@code{wl-plugged-change})
1555 @subsection Customize variables
1558 @item wl-folders-file
1559 @vindex wl-folders-file
1560 The initial setting is "~/.folders".
1561 Subscribed folders are described (saved) in this file.
1563 @item wl-folder-info-save
1564 @vindex wl-folder-info-save
1565 The initial setting is t.
1566 If non-nil, unread information is saved and used in the next Wanderlust session.
1568 @item wl-stay-folder-window
1569 @vindex wl-stay-folder-window
1570 The initial setting is nil.
1571 If non-nil, summary window is appeared on the right side of the folder buffer.
1573 @item wl-folder-window-width
1574 @vindex wl-folder-window-width
1575 The initial setting is 20.
1576 Folder mode's window width when @code{wl-stay-folder-window} is non-nil.
1578 @item wl-folder-many-unsync-threshold
1579 @vindex wl-folder-many-unsync-threshold
1580 The initial setting is 70.
1581 If the number of unread messages is more than this value,
1582 folder color is changed.
1584 @item wl-folder-desktop-name
1585 @vindex wl-folder-desktop-name
1586 The initial setting is "Desktop".
1587 The name of top folder group.
1589 @item wl-folder-petname-alist
1590 @vindex wl-folder-petname-alist
1591 The initial setting is nil.
1592 An alist of folder's realname and its nickname.
1594 @item wl-folder-access-subscribe-alist
1595 @vindex wl-folder-access-subscribe-alist
1596 The initial setting is nil.
1598 Control automatic subscribing and unsubscribing of the children list
1603 ('regexp of access-folder' . ('subscribe-flag' 'regexp-of-folders' @dots{}))
1605 If subscribe-flag is non-nil, folders which have name matched to
1606 regexp-of-folders are displayed. Otherwise, hidden.
1607 However, already unsubscribed folder is not displayed even
1608 when the subscribe-flag is non-nil. Multiple regexp-of-folders can be specified.
1613 '(("^-fj$" . (t "^-fj\\.\\(comp\\|editor\\|mail\\)"
1614 "^-fj\\.\\(net\\|news\\|os\\|rec\\)"))
1615 ("^-$" . (t "^-\\(fj\\|tnn\\|japan\\|gnu\\|comp\\)"))
1616 ("^\\+ml$" . (nil "^\\+ml$" "^\\+ml/tmp")))
1619 @item wl-folder-hierarchy-access-folders
1620 @vindex wl-folder-hierarchy-access-folders
1621 The initial setting is '("-" "-alt").
1622 A list of access groups which creates children folder list hierarchically.
1624 For example, if you specify
1625 @code{wl-folder-hierarchy-access-folders} like following,
1628 (setq wl-folder-hierarchy-access-folders
1629 '("-" "-alt" "-japan" "-comp" "-comp.unix"))
1632 such access group hierarchy is obtained.
1637 -fj.comp.announce:0/0/2
1638 -fj.comp.dev.cdrom:0/0/0
1640 [+]-japan:238/238/1688
1643 -comp.unix.admin:0/0/0
1644 -comp.unix.dos-under-unix:0/0/0
1645 -comp.unix.programmer:0/0/0
1646 [-]-comp.unix.bsd:0/0/23
1647 -comp.unix.bsd.freebsd.announce:0/0/0
1651 If you opened @samp{-} in this example, only the direct children is created
1652 (@samp{-fj}, @samp{-japan}, @samp{-tnn}, @dots{}).
1653 second hierarchy (@samp{-fj.comp.announce}, @dots{}, @samp{-comp.unix}, @dots{})
1654 is not created until the children access group is opened.
1658 @node Folder Manager, , Selecting Folder, Folder
1659 @section Editing Folders
1660 @cindex Folder Manager
1661 @cindex Folder, Edit
1662 @cindex Folder, Subscribe
1663 @cindex Folder, Unsubscribe
1665 As described before, subscribed folder list is saved in @file{~/.folders} file.
1666 But you don't have to edit @file{~/.folders} directly.
1667 You can append, delete, edit folders from folder mode.
1669 @subsection Usage (Tips)
1671 @subsubsection Append Folder
1673 @kbd{m a} appends new folder to the folder mode.
1674 @kbd{m g} appends new folder group.
1675 To append new folder to this group, firstly open it,
1676 then execute append command in the next line.
1678 @subsubsection Edit Folder
1680 You can cut folder by @kbd{C-k}, paste by @kbd{C-y}.
1681 Thus, you can change folder position as if you were editing a normal file.
1683 @subsubsection Create Multi Folder.
1687 Type @kbd{m q} to clear @code{wl-fldmgr-cut-entity-list}.
1689 Cut folder by @kbd{C-k} or copy folder by @kbd{M-c}.
1691 Type @kbd{m m}, then you can create multi folder.
1694 @subsubsection Delete Nickname, Filter
1696 You can delete nickname or filter by putting ""(NULL) from the minibuffer
1699 @subsubsection Append Folder to Empty Group
1701 To append new folder to the empty folder group
1702 (after you create folder group by typing @kbd{m g}),
1703 firstly open it, then execute append command in the next line.
1704 If it is closed, folder is appended on the same level with
1705 the above folder group. It is difficult to explain by words so try it.
1706 In other words, appended position depends on the
1707 above folder group's open/close status.
1709 @subsubsection Charset of the Folders File.
1711 @code{wl-mime-charset} is used for saving @code{wl-folders-file}.
1713 @subsubsection Create Filter
1715 @kbd{m f} adds filter to the folder at the current cursor point.
1716 To create new filter folder and leave the current folder unchanged,
1717 copy it @kbd{M-c}, make filter @kbd{m f} and paste it @kbd{C-y}.
1718 Multiple filter can be specified while appending filter.
1719 If you put ""(NULL), filter is deleted.
1721 @subsubsection Sort Folders
1723 Sorting of the folders is executed by the function specified by
1724 @code{wl-fldmgr-sort-func}.
1725 The initial setting is @code{wl-fldmgr-sort-standard},
1726 which sorts alphabetically.
1727 Sorting affects only on the current folder group. It does not
1728 affect on the child groups.
1730 @subsubsection Hiding Folders in the Access Group
1732 Usually, access group displays all children folders, but you can set
1733 some folders hidden. Following operations are only available on access
1736 Command @code{wl-fldmgr-unsubscribe} (@kbd{u}) toggles
1737 the visibility (subscribe/unsubscribe) of the folder at current cursor point.
1739 Against this, @code{wl-fldmgr-unsubscribe-region} (@kbd{U}) hides folders
1740 in the specified region. Note that @code{wl-fldmgr-unsubscribe-region}
1741 does not toggle while @code{wl-fldmgr-unsubscribe} toggles. These two
1742 commands accept prefix argument and if the argument has positive number,
1743 the unsubscribe it. If the prefix argument has negative value, folder
1744 becomes visible and if zero, folder visibility is toggled.
1746 The other commands, @code{wl-fldmgr-subscribe} and
1747 @code{wl-fldmgr-subscribe-region} are also prepared (not binded to the
1750 Moreover, if @code{wl-fldmgr-cut} or @code{wl-fldmgr-cut-region} is
1751 executed in the access group, they have a same effect with
1752 @code{wl-fldmgr-unsubscribe} and @code{wl-fldmgr-unsubscribe-region}.
1753 The difference is that cut(-region) commands deletes folders from the
1756 @subsubsection Operations in the Access Group
1758 You can insert and delete folders in the access group like usual folder
1759 group. But insert and delete commands can be only available for the
1760 children folders of the access group and they only sets the subscribe
1761 status. In other words, insertion of the folder means subscribing,
1762 deletion means unsubscribing.
1763 @footnote{In the current implementation,
1764 it is faster to delete region than to unsubscribe region.}
1766 To update the access group when children folders are inserted or deleted
1767 by other way (other than Wanderlust),
1768 open the access group by typing @kbd{C-u @key{RET}}.
1769 @xref{Selecting Folder}.
1771 The order of children folders of access group is saved after
1772 insertion/deletion/sorting.
1773 If you set @code{wl-force-fetch-folders} to non-nil or open access group
1774 by typing @kbd{C-u @key{RET}}, disappeared folders are deleted and
1775 newly created folders are inserted on the top of the access group.
1777 @subsection Key bindings
1778 @cindex Keybind, Folder Mode
1779 @cindex Keybind, Folder Buffer
1781 Key bindings on the folder mode related to folder editing are shown below.
1782 All bindings starts with @kbd{m}, and primary commands are binded to
1783 one stroke key binding.
1787 @kindex m a (Folder)
1788 @findex wl-fldmgr-add
1790 (@code{wl-fldmgr-add})
1795 @kindex m g (Folder)
1796 @findex wl-fldmgr-make-group
1797 Create a folder group.
1798 (@code{wl-fldmgr-make-group})
1801 @kindex m A (Folder)
1802 @findex wl-fldmgr-make-access-group
1803 Create an access group.
1804 (@code{wl-fldmgr-make-access-group})
1807 @kindex m d (Folder)
1808 @findex wl-fldmgr-delete
1809 Delete folder itself and msgdb.
1810 If the folder itself cannot be deleted like NNTP folder,
1811 only msgdb is deleted.
1812 (@code{wl-fldmgr-delete})
1817 @kindex m R (Folder)
1818 @findex wl-fldmgr-rename
1819 Change the name of folder or folder group.
1820 msgdb's path is also changed.
1821 (@code{wl-fldmgr-rename})
1827 @findex wl-fldmgr-make-multi
1828 Create a multi folders in the cutlist (cut, copied folders).
1829 (@code{wl-fldmgr-make-multi})
1834 @kindex m f (Folder)
1835 @findex wl-fldmgr-make-filter
1836 Create a filter folder. (Put a filter on the folder).
1837 (@code{wl-fldmgr-make-filter})
1841 @kindex M-c (Folder)
1842 @kindex m c (Folder)
1843 @findex wl-fldmgr-copy
1844 Copy folder (it is not available on folder group).
1845 (@code{wl-fldmgr-copy})
1849 @kindex M-w (Folder)
1850 @kindex m W (Folder)
1851 @findex wl-fldmgr-copy-region
1852 Copy folders in the specified region.
1853 (@code{wl-fldmgr-copy-region})
1857 @kindex C-k (Folder)
1858 @kindex m k (Folder)
1859 @findex wl-fldmgr-cut
1860 Cut folder. Folder itself is not deleted.
1861 (@code{wl-fldmgr-cut})
1865 @kindex C-w (Folder)
1866 @kindex m C-w (Folder)
1867 @findex wl-fldmgr-cut-region
1868 Cut folders in the specified region.
1869 (@code{wl-fldmgr-cut-region})
1873 @kindex C-y (Folder)
1874 @kindex m y (Folder)
1875 @findex wl-fldmgr-yank
1876 Paste folders that are copied or cut (folders in the cut-list).
1877 (@code{wl-fldmgr-yank})
1880 @kindex m p (Folder)
1881 @findex wl-fldmgr-set-petname
1882 Put nickname on the folder.
1883 (@code{wl-fldmgr-set-petname})
1886 @kindex m q (Folder)
1887 @findex wl-fldmgr-clear-cut-entity-list
1888 Clear the cut-list. (cut, copied folder information is cleared,
1889 you cannot paste after this)
1890 (@code{wl-fldmgr-clear-cut-entity-list})
1893 @kindex m s (Folder)
1894 @findex wl-fldmgr-sort
1895 Sort folders in the current folder group.
1896 (@code{wl-fldmgr-sort})
1899 @kindex m C-s (Folder)
1900 @findex wl-fldmgr-save
1901 Save current folder view to the @file{wl-folders-file}.
1902 (@code{wl-fldmgr-save})
1905 [Following commands are only available on the access groups]
1911 @kindex m u (Folder)
1912 @findex wl-fldmgr-unsubscribe
1913 Set the visibility of folder (subscribe/unsubscribe).
1914 (@code{wl-fldmgr-unsubscribe})
1919 @kindex r u (Folder)
1920 @findex wl-fldmgr-unsubscribe-region
1921 Set the visibility of the folders (subscribe/unsubscribe) in the
1923 (@code{wl-fldmgr-unsubscribe-region})
1928 @kindex m l (Folder)
1929 @findex wl-fldmgr-access-display-normal
1930 List folders that are currently available.
1931 (@code{wl-fldmgr-access-display-normal})
1936 @kindex m L (Folder)
1937 @findex wl-fldmgr-access-display-all
1938 List all folders regardless of the subscription status.
1939 (@code{wl-fldmgr-access-display-all})
1942 @kindex C-c C-o (Folder)
1943 @findex wl-jump-to-draft-buffer
1944 Move to the draft buffer if available. If multiple draft buffer exists,
1945 moved to one after another. If prefix argument is specified, load draft
1946 folder's message to the draft buffer and jump to it.
1947 (@code{wl-jump-to-draft-buffer})
1951 @subsection Customize variables
1954 @item wl-interactive-save-folders
1955 @vindex wl-interactive-save-folders
1956 The initial setting is t.
1957 If non-nil and folder view is modified, confirm saving it before
1958 Wanderlust or Emacs exits.
1959 If nil, save without confirmation.
1961 @item wl-fldmgr-make-backup
1962 @vindex wl-fldmgr-make-backup
1963 The initial setting is t.
1964 If non-nil, @file{~/.folders.bak} is created before saving the folder status.
1966 @item wl-fldmgr-sort-func
1967 @vindex wl-fldmgr-sort-func
1968 The initial setting is 'wl-fldmgr-sort-standard.
1969 A function to sort folders.
1970 By default function, folders are sorted alphabetically and
1971 folder group is put on top
1972 (when @code{wl-fldmgr-sort-group-first} is non-nil).
1974 @item wl-fldmgr-sort-group-first
1975 @vindex wl-fldmgr-sort-group-first
1976 The initial setting is t.
1977 If non-nil, @code{wl-fldmgr-sort-standard} precedes folder group.
1978 If nil, it does not care whether it is folder group or not.
1980 @item wl-folder-check-async
1981 @vindex wl-folder-check-async
1982 The initial setting is t.
1983 If non-nil, check folder's unread status asynchronously.
1984 It boosts newsgroup checking.
1986 @item wl-folder-check-fast
1987 @vindex wl-folder-check-fast
1988 The initial setting is nil.
1989 If non-nil, it does not update folder status while checking.
1991 @item wl-folder-notify-deleted
1992 @vindex wl-folder-notify-deleted
1993 The initial setting is nil.
1995 If non-nil, negative value is displayed when the message is deleted.
1996 If 'sync, folder is synchronized when the message is deleted.
1997 If nil, message deletion is ignored.
2000 @subsection Miscellanea
2002 Following is a note for folder editing.
2006 cut or copy stacks the folder in the @code{wl-fldmgr-cut-entity-list}.
2007 paste(yank) command pastes the folders on one cut or copy command
2008 (If copy command is executed by region, folders in the region are pasted
2009 by one paste command)
2012 You cannot cut 'Desktop' group.
2013 Also, you cannot paste folders at the outside of the 'Desktop'.
2016 You cannot copy folder group.
2019 Operations on the access group are only available for the folders
2020 in the same access group.
2023 You cannot create a folder which has same name with the folders already exist.
2026 You cannot insert folders which have same name in one group.
2027 You can insert them in the different groups.
2028 You cannot put same nickname to the different folders.
2035 @node Summary, Message, Folder, Top
2036 @chapter Summary Mode
2038 @section Usage (Tips)
2040 @subsection Summary Content
2042 After you select the folder via folder mode, you enter to the summary mode.
2043 In the summary mode, messages are displayed like following.
2046 377 09/16(Wed)11:57 [+1: Takuro Kitame ] Bug?
2047 381 09/17(Thu)00:16 [+3: Fujikazu Okuni ] elmo-lha.el -- LHA interface
2048 384 09/17(Thu)01:32 [+1: Yuuichi Terani ] wl-0.6.2
2049 389 N09/18(Fri)01:07 [+2: Yuuichi Terani ] wl-0.6.3
2055 Message number, Temporal mark, Persistent mark, Date, Sender, Subject
2059 You cannot change this in the current version.
2061 'Message number' is the message's unique number in the folder. In the NNTP
2062 folder, it is article number, in the IMAP folder, it is UID and in the
2063 MH folder, it is the filename of the message.
2065 Temporal and Persistent marks are described later.
2067 'Date' is displayed like 'Month/Day(Week Day)Hour:Minute'.
2068 Default setting displays week day in Japanese, but if you want to
2069 display it in English, set the value of @code{wl-summary-weekday-name-lang}
2072 'Sender's indentation corresponds to the depth of the thread.
2073 Sender name is displayed as nickname if it is defined in the address book.
2074 Set @code{wl-use-petname} as nil, if you want to quit displaying with nickname.
2076 If number is printed at the head of 'sender' part like @samp{+2},
2077 that means the message have 2 follow messages.
2079 'Subject' is the Subject header field of the message. If the message
2080 have same subject with the parent message, it is not displayed. Some
2081 mailing list puts its sequence number in the subject field, but it is
2082 ignored. @code{wl-summary-no-subject-message} is displayed when the
2083 message has empty subject field.
2085 @subsection Temporary Marks
2086 @cindex Mark, Temporary
2088 There are four temporary marks,
2089 @samp{*}, @samp{D}, @samp{o} and @samp{O}.
2090 Temporary marks indicates message operations.
2095 You can execute a command on the all messages that have @samp{*} mark,
2096 with the key bindings which begins with @kbd{m}.
2099 The mark to delete. You can put @samp{D} by typing @kbd{d} key.
2103 After you type @kbd{o} key, prompt appears to input refile destination.
2104 Your answer is printed in the summary line.
2108 You can put this mark by typing @kbd{O} key.
2109 The difference between this mark and refile mark is,
2110 this mark does not delete the message while latter does.
2113 @kbd{x} key executes @samp{D}, @samp{o} and @samp{O} marks.
2115 @subsection Persistent Marks
2117 There are five persistent marks,
2118 @samp{N}, @samp{U}, @samp{!}, @samp{u} and @samp{$}.
2120 The persistent mark indicates the message's status and it is saved.
2121 Each persistent mark indicates:
2127 It is unread message.
2129 It is unread but cached message.
2131 It is read but it is not cached.
2133 It is important message. You can put @samp{$} mark by typing @kbd{$}
2134 key (if already exists, the mark is deleted). It is convenient to put
2135 this mark on the messages to remember (If you want to remember to write
2136 a reply for the message, for example) because this mark remains after
2137 you exited Emacs. Messages with the @samp{$} mark remains in the folder
2138 even the message itself is deleted in the actual folder.
2141 If the message is read and cached (or local message),there are no
2145 @samp{N}, @samp{U} and @samp{u} indicates that the message have no
2146 cache. Messages with the marks other than these, you can read them in
2147 the offline status even they are in the IMAP folder or netnews folder.
2149 @subsection How To Read
2151 Basically, you can read messages only typing space key again and again.
2153 To update summary status to the newest status (synchronize),
2156 You can jump to next unread message by typing @kbd{N} key, and @kbd{n} key
2157 moves cursor to the next message.
2158 Enter message buffer by typing @kbd{j} key.
2159 To operate multipart, you have to enter to the message buffer.
2161 @subsection Thread Operations
2163 For example, the following line indicates one thread (a context of a topic).
2166 384 09/17(Thu)01:32 [+1: Teranishi ] wl-0.6.2
2170 If you type @kbd{/} on this line, the thread is opened and it changes
2171 the appearance like following.
2174 384 09/17(Thu)01:32 [ Teranishi ] wl-0.6.2
2175 388 09/17(Thu)22:34 +-[ Murata san ]
2178 (Message 388 is the replied message to the message 384.)
2179 If you type @kbd{/} key once again, the thread is closed.
2180 With prefix argument, @kbd{/} opens all children threads.
2182 Commands with the key binding that begins with @kbd{t} executes commands
2183 on the messages in the thread.
2185 @subsection Cache File
2187 The messages which have to access via network (e.x. IMAP, NNTP folder)
2188 are cached as a local file.
2189 The cache file is saved under the directory @file{~/.elmo/cache}.
2191 To expire cache, type following.
2194 M-x elmo-cache-expire-by-size
2198 The command deletes cache files to the specified size by the order of
2201 @subsection Buffer Cache and Prefetching
2203 If the value of @code{elmo-use-buffer-cache} is non-nil,
2204 the messages that are read are kept in the cache buffer.
2205 It is called `buffer cache'.
2206 The number of cache buffer is specified by @code{elmo-buffer-cache-size}.
2208 There are message prefetching mechanism in the Wanderlust that prefetches next
2209 message while you are reading. This function requires that the value of
2210 @code{elmo-use-buffer-cache} is non-nil.
2212 You can control the message prefetching mechanism by these two variables.
2215 @item wl-cache-prefetch-folder-type-list
2216 @vindex wl-cache-prefetch-folder-type-list
2217 The initial setting is '(nntp imap4).
2218 It specifies the folder types in which message prefetching is enabled.
2219 In the initial setting, multi folder that contains localdir and imap4
2220 prefetches only imap4 messages.
2221 This variable precedes the value of @code{wl-cache-prefetch-folder-list}.
2223 If you want to prefetch localdir and localnews also, following setting is needed.
2225 (setq wl-cache-prefetch-folder-type-list
2226 '(nntp imap4 localdir localnews))
2229 @item wl-cache-prefetch-folder-list
2230 @vindex wl-cache-prefetch-folder-list
2231 The initial setting is nil.
2232 A list of regexp of folders to enable message prefetching.
2235 @subsection Auto Refile
2236 @vindex elmo-msgdb-extra-fields
2237 @vindex wl-refile-rule-alist
2238 @findex wl-summary-auto-refile
2240 You can refile messages automatically, by typing @kbd{C-o}
2241 (@code{wl-summary-auto-refile}). It decides destination of refile by
2242 the content of the message header information (information in the msgdb).
2244 By default, @samp{From}, @samp{Subject}, @samp{To} and @samp{Cc} is available.
2245 If you want to decide destination by other header fields,
2246 set the variable @code{elmo-msgdb-extra-fields} like following.
2249 (setq elmo-msgdb-extra-fields
2258 By this setting, Wanderlust saves extra fields in the msgdb. You have
2259 to type @kbd{s all} to get extra fields for the messages that are
2260 already exists in the summary.
2262 Then, specify the refile rule. The refile target folder of auto
2263 refiling is decided by the value of @code{wl-refile-rule-alist}.
2264 @code{wl-refile-rule-alist} is a list of a rule:
2267 (FIELD (REGEXP . TARGET)
2272 Each rule means `if FIELD value matches REGEXP, then refile to TARGET folder'.
2273 The rule matched first is applied.
2275 FIELD is a string of field name. You can specify a list of field name
2276 string, too. In this case, if one of these fields is matched, then the
2277 rule is fired (i.e. OR condition).
2279 REGEXP is a regular expression for field value. TARGET is a target
2280 folder string. You can specify a rule at TARGET part, too. In this
2281 case, If the field value of the rule and the current rule is matched,
2282 then the current rule is fired (i.e. AND condition).
2284 In TARGET part, you can refer matched substring of REGEXP.
2285 To refer substring, specify following in TARGET:
2288 \& means substitute original matched text.
2289 \N (number) means substitute what matched the Nth `\(...\)'.
2292 Following is an example of @code{wl-refile-rule-alist}.
2295 (setq wl-refile-rule-alist
2297 ("^Wanderlust" . "+wl")
2298 ("^Elisp" . "+elisp"))
2300 ("\\([a-z]+\\)@@gohome.org" . "+\\1"))
2302 ("me@@gohome.org" . ("To" ("you@@gohome.org" .
2303 "+from-me-to-you"))))))
2306 After these settings, refile marks are automatically put on the condition
2307 matched messages by typing @kbd{C-o} (@code{wl-summary-auto-refile}).
2309 Messages which have @code{wl-summary-auto-refile-skip-marks} is skipped
2311 By default, @samp{N}, @samp{U} and @samp{!} is specified, so the messages
2312 with these persistent marks are not automatically refiled.
2313 It means Wanderlust does not execute auto refile on unread messages by
2314 the default setting.
2315 To execute auto refile on all messages, set following.
2318 (setq wl-summary-auto-refile-skip-marks nil)
2321 @subsection Sticky Summary
2322 @cindex Summary, Sticky
2323 @cindex Sticky Summary
2325 The buffer of the `sticky summary' does not killed by typing @kbd{q}.
2327 Sticky buffer is created by entering the summary by typing @kbd{C-u g} or
2328 type @kbd{M-s} (@code{wl-summary-stick}) on the normal summary.
2330 The buffer name of the sticky summary becomes like
2331 @samp{Summary:@var{folder-name}}.
2333 You can visit the sticky summary at any time by @kbd{C-x b}
2334 (@code{switch-to-buffer}). To exit sticky summary, type @kbd{C-u
2335 q}. Other operations in the sticky summary are same as normal summary.
2337 @code{wl-summary-always-sticky-folder-list} specifies the folders that are
2338 automatically sticked.
2340 @section Key bindings
2341 @cindex Keybind, Summary Mode
2342 @cindex Keybind, Summary Buffer
2344 Key bindings of the summary mode are shown below.
2348 @kindex @key{SPC} (Summary)
2349 @findex wl-summary-read
2350 Proceed reading a message at the current cursor point.
2351 (@code{wl-summary-read})
2355 @findex wl-summary-redisplay
2356 Redisplay a message at the current cursor point.
2357 If this command is called with prefix argument,
2358 Redisplay message regardless of the message cache (message is re-loaded
2360 (@code{wl-summary-redisplay})
2364 @findex wl-summary-display-top
2365 Display the top message in the folder.
2366 (@code{wl-summary-display-top})
2370 @findex wl-summary-display-bottom
2371 Display the bottom message in the folder.
2372 (@code{wl-summary-display-bottom})
2376 @kindex @key{BS} (Summary)
2377 @kindex @key{DEL} (Summary)
2378 Display the previous page of the message at the current cursor point.
2379 @findex wl-summary-prev-page
2380 (@code{wl-summary-prev-page})
2383 @kindex @key{RET} (Summary)
2384 @findex wl-summary-next-line-content
2385 Display the next line of the message at the current cursor point.
2386 Display the message at the current cursor point if it is not displayed yet.
2387 (@code{wl-summary-next-line-content})
2391 @findex wl-thread-open-close
2392 Toggle open or close the thread at the current cursor point.
2393 (@code{wl-thread-open-close})
2398 @findex wl-thread-open-all
2399 (@code{wl-thread-open-all})
2404 @findex wl-thread-close-all
2405 (@code{wl-thread-close-all})
2410 @kindex M-@key{RET} (Summary)
2411 @findex wl-summary-prev-line-content
2412 Display the previous line of the message at the current cursor point.
2413 Display the message at the current cursor point if it is not displayed yet.
2414 (@code{wl-summary-prev-line-content})
2418 @findex wl-summary-goto-folder
2420 (@code{wl-summary-goto-folder})
2424 Mark all messages in the folder as read.
2425 @findex wl-summary-mark-as-read-all
2426 (@code{wl-summary-mark-as-read-all})
2430 @findex wl-summary-reply
2431 Prepare a draft for reply the message at the current cursor point.
2432 (@code{wl-summary-reply})
2436 @findex wl-summary-reply-with-citation
2437 Prepare a draft for reply the message at the current cursor point.
2438 (@code{wl-summary-reply-with-citation})
2442 @findex wl-summary-cancel-message
2443 If the message at current cursor point is your own netnews article,
2445 (@code{wl-summary-cancel-message})
2449 @findex wl-summary-reedit
2450 Prepare a draft for re-editing the message at current cursor point.
2451 If the message at current cursor point is your own netnews article,
2452 a draft for `supersedes message' for the message is prepared.
2453 (@code{wl-summary-reedit})
2456 @kindex M-e (Summary)
2457 @findex wl-summary-resend-bounced-mail
2458 If the message at current cursor point is a bounced message,
2459 a draft for re-sending original message is prepared.
2460 (@code{wl-summary-resend-bounced-mail})
2464 @findex wl-summary-forward
2465 A draft for forwarding the message at current cursor point is prepared.
2466 (@code{wl-summary-forward})
2470 @findex wl-summary-mark-as-important
2471 Put @samp{$} mark on the message at current cursor point.
2472 If already marked as @samp{$}, delete it.
2473 (@code{wl-summary-mark-as-important})
2479 Save the message at current cursor point.
2480 @findex wl-summary-save
2481 (@code{wl-summary-save})
2485 @findex wl-summary-next
2486 Move cursor to the next message.
2487 If message is marked with a temporal mark in
2488 @code{wl-summary-skip-mark-list}, cursor is not moved to it.
2489 In the offline mode, cursor is not moved to the messages which are not cached
2491 (@code{wl-summary-next})
2495 @findex wl-summary-prev
2496 Move cursor to the previous message.
2497 If message is marked with a temporal mark in
2498 @code{wl-summary-skip-mark-list}, cursor is not moved to it.
2499 In the offline mode, cursor is not moved to the messages which are not cached
2501 (@code{wl-summary-prev})
2505 @findex wl-summary-down
2506 Move cursor to the downward message which is unread or marked
2508 (@code{wl-summary-down})
2512 @findex wl-summary-up
2513 Move cursor to the upward message which is unread or marked
2515 (@code{wl-summary-up})
2520 Prepare a new draft.
2525 @findex wl-draft-write-current-newsgroup
2526 Prepare a new draft.
2527 If the current folder is netnews folder, Newsgroups: field is completed.
2528 (@code{wl-draft-write-current-newsgroup})
2532 @findex wl-summary-redisplay-all-header
2533 Redisplay the message at current cursor point with all header fields.
2534 (@code{wl-summary-redisplay-all-header})
2538 @findex wl-summary-redisplay-no-mime
2539 Redisplay the message at current cursor point without MIME analysis.
2540 (@code{wl-summary-redisplay-no-mime})
2544 @findex wl-summary-burst
2545 If the message at current cursor point has
2546 encapsulates multiple messages using MIME,
2547 de-capsulate and extract them on the current folder.
2548 (@code{wl-summary-burst})
2551 @kindex @@ (Summary)
2552 @findex wl-summary-edit-addresses
2553 Append/change/delete the message's sender information to the address book
2554 @file{~/.addresses} interactively.
2555 If this command is called with prefix argument, arbitrary address can be edited.
2556 (@code{wl-summary-edit-petname})
2560 @findex wl-status-update
2561 Sync up address book status with @file{~/.addresses}'s content.
2562 (@code{wl-status-update})
2566 @findex wl-summary-pipe-message
2567 Pipe current message's content to the external process.
2568 (@code{wl-summary-pipe-message})
2572 @findex wl-summary-print-message
2573 Print out current message's content.
2574 It uses ps-print module in Emacs 20.x.
2575 If you don't use color printer, you might want to set
2576 @code{wl-ps-print-buffer-func} to 'ps-print-buffer.
2577 (@code{wl-summary-print-message})
2581 @findex wl-summary-exit
2582 Exit current folder.
2583 (@code{wl-summary-exit})
2587 @findex wl-summary-jump-to-current-message
2588 Jump cursor to the currently displayed message's window.
2589 (@code{wl-summary-jump-to-current-message})
2593 Jump cursor to the other message.
2594 @findex wl-summary-jump-to-msg
2595 (@code{wl-summary-jump-to-msg})
2599 Update summary status and
2600 prefetch all messages which have marks included in the
2601 @code{wl-summary-incorporate-marks}.
2602 @findex wl-summary-incorporate
2603 (@code{wl-summary-incorporate})
2606 @kindex M-j (Summary)
2607 @findex wl-summary-jump-to-msg-by-message-id
2608 Jump cursor to the message which have specified Message-Id.
2609 If @code{elmo-use-database} is non-nil, other folder is also searched.
2610 (@code{wl-summary-jump-to-msg-by-message-id})
2614 Jump to parent message.
2615 @findex wl-summary-jump-to-parent-message
2616 (@code{wl-summary-jump-to-parent-message})
2620 @findex wl-summary-mark-as-unread
2621 Mark as unread the message at current cursor point.
2622 (@code{wl-summary-mark-as-unread})
2626 @findex wl-summary-sync
2627 Synchronize summary view after prompting the update range
2628 (all, update, rescan, first, last).
2631 all ...Discard current summary and update all message.
2632 update ...Update the difference between summary and the folder itself.
2633 rescan ...Rescan the msgdb and display again.
2634 rescan-noscore ...Rescan the msgdb and display again (without scoring).
2635 first, last ...Move to the filter folder(partial filter).
2639 (@code{wl-summary-sync})
2643 @findex wl-summary-sort
2645 You can sort by date, from, number and subject.
2646 (@code{wl-summary-sort})
2650 @findex wl-summary-toggle-thread
2651 Toggle the threading.
2652 Threading status is displayed on the modeline.
2653 @{S@} means threading is off (Sequence) and
2654 @{T@} means threading is on (Thread).
2655 (@code{wl-summary-toggle-thread})
2659 @findex wl-summary-toggle-disp-folder
2660 Toggle displaying of folder window.
2661 (@code{wl-summary-toggle-disp-folder})
2665 Toggle displaying of message window.
2666 @findex wl-summary-toggle-disp-msg
2667 (@code{wl-summary-toggle-disp-msg})
2671 Move to the virtual folder with the condition specified.
2672 If called with prefix argument and current folder is virtual, exit it.
2673 @findex wl-summary-virtual
2674 (@code{wl-summary-virtual})
2677 @kindex @key{TAB} (Summary)
2678 @findex wl-summary-goto-last-displayed-msg
2679 Jump to the message which is displayed last.
2680 (@code{wl-summary-goto-last-displayed-msg})
2684 Put @samp{*} mark on the messages that satisfies the specified condition.
2685 @findex wl-summary-pick
2686 (@code{wl-summary-pick})
2690 @findex wl-summary-mark-as-read
2691 Mark as read the message at the current cursor point.
2692 (@code{wl-summary-mark-as-read})
2696 Prefetch the message at the current cursor point.
2697 @findex wl-summary-prefetch
2698 (@code{wl-summary-prefetch})
2702 Execute @samp{D}, @samp{o} and @samp{O} marks.
2703 @findex wl-summary-exec
2704 (@code{wl-summary-exec})
2708 @findex wl-summary-target-mark-line
2709 Put target mark on the message at the current cursor point.
2710 (@code{wl-summary-target-mark-line})
2714 Put refile mark on the message at the current cursor point.
2715 @findex wl-summary-refile
2716 (@code{wl-summary-refile})
2719 @kindex C-o (Summary)
2720 Execute auto refile.
2721 @findex wl-summary-auto-refile
2722 (@code{wl-summary-auto-refile})
2726 Put copy mark on the message at the current cursor point.
2727 @findex wl-summary-copy
2728 (@code{wl-summary-copy})
2731 @kindex M-o (Summary)
2732 Put refile mark on the message at the current cursor point with the destination
2733 previously specified.
2734 @findex wl-summary-refile-prev-destination
2735 (@code{wl-summary-refile-prev-destination})
2739 @findex wl-summary-delete
2740 Put delete mark on the message at the current cursor point.
2741 (@code{wl-summary-delete})
2745 @findex wl-summary-unmark
2746 Unmark the temporal mark on the message at the current cursor point.
2747 (@code{wl-summary-unmark})
2751 Unmark all the temporal marks.
2752 @findex wl-summary-unmark-all
2753 (@code{wl-summary-unmark-all})
2756 @kindex r R (Summary)
2757 @findex wl-summary-mark-as-read-region
2758 Mark as read messages in the specified region.
2759 (@code{wl-summary-mark-as-read-region})
2762 @kindex r $ (Summary)
2763 @findex wl-summary-mark-as-important-region
2764 Mark as important @samp{$} messages in the specified region.
2765 If @samp{$} already exists, it is deleted.
2766 (@code{wl-summary-mark-as-important-region})
2769 @kindex r ! (Summary)
2770 @findex wl-summary-mark-as-unread-region
2771 Mark as unread messages in the specified region.
2772 (@code{wl-summary-mark-as-unread-region})
2775 @kindex r i (Summary)
2776 @findex wl-summary-prefetch-region
2777 Prefetch messages in the specified region.
2778 (@code{wl-summary-prefetch-region})
2781 @kindex r x (Summary)
2782 @findex wl-summary-exec-region
2783 Execute @samp{D}, @samp{o} and @samp{O} marks on the messages in the
2785 (@code{wl-summary-exec-region})
2788 @kindex r * (Summary)
2789 @findex wl-summary-target-mark-region
2790 Put target mark on the messages in the specified region.
2791 (@code{wl-summary-target-mark-region})
2794 @kindex r o (Summary)
2795 @findex wl-summary-refile-region
2796 Put refile mark on the messages in the specified region.
2797 (@code{wl-summary-refile-region})
2800 @kindex r O (Summary)
2801 @findex wl-summary-copy-region
2802 Put copy mark on the messages in the specified region.
2803 (@code{wl-summary-copy-region})
2806 @kindex r d (Summary)
2807 @findex wl-summary-delete-region
2808 Put delete mark on the messages in the specified region.
2809 (@code{wl-summary-delete-region})
2812 @kindex r u (Summary)
2813 @findex wl-summary-unmark-region
2814 Delete temporal mark on the messages in the specified region.
2815 (@code{wl-summary-unmark-region})
2818 @kindex r y (Summary)
2819 Save messages in the specified region.
2820 @findex wl-summary-save-region
2821 (@code{wl-summary-save-region})
2824 @kindex t R (Summary)
2825 @findex wl-thread-mark-as-read
2826 Mark as read messages which are the descendant of the current thread.
2827 With prefix argument, it affects on the all messages in the thread tree.
2828 (@code{wl-thread-mark-as-read})
2831 @kindex t $ (Summary)
2832 @findex wl-thread-mark-as-important
2833 Put important mark @samp{$} on the messages which are the
2834 descendant of the current thread.
2835 If @samp{$} mark exists, it is deleted.
2836 With prefix argument, it affects on the all messages in the thread tree.
2837 (@code{wl-thread-mark-as-important})
2840 @kindex t ! (Summary)
2841 @findex wl-thread-mark-as-unread
2842 Mark as unread messages which are the descendant of the current thread.
2843 With prefix argument, it affects on the all messages in the thread tree.
2844 (@code{wl-thread-mark-as-unread})
2847 @kindex t i (Summary)
2848 @findex wl-thread-prefetch
2849 Prefetch messages which are the descendant of the current thread.
2850 With prefix argument, it affects on the all messages in the thread tree.
2851 (@code{wl-thread-prefetch})
2854 @kindex t x (Summary)
2855 @findex wl-thread-exec
2856 Execute @samp{D}, @samp{o} and @samp{O} marks on the messages which are
2857 the descendant of the current thread. With prefix argument, it affects
2858 on the all messages in the thread tree.
2859 (@code{wl-thread-exec})
2862 @kindex t * (Summary)
2863 @findex wl-thread-target-mark
2864 Put target mark @samp{*} on the messages which are the descendant of the
2865 current thread. With prefix argument, it affects on the all messages in
2867 (@code{wl-thread-target-mark})
2870 @kindex t o (Summary)
2871 @findex wl-thread-refile
2872 Put refile mark on the messages which are the descendant of the current thread.
2873 With prefix argument, it affects on the all messages in the thread tree.
2874 (@code{wl-thread-refile})
2877 @kindex t O (Summary)
2878 @findex wl-thread-copy
2879 Put copy mark on the messages which are the descendant of the current thread.
2880 With prefix argument, it affects on the all messages in the thread tree.
2881 (@code{wl-thread-copy})
2884 @kindex t d (Summary)
2885 @findex wl-thread-delete
2886 Put delete mar on the messages which are the descendant of the current thread.
2887 With prefix argument, it affects on the all messages in the thread tree.
2888 (@code{wl-thread-delete})
2891 @kindex t u (Summary)
2892 @findex wl-thread-unmark
2894 Unmark temporal mark on the messages which are the descendant of the
2895 current thread. With prefix argument, it affects on the all messages in
2897 (@code{wl-thread-unmark})
2900 @kindex t y (Summary)
2901 @findex wl-thread-save
2902 Save messages which are the descendant of the current thread.
2903 With prefix argument, it affects on the all messages in the thread tree.
2904 (@code{wl-thread-save})
2907 @kindex m i (Summary)
2908 @findex wl-summary-target-mark-prefetch
2909 Prefetch all messages which have target mark @samp{*}.
2910 (@code{wl-summary-target-mark-prefetch})
2913 @kindex m R (Summary)
2914 @findex wl-summary-target-mark-mark-as-read
2915 Mark as read all messages which have target mark @samp{*}.
2916 (@code{wl-summary-target-mark-mark-as-read})
2919 @kindex m $ (Summary)
2920 @findex wl-summary-target-mark-mark-as-important
2921 Mark as important all messages which have target mark @samp{*}.
2922 If already marked as @samp{$}, it is deleted.
2923 (@code{wl-summary-target-mark-mark-as-important})
2926 @kindex m ! (Summary)
2927 @findex wl-summary-target-mark-mark-as-unread
2928 Mark as unread all messages which have target mark @samp{*}.
2929 (@code{wl-summary-target-mark-mark-as-unread})
2932 @kindex m o (Summary)
2933 @findex wl-summary-target-mark-refile
2934 Put refile mark on the messages which have target mark @samp{*}.
2935 (@code{wl-summary-target-mark-refile})
2938 @kindex m O (Summary)
2939 @findex wl-summary-target-mark-copy
2940 Put copy mark on the messages which have target mark @samp{*}.
2941 (@code{wl-summary-target-mark-copy})
2944 @kindex m d (Summary)
2945 @findex wl-summary-target-mark-delete
2946 Put delete mark on the messages which have target mark @samp{*}.
2947 (@code{wl-summary-target-mark-delete})
2950 @kindex m y (Summary)
2951 @findex wl-summary-target-mark-save
2952 Save messages which have target mark @samp{*}.
2953 (@code{wl-summary-target-mark-save})
2956 @kindex m u (Summary)
2957 Unmark all temporal marks.
2958 (@code{wl-summary-delete-all-temp-marks})
2959 @findex wl-summary-delete-all-temp-marks
2962 @kindex m a (Summary)
2963 Put target mark @samp{*} on the all messages.
2964 (@code{wl-summary-target-mark-all})
2965 @findex wl-summary-target-mark-all
2968 @kindex m t (Summary)
2969 Put target mark @samp{*} on the messages in the current thread.
2970 @findex wl-summary-target-mark-thread
2971 (@code{wl-summary-target-mark-thread})
2974 @kindex m r (Summary)
2975 @findex wl-summary-target-mark-region
2976 Put target mark @samp{*} on the messages in the specified region.
2977 (@code{wl-summary-target-mark-region})
2980 @kindex m A (Summary)
2981 @findex wl-summary-target-mark-reply-with-citation
2982 Prepare a draft which cites all messages which have target mark @samp{*}.
2983 (@code{wl-summary-target-mark-reply-with-citation})
2986 @kindex m f (Summary)
2987 @findex wl-summary-target-mark-forward
2988 Prepare a draft which forwards all messages which have target mark @samp{*}.
2989 (@code{wl-summary-target-mark-forward})
2992 @kindex m U (Summary)
2993 @findex wl-summary-target-mark-uudecode
2994 Uudecode the messages which have target mark @samp{*}.
2995 (@code{wl-summary-target-mark-uudecode})
2998 @kindex m ? (Summary)
2999 @findex wl-summary-target-mark-pick
3000 Pick messages from the @samp{*} marked messages.
3001 That is, @samp{*} marks on the messages are remained
3002 if the specified condition is satisfied.
3003 (@code{wl-summary-target-mark-pick})
3006 @kindex M-t (Summary)
3007 @findex wl-toggle-plugged
3008 Toggle offline/online status of Wanderlust.
3009 (@code{wl-toggle-plugged})
3012 @kindex C-t (Summary)
3013 Start Wanderlust's plug-status manager.
3014 (@code{wl-plugged-change})
3017 @kindex C-c C-o (Summary)
3018 @findex wl-jump-to-draft-buffer
3019 Move to the draft buffer if available. If multiple draft buffer exists,
3020 moved to one after another. If prefix argument is specified, load draft
3021 folder's message to the draft buffer and jump to it.
3022 (@code{wl-jump-to-draft-buffer})
3025 @section Customize variables
3028 @item wl-summary-move-order
3029 @vindex wl-summary-move-order
3030 The initial setting is 'unread.
3031 Specify cursor moving policy.
3032 If you want to precede new messages, set 'new.
3033 If you want to precede unread messages, set 'unread.
3034 If nil, proceed to next message.
3036 @item wl-auto-select-first
3037 @vindex wl-auto-select-first
3038 The initial setting is nil.
3039 If non-nil, first message is automatically displayed.
3041 @item wl-auto-select-next
3042 @vindex wl-auto-select-next
3043 The initial setting is nil.
3044 If non-nil, jump to next summary automatically.
3045 If 'unread, jump to next unread folder's summary after confirmation.
3046 If 'skip-no-unread, unread folders are automatically skipped.
3048 @item wl-thread-insert-opened
3049 @vindex wl-thread-insert-opened
3050 The initial setting is nil.
3051 If non-nil, thread is inserted as opened.
3053 @item wl-thread-open-reading-thread
3054 @vindex wl-thread-open-reading-thread
3055 The initial setting is t.
3056 If non-nil, reading thread is automatically opened though it is closed thread.
3058 @item wl-summary-exit-next-move
3059 @vindex wl-summary-exit-next-move
3060 The initial setting is t.
3061 If non-nil, move to next folder at summary exit.
3063 @item wl-folder-move-cur-folder
3064 @vindex wl-folder-move-cur-folder
3065 The initial setting is nil.
3066 If non-nil, cursor position on the folder is moved.
3068 @item wl-summary-weekday-name-lang
3069 @vindex wl-summary-weekday-name-lang
3070 The initial setting is "ja".
3071 Specify language of the weekday.
3072 "en" displays English, "fr" displays French, "de" displays Deutsch.
3074 @item wl-summary-fix-timezone
3075 @vindex wl-summary-fix-timezone
3076 The initial setting is "JST".
3077 Timezone to adjust summary's timezone.
3078 If nil, adjust to UTC.
3080 @item wl-use-petname
3081 @vindex wl-use-petname
3082 The initial setting is t.
3083 If non-nil, sender part displays nickname.
3085 @item wl-break-pages
3086 @vindex wl-break-pages
3087 The initial setting is t.
3088 If non-nil, message is splitted as pages by @samp{^L}.
3090 @item wl-message-window-size
3091 @vindex wl-message-window-size
3092 The initial setting is '(1 . 4).
3093 A cons cell to specify the rate of summary and message window.
3094 car:cdr corresponds summary:message.
3096 @item wl-summary-recenter
3097 @vindex wl-summary-recenter
3098 The initial setting is t.
3099 If non-nil, cursor point is moved to the center of the summary window.
3101 @item wl-summary-indent-length-limit
3102 @vindex wl-summary-indent-length-limit
3103 The initial setting is 46.
3104 Specify the limit of thread indent level.
3105 If nil, max indent level is unlimited.
3107 @item wl-summary-no-from-message
3108 @vindex wl-summary-no-from-message
3109 The initial setting is "nobody@@nowhere?".
3110 A string which is displayed when there's no From: field in the message.
3112 @item wl-summary-no-subject-message
3113 @vindex wl-summary-no-subject-message
3114 The initial setting is "(WL:No Subject in original.)".
3115 A string which is displayed when there's no Subject: field in the message.
3117 @item wl-summary-width
3118 @vindex wl-summary-width
3119 The initial setting is 80.
3120 Width of summary line. If nil, summary line's width is as is.
3122 @item wl-use-folder-petname
3123 @vindex wl-use-folder-petname
3124 The initial setting is '(modeline).
3125 A list of display policy (symbol) of folder nickname.
3126 Available symbols are:
3130 Display folder petname on modeline.
3132 Destination folder is notified as nickname if
3133 @code{wl-auto-select-next} is non-nil.
3135 You can input folder name by nickname in the function
3136 @code{wl-summary-read-folder}.
3139 @item wl-summary-move-direction-toggle
3140 @vindex wl-summary-move-direction-toggle
3141 The initial setting is t.
3142 If non-nil, last executed @kbd{p}, @kbd{P}, @kbd{n}, @kbd{N} toggles
3143 the direction of cursor move.
3144 If you want to aware of reading direction, set this to t.
3147 @vindex wl-from-width
3148 The initial setting is 17.
3149 Width of sender part of summary line.
3151 @item wl-summary-divide-thread-when-subject-changed
3152 @vindex wl-summary-divide-thread-when-subject-changed
3153 The initial setting is nil.
3154 If non-nil, thread is splitted if the subject is changed.
3156 @item wl-summary-search-via-nntp
3157 @vindex wl-summary-search-via-nntp
3158 The initial setting is 'confirm.
3159 If non-nil and @code{wl-summary-jump-to-msg-by-message-id} failed,
3160 call @code{wl-summary-jump-to-msg-by-message-id-via-nntp} and
3161 search message from the NNTP server @code{elmo-default-nntp-server}.
3162 The value of @code{elmo-default-nntp-user}, @code{elmo-default-nntp-port},
3163 @code{elmo-default-nntp-ssl} are used. If 'confirm, server name can
3164 be specified. You can specify NNTP folder format like
3165 @samp{-:username@@servername:119!}.
3167 @item wl-summary-keep-cursor-command
3168 @vindex wl-summary-keep-cursor-command
3169 The initial setting is
3170 '(wl-summary-goto-folder wl-summary-goto-last-visited-folder).
3171 When you entered to summary by these commands and the target summary
3172 buffer already exists, summary status is not automatically updated and
3173 cursor position is saved.
3175 @item wl-summary-update-confirm-threshold
3176 @vindex wl-summary-update-confirm-threshold
3177 The initial setting is 500.
3178 If updated message number is larger than this value,
3179 confirm whether drop them or not.
3181 @item wl-summary-always-sticky-folder-list
3182 @vindex wl-summary-always-sticky-folder-list
3183 The initial setting is nil.
3184 @code{wl-summary-always-sticky-folder-list} specifies the folders that are
3185 automatically sticked. Each element is regexp of folder name.
3187 @item wl-summary-reserve-mark-list
3188 @vindex wl-summary-reserve-mark-list
3189 The initial setting is '("o" "O" "D").
3190 If a message is already marked as temporal marks in this list,
3191 the message is not marked by any mark command.
3193 @item wl-summary-skip-mark-list
3194 @vindex wl-summary-skip-mark-list
3195 The initial setting is '("D").
3196 If a message is already marked as temporal marks in this list,
3197 the message is skipped at cursor move.
3199 @item wl-fetch-confirm-threshold
3200 @vindex wl-fetch-confirm-threshold
3201 The initial setting is 30000 (bytes).
3202 If displaying message has larger size than this value,
3203 Wanderlust confirms whether fetch the message or not.
3204 If nil, the message is fetched without confirmation.
3206 @item wl-prefetch-threshold
3207 @vindex wl-prefetch-threshold
3208 The initial setting is 30000 (bytes).
3209 If prefetching message has larger size than this value and
3210 @code{wl-prefetch-confirm} is non-nil,
3211 Wanderlust confirms whether prefetch the message or not.
3212 If @code{wl-prefetch-threshold} is nil, the message is prefetched
3213 without confirmation.
3215 @item wl-prefetch-confirm
3216 @vindex wl-prefetch-confirm
3217 The initial setting is t. If non-nil,
3218 Wanderlust confirms whether prefetch the message or not if the
3219 message has larger size than @code{wl-prefetch-threshold}.
3221 @item wl-cache-fetch-threshold
3222 @vindex wl-cache-fetch-threshold
3223 The initial setting is 30000 (bytes).
3224 The messages which have larger size than @code{wl-fetch-confirm-threshold}
3225 are skipped buffer caching mechanism. If nil, any messages are prefetched by
3226 buffer caching mechanism.
3228 @item elmo-imap4-use-cache
3229 @vindex elmo-imap4-use-cache
3230 The initial setting is t.
3231 If non-nil, messages read via IMAP4 are cached.
3233 @item elmo-nntp-use-cache
3234 @vindex elmo-nntp-use-cache
3235 The initial setting is t.
3236 If non-nil, messages read via NNTP are cached.
3238 @item elmo-pop3-use-cache
3239 @vindex elmo-pop3-use-cache
3240 The initial setting is t.
3241 If non-nil, messages read via POP3 are cached.
3247 @node Message, Draft, Summary, Top
3248 @chapter Message Buffer
3250 Message Buffers utilize MIME-View mode of SEMI/tm.
3251 For operational procedures and key bindings, refer to respective
3253 @xref{MIME-View, , ,mime-ui-ja, a MIME user interface for GNU Emacs}.
3255 @kbd{p} at the top of a message or @kbd{n} at the bottom of a message
3256 brings you back to Summary mode.
3257 @kbd{l} toggles display of Summary mode buffer.
3259 @section Key Bindings
3265 @findex wl-message-toggle-disp-summary
3266 Toggles display of Summary mode buffer.
3267 (@code{wl-message-toggle-disp-summary})
3270 @findex wl-message-refer-article-or-url
3271 @kindex Button-2 (Message)
3272 Assumes Message-ID at the mouse pointer, and shows the corresponding
3274 (@code{wl-message-refer-article-or-url})
3276 @item Button-4 (upward movement of a wheel)
3277 @kindex Button-4 (Message)
3278 @findex wl-message-wheel-down
3279 Scrolls the message backwards. When the top of the message is hit,
3280 moves to the previous message.
3281 (@code{wl-message-wheel-down})
3283 @item Button-5 (downward movement of a wheel)
3284 @kindex Button-5 (Message)
3285 @findex wl-message-wheel-up
3286 Scrolls the message forward. When the bottom of the message is hit,
3287 moves to the next message.
3288 (@code{wl-message-wheel-up})
3291 @section Customizable Variables
3294 @item wl-message-window-size
3295 @vindex wl-message-window-size
3296 Initial setting is @code{'(1 . 4)}. It is a cons cell and the ratio of
3297 its car and cdr value corresponds to the ratio of Summary and Message
3304 @node Draft, Disconnected Operations, Message, Top
3305 @chapter Draft Buffer
3307 At Summary mode, pressing @kbd{w} and the like creates a new draft
3308 buffer. You can edit and send mail and news articles in this buffer.
3312 Basically it is Emacs-standard mail mode.
3314 @subsection Address Completion
3316 Initially, the cursor is at the To: field. Fill in recipients
3317 addresses. @kbd{@key{TAB}} completes them.
3319 If you want to submit a news article, add Newsgroups: field by
3320 yourself. Field names can be completed by @kbd{@key{TAB}}.
3322 If you save the draft buffer you are editing, it is appended to the
3323 folder specified by @code{wl-draft-folder}.
3325 Using FCC: field, you can specify the folder to which a copy of the
3326 message is saved when it is sent.
3328 @subsection Editing Messages
3330 Multi-part editing utilize MIME edit mode of SEMI/tm. For procedures of
3331 editing, refer to respective documents.
3332 @xref{Mail Methods, , ,mime-ui-ja, a MIME user interface for GNU Emacs}.
3334 @subsection Dynamic Modification of Messages
3335 @vindex wl-draft-config-alist
3337 @c @cindex Change Message
3338 @c @cindex Message, Change Dynamic
3340 You can set @code{wl-draft-config-alist} so that header and body of the
3341 message will automatically modified depending on information of header
3344 The initial setting of @code{wl-draft-config-alist} is nil.
3346 In the example below, the header is modified when
3347 @code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
3348 You can set @code{wl-interactive-send} to non-nil so as to confirm
3349 changes before sending the message.
3352 (setq wl-draft-config-alist
3353 '(((string-match "aaa.ne.jp$" (system-name))
3354 ;; @r{applied if the expression is non-nil}
3355 (wl-smtp-posting-server . "mailserver-B")
3356 (wl-nntp-posting-server . "newsserver-B")
3357 ;; @r{settings of temporary variables}
3359 ("^To: .*user@@aaa.bbb.com"
3360 ;; @r{applied if it matches the header of the draft buffer}
3361 ("Organization" . (format "Go %s" my-webpage)))
3362 ;; @r{you can write elisp expressions here (eval only)}
3363 (top . "Hello.\n") ;; @r{inserted at the top of the body}
3364 (bottom . "\nBye.\n") ;; @r{inserted at the bottom of the body}
3368 The format of @code{wl-draft-config-alist} is:
3371 '(("regexp of the header" or elisp expression
3372 ("Field" . value(elisp expression))
3373 (variable . value(elisp expression))
3374 (sub-function . value(elisp expression))
3377 ("regexp of the header" or elisp expression
3378 ("Field" . value(elisp expression))
3382 Per default, there are 10 following sub-functions.
3385 'header: Inserts the specified string at the bottom of the header.
3386 'header-file: Inserts the specified file at the bottom of the header.
3387 'x-face: Inserts "X-Face" field with the content of the specified file.
3388 'top: Inserts the specified string at the top of the body.
3389 'top-file: Inserts the specified file at the top of the body.
3390 'body: Replaces the body with the specified string.
3391 Specifying nil deletes the entire body string.
3392 'body-file: Replaces the body with the content of the specified file.
3393 'bottom: Inserts the specified string at the bottom of the body.
3394 'bottom-file: Inserts the specified file at the top of the body.
3395 'template: Applies the specified template.
3396 (refer to the next subsection)
3399 These are defined in @code{wl-draft-config-sub-func-alist} and you can
3400 change them or add your own functions. If you read the code, you can
3401 easily find how to write the functions.
3403 At the first of each item, "a regular expression of the header" or an
3404 elisp expression should be specified. In the case of an elisp
3405 expression, the item is applied when the expression is evaluated
3408 Per default, when multiple items match or are evaluated non-nil, all
3409 such items are applied, but if you set a variable
3410 @code{wl-draft-config-matchone} to t, only the first matching one is
3413 At the second of the item, a cons or a list of functions should be
3414 specified. The car part of the cons should be a header field, a
3415 variable, or a sub-function. When a header field is specified, the field
3416 will be modified. If a variable is specified, the value of the variable
3417 will be modified temporarily.
3419 In the cdr part of a cons, not only a variable but also an elisp
3420 expression can be specified as is. If the car part is a header field
3421 and the cdr part is nil, the field will be deleted.
3423 See the next example as well:
3426 (setq wl-draft-config-alist
3428 "X-ML-Name: \\(Wanderlust\\|emacs-mime-ja\\|apel-ja\\)"
3429 ;; @r{applied if it matches the header of the buffer being replied}
3430 (body . " Hello.\n")
3431 (template . "default")
3435 As in the (1) above, if a header regexp is prepended with @code{reply},
3436 it is applied when the draft is prepared by @code{wl-summary-reply} for
3437 example, and when it matches the header being replied. It is ignored
3438 when there is no buffer being replied, like after @code{wl-draft} was
3441 Note that @code{wl-draft-config-alist} is applied only once when
3442 @code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
3443 Therefore, if you want to apply @code{wl-draft-config-alist} again after
3444 aborting transmission, execute @kbd{C-c C-e}
3445 (@code{wl-draft-config-exec}).
3447 If you want to apply @code{wl-draft-config-alist} when a draft buffer is
3448 prepared, do the following:
3451 (add-hook 'wl-mail-setup-hook 'wl-draft-config-exec)
3454 @subsection Inserting Templates
3456 @cindex Apply Template
3458 Set a variable @code{wl-template-alist}, and type
3459 @kbd{C-c C-j} or @kbd{M-x wl-template-select}
3460 in the draft buffer.
3462 The format of @code{wl-template-alist} is almost the same as
3463 @code{wl-draft-config-alist}.
3466 (setq wl-template-alist
3469 ("Organization" . "~/.wl sample")
3470 (body . "Hello.\n"))
3472 (template . "default") ;; @r{(a)}
3473 ("To" . "jousi@@kaisha.jp")
3474 ("Subject" . "Report")
3475 (body-file . "~/work/report.txt")
3480 As you can see, the only difference is item (template) names such as
3481 "default" and "report", instead of a regexp of header.
3482 Because definition of each item is the same as
3483 @code{wl-draft-config-alist}, you can call another template, like (a).
3485 Executing the command @code{wl-template-select} results in template
3486 selection, but the result differs depending on variable
3487 @code{wl-template-visible-select}.
3489 If @code{wl-template-visible-select} is t (default), a buffer window is
3490 shown below the draft buffer. You can select a template by @kbd{n} and
3491 @kbd{p} seeing the buffer window.
3493 Press the RETURN key and the template is actually applied to the draft
3494 buffer. If you press @kbd{q}, nothing is applied. In addition, you can
3495 adjust the window size by @code{wl-template-buffer-lines}.
3497 If @code{wl-template-visible-select} is nil, you should type the name of
3498 the template in the mini buffer.
3500 As shown in the example in @code{wl-draft-config-alist}, you can select
3501 "default" template by writing:
3504 (template . "default")
3508 @subsection Sending mail by POP-before-SMTP
3509 @cindex POP-before-SMTP
3511 You can send mail by POP-before-SMTP with this single line:
3514 (setq wl-draft-send-mail-func 'wl-draft-send-mail-with-pop-before-smtp)
3518 Configure the following variables if you need.
3521 @item wl-pop-before-smtp-user
3522 The POP user name for POP-before-SMTP authentication.
3523 If unset, @code{elmo-default-pop3-user} is used.
3525 @item wl-pop-before-smtp-server
3526 The POP server name for POP-before-SMTP authentication.
3527 If unset, @code{elmo-default-pop3-server} is used.
3529 @item wl-pop-before-smtp-authenticate-type
3530 The POP authentication method for POP-before-SMTP authentication.
3531 If unset, @code{elmo-default-pop3-authenticate-type} is used.
3533 @item wl-pop-before-smtp-port
3534 The POP port number for POP-before-SMTP authentication.
3535 If unset, @code{elmo-default-pop3-port} is used.
3537 @item wl-pop-before-smtp-ssl
3538 If non-nil, POP connection is established using SSL.
3539 If 'starttls, STARTTLS (RFC2595) connection will be established.
3540 If unset, @code{elmo-default-pop3-ssl} is used.
3543 If variables for POP-before-SMTP (@code{wl-pop-before-smtp-*}) are
3544 unset, settings for POP folders (@code{elmo-default-pop3-*}) are
3546 Therefore, if SMTP server and POP server are actually the same, and if
3547 POP folder per default (such as @samp{&}) is available, no settings are
3550 Refer to the following URL about POP-before-SMTP.
3553 http://spam.ayamura.org/tools/smPbS.html
3554 http://www.iecc.com/pop-before-smtp.html
3557 @section Key Bindings
3558 @cindex Keybind, Draft Mode
3559 @cindex Keybind, Draft Buffer
3564 @kindex C-c C-y (Draft)
3565 @findex wl-draft-yank-original
3566 Cites the content of the current message buffer.
3567 (@code{wl-draft-yank-original})
3570 @kindex C-c C-p (Draft)
3571 @findex wl-draft-preview-message
3572 Previews the content of the current draft.
3573 This is useful for previewing MIME multi-part messages.
3574 (@code{wl-draft-preview-message})
3577 @kindex C-c C-s (Draft)
3578 @findex wl-draft-send
3579 Sends the content of the current draft. Does not erase the draft buffer.
3580 This is useful for sending multiple messages, which are a little different
3582 (@code{wl-draft-send})
3585 @kindex C-c C-c (Draft)
3586 @findex wl-draft-send-and-exit
3587 Sends the content of the current draft and erases the draft buffer.
3588 (@code{wl-draft-send-and-exit})
3591 @kindex C-x C-s (Draft)
3592 @findex wl-draft-save
3593 Save the current draft.
3594 (@code{wl-draft-save})
3597 @kindex C-c C-k (Draft)
3598 @findex wl-draft-kill
3599 Kills the current draft.
3600 (@code{wl-draft-kill})
3603 @c @kindex C-x k (Draft)
3604 @c @findex wl-draft-mimic-kill-buffer
3605 @c Kills the current draft.
3606 @c (@code{wl-draft-mimic-kill-buffer})
3609 @kindex C-c C-z (Draft)
3610 @findex wl-draft-save-and-exit
3611 Saves the current draft, and erases the draft buffer.
3612 This is useful if you want to suspend editing of the draft.
3613 You can resume editing by pressing @kbd{E} (@code{wl-summary-reedit}) in
3614 the @samp{+draft} folder.
3615 (@code{wl-draft-save-and-exit})
3618 @kindex C-c C-r (Draft)
3619 @findex wl-caesar-region
3620 Encodes or decodes the specified region in Caesar cipher.
3621 (@code{wl-caesar-region})
3625 @findex wl-toggle-plugged
3626 Toggles off-line/on-line states of Wanderlust.
3627 (@code{wl-toggle-plugged})
3630 @kindex C-c C-o (Draft)
3631 @findex wl-jump-to-draft-buffer
3632 Jumps to the other draft buffer, if exists.
3633 With prefix argument, reads a file (if any) from the draft folder when
3634 there is no such buffer.
3635 (@code{wl-jump-to-draft-buffer})
3638 @kindex C-c C-e (Draft)
3639 @findex wl-draft-config-exec
3640 Applies @code{wl-draft-config-alist}.
3641 (@code{wl-draft-config-exec})
3644 @kindex C-c C-j (Draft)
3645 @findex wl-template-select
3647 (@code{wl-template-select})
3650 @kindex C-c C-a (Draft)
3651 @findex wl-draft-insert-x-face-field
3652 Inserts the content of a file @file{~/.xface} (the value of the variable
3653 @code{wl-x-face-file}) as an X-Face field in the draft buffer.
3655 There should be encoded X-Face strings as a content of a file @file{~/.xface}.
3656 (@code{wl-draft-insert-x-face-field})
3659 @section Customizable Variables
3662 @item wl-subscribed-mailing-list
3663 @vindex wl-subscribed-mailing-list
3664 The initial setting is nil.
3665 Mailing lists to which you subscribe.
3666 If any of these are contained in To or Cc field of a reply draft,
3667 removes your own address from Mail-Followup-To and Cc.
3668 And if any of these are contained in To or Cc field of a message to be
3669 automatically re-filed, the destination folder will be leaned in
3670 connection with the address.
3671 @item wl-insert-mail-followup-to
3672 @vindex wl-insert-mail-followup-to
3673 The initial setting is nil.
3674 If non-nil, Mail-Followup-To field is automatically inserted in the
3677 @item wl-insert-mail-reply-to
3678 @vindex wl-insert-mail-reply-to
3679 The initial setting is nil.
3680 If non-nil, Mail-Reply-To field is automatically inserted in the
3683 @item wl-auto-insert-x-face
3684 @vindex wl-auto-insert-x-face
3685 The initial setting is t.
3686 If non-nil and there is an encoded X-Face string in a file
3687 @file{~/.xface} (the value of the variable @code{wl-x-face-file}),
3688 inserts it as an X-Face field in the draft buffer.
3689 If nil, it is not automatically inserted. Press @kbd{C-c C-a} to insert.
3691 @item wl-insert-message-id
3692 @vindex wl-insert-message-id
3693 The initial setting is t.
3694 If non-nil, Message-ID field is automatically inserted on the
3697 @item wl-local-domain
3698 @vindex wl-local-domain
3699 The initial setting is nil.
3700 If nil, the return value of the function @code{system-name} will be
3701 used as the domain part of Message-ID.
3703 If @code{system-name} does not return FQDN (i.e. the full name of the
3704 host, like @samp{smtp.gohome.org}), you @strong{must} set this variable to the
3705 string of the local domain name without hostname (like @samp{gohome.org}).
3706 That is, a concatenation of @code{system-name} "." @code{wl-local-domain}
3707 is used as domain part of the Message-ID.
3709 If your terminal does not have global IP, set the value of
3710 @code{wl-message-id-domain}.
3711 (You might be beaten up on the Net News if you use invalid Message-ID.)
3714 concatenation of @code{system-name} "." @code{wl-local-domain}
3715 will be used as an argument to the HELO command in SMTP.
3717 @item wl-message-id-domain
3718 @vindex wl-message-id-domain
3719 The initial setting is nil.
3720 If non-nil, this value is used as a domain part of the Message-ID.
3721 If your terminal does not have global IP, set unique string to this value
3722 (e.x. your e-mail address).
3724 @item wl-message-id-domain
3725 @vindex wl-message-id-domain
3726 The initial setting is nil.
3727 If nil, the return value of the function @code{system-name} will be
3728 used as the domain part of Message-ID.
3729 If @code{system-name} does not return FQDN (i.e. the full name of the
3730 host, like smtp.gohome.org), you @strong{must} set this variable to the
3731 string of the full name of the host. Otherwise, you might be beaten up
3734 @item wl-draft-config-alist
3735 @vindex wl-draft-config-alist
3736 The initial setting is nil.
3737 Modifies the draft message just before the transmission.
3738 The content of @code{wl-draft-config-alist} will be automatically
3739 applied only once on the transmission. If you want to apply it
3740 manually, use @kbd{C-c C-e}. This command can be used many times.
3742 @item wl-template-alist
3743 @vindex wl-template-alist
3744 The initial setting is nil.
3745 This variable specifies the template to be applied in the draft buffer.
3747 @item wl-draft-config-matchone
3748 @vindex wl-draft-config-matchone
3749 The initial setting is nil.
3750 If non-nil, only the first matching item is used when
3751 @code{wl-draft-config-alist} is applied. If nil, all matching items are
3754 @item wl-template-visible-select
3755 @vindex wl-template-visible-select
3756 The initial setting is t.
3757 If non-nil, you can preview the result of the template selection in
3760 @item wl-template-confirm
3761 @vindex wl-template-confirm
3762 The initial setting is nil.
3763 If non-nil, asks for confirmation when you press the enter key to select
3764 template while previewing.
3766 @item wl-template-buffer-lines
3767 @vindex wl-template-buffer-lines
3768 The initial setting is 7.
3769 If @code{wl-template-visible-select} is non-nil, this variable specifies
3770 the size of the preview window.
3772 @item wl-draft-reply-buffer-style
3773 @vindex wl-draft-reply-buffer-style
3774 The initial setting is 'split.
3775 'split or 'full can be specified.
3776 In the case of 'full, the whole frame will be used for a reply draft
3777 buffer when it is prepared.
3781 The initial setting is the value of the variable @code{user-mail-address}.
3782 The value of this variable is inserted as a From field of the draft when
3785 @item wl-envelope-from
3786 @vindex wl-envelope-from
3787 The initial setting is nil.
3788 The value of this variable is used for envelope from (MAIL FROM).
3789 If nil, the address part of @code{wl-from} is used.
3791 @item wl-user-mail-address-list
3792 @vindex wl-user-mail-address-list
3793 The initial setting is nil.
3794 This is the User's address list. If you have multiple addresses,
3799 The initial setting is nil.
3800 If non-nil, the value of this variable is inserted as a FCC of the draft
3801 when it is prepared.
3805 The initial setting is nil.
3806 If non-nil, the value of this variable is inserted as a Bcc of the draft
3807 when it is prepared.
3809 @item wl-reply-subject-prefix
3810 @vindex wl-reply-subject-prefix
3811 The initial setting is "Re: ".
3812 In the Subject of the reply draft, this string is prepended to the
3813 Subject of being replied.
3815 @item wl-draft-enable-queuing
3816 @vindex wl-draft-enable-queuing
3817 The initial setting is t.
3818 This flag controls off-line transmission. If non-nil, the draft is
3821 @item wl-auto-flush-queue
3822 @vindex wl-auto-flush-queue
3823 The initial setting is t.
3824 This flag controls automatic transmission of the queue when Wanderlust
3825 becomes on-line. If non-nil, the queue is automatically transmitted
3826 (with confirmation by @code{y-or-n-p}). If you want to transmit it
3827 manually, press @kbd{F} in the folder mode.
3829 @item wl-draft-always-delete-myself
3830 @vindex wl-draft-always-delete-myself
3831 If non-nil, always removes your own address from To and CC when you are
3832 replying to the mail addressed to you.
3834 @item wl-smtp-posting-server
3835 @vindex wl-smtp-posting-server
3836 The initial setting is nil.
3837 This is the SMTP server name for mail transmission.
3839 @item wl-smtp-posting-user
3840 @vindex wl-smtp-posting-user
3841 The initial setting is nil.
3842 This is the user name for SMTP AUTH authentication.
3843 If nil, @code{smtp-authenticate-user} is used.
3845 @item wl-smtp-authenticate-type
3846 @vindex wl-smtp-authenticate-type
3847 The initial setting is nil.
3848 This is the authentication method for SMTP AUTH authentication.
3849 If nil, @code{smtp-authenticate-type} is used.
3850 If it is still nil, authentication will not be carried out.
3852 @item wl-smtp-connection-type
3853 @vindex wl-smtp-connection-type
3854 The initial setting is nil.
3855 This variable specifies how to establish SMTP connections.
3856 If nil, @code{smtp-connection-type} is used.
3857 If it is 'starttls, STARTTLS (RFC2595) is used.
3859 @item wl-nntp-posting-server
3860 @vindex wl-nntp-posting-server
3861 The initial setting is nil.
3862 This is the NNTP server name used for news submission.
3863 If nil, @code{elmo-default-nntp-server} is used.
3865 @item wl-nntp-posting-user
3866 @vindex wl-nntp-posting-user
3867 The initial setting is nil.
3868 This is the user name for AUTHINFO authentication on news submission.
3869 If nil, @code{elmo-default-nntp-user} is used.
3870 If it is still nil, AUTHINFO authentication will not be carried out.
3872 @item wl-nntp-posting-port
3873 @vindex wl-nntp-posting-port
3874 The initial setting is nil.
3875 This is the port number of the NNTP server used for news submission.
3876 If nil, @code{elmo-default-nntp-server} is used.
3878 @item wl-nntp-posting-ssl
3879 @vindex wl-nntp-posting-ssl
3880 The initial setting is nil.
3881 If nil, @code{elmo-default-nntp-ssl} is evaluated.
3882 If non-nil, SSL is used for news submission.
3883 If 'starttls, STARTTLS (RFC2595) connection will be established.
3885 @item wl-pop-before-smtp-user
3886 @vindex wl-pop-before-smtp-user
3887 The initial setting is nil.
3888 This is the POP user name for POP-before-SMTP.
3889 If it is nil, @code{elmo-default-pop3-user} is used.
3891 @item wl-pop-before-smtp-server
3892 @vindex wl-pop-before-smtp-server
3893 The initial setting is nil.
3894 This is the POP server name for POP-before-SMTP.
3895 If it is nil, @code{elmo-default-pop3-server} is used.
3897 @item wl-pop-before-smtp-authenticate-type
3898 @vindex wl-pop-before-smtp-authenticate-type
3899 The initial setting is nil.
3900 This is the authentication method for POP-before-SMTP authentication.
3901 If it is nil, @code{elmo-default-pop3-authenticate} is used.
3903 @item wl-pop-before-smtp-port
3904 @vindex wl-pop-before-smtp-port
3905 The initial setting is nil.
3906 This is the POP port number for POP-before-SMTP.
3907 If it is nil, @code{elmo-default-pop3-port} is used.
3909 @item wl-pop-before-smtp-ssl
3910 @vindex wl-pop-before-smtp-ssl
3911 The initial setting is nil.
3912 This flag controls the use of SSL for POP-before-SMTP.
3913 If it is nil, @code{elmo-default-pop3-ssl} is used.
3915 @item wl-draft-queue-save-variables
3916 @vindex wl-draft-queue-save-variables
3917 Specifies a list of variable to which queued messages are saved on the
3918 off-line transmission.
3920 @item wl-draft-sendlog
3921 @vindex wl-draft-sendlog
3922 The initial setting is t.
3923 If t, transmission log is written in @file{~/.elmo/sendlog}.
3924 It is written when drafts are sent by smtp or qmail, and when they are
3925 saved into folders by fcc or queuing (it is written even if the
3926 transmission fails).
3927 But transmission by im-wl.el is not written in the sendlog and left to
3928 the logging function of imput.
3930 @item wl-draft-sendlog-max-size
3931 @vindex wl-draft-sendlog-max-size
3932 The initial setting is 20000 (in bytes).
3933 If @code{wl-draft-sendlog} is t, the log is rotated when it grows beyond
3934 the size specified by this variable.
3939 @c Disconnected Operations
3941 @node Disconnected Operations, Expire and Archive, Draft, Top
3942 @chapter Off-line Management
3943 @cindex Disconnected Operations
3945 @section Off-line State
3947 Wanderlust has on-line and off-line states.
3948 In the off-line state, you cannot access messages via network, unless
3951 @samp{[ON]} in the mode line indicates the on-line state.
3952 @samp{[--]} in the mode line indicates the off-line state.
3953 In folder or summary modes, press @kbd{M-t} to switch between off-
3956 You can invoke Wanderlust in the off-line state by setting
3957 @code{wl-plugged} to nil in @file{~/.wl} or anything appropriate.
3959 In the off-line mode, @kbd{n} and @kbd{p} command in the summary mode
3960 ignores uncached messages.
3962 Even in the off-line state, provided that relevant messages are cached,
3963 and the variable @code{elmo-enable-disconnected-operation} (described
3964 later) is non-nil, you can:
3967 @item transmit messages
3968 @item re-file and copy (IMAP4)
3969 @item create folders (IMAP4)
3971 @item pre-fetch (IMAP4, NNTP)
3974 As soon as Wanderlust becomes on-line, such operations invoked
3975 off-line are reflected in the servers via network.
3977 @section Transmission of Messages
3979 You can send mail/news messages off-line (if you are using im-wl.el, it
3980 is irrelevant). Messages sent off-line are accumulated in the queue
3981 folder, @samp{+queue}. These messages are transmitted at once when
3982 Wanderlust becomes on-line.
3984 You can visit @samp{+queue} in the off-line state and confirm content
3985 of messages in the queue. You can also remove messages. Removed messages
3986 are not transmitted even in the on-line state.
3988 @section Re-file and Copy (IMAP4)
3990 Re-file and copy operations to IMAP folders invoked during the off-line
3991 state are accumulated in the queue, and reflected in the server side
3992 when Wanderlust becomes on-line. If you visit destination folders after
3993 off-line re-file or copy, it looks as if messages were appended even in
3996 For the safety reasons, messages re-filed off-line are removed from
3997 source folders only if their Message-ID match messages on the servers.
3998 While the queue is processed, messages that failed to be re-filed or
3999 copied to the specified folders are appended to the folder
4002 @section Creation of Folders (IMAP4)
4004 You can create IMAP folders off-line. The creation of folders are
4005 reflected in the servers when Wanderlust becomes on-line. At that time,
4006 if folders failed to be created on the servers for any reasons, messages
4007 re-filed to such folders are appended to the folder "+lost+found".
4009 @section Marking (IMAP4)
4011 Off-line changes in unread/read and importance mark @samp{$} information
4012 are also reflected in the servers when Wanderlust becomes on-line.
4014 @section Pre-fetching (IMAP4, NNTP)
4016 You can make reservations for pre-fetching messages in IMAP or NNTP
4017 folders. Reserved messages are marked with @samp{!} but not cached
4018 yet. When Wanderlust becomes on-line, they are pre-fetched from
4021 If the variable @code{elmo-enable-disconnected-operation} is nil, these
4022 off-line operations for IMAP4 and NNTP do not take place, and off-line
4023 re-file, copy or suchlike simply results in error.
4025 Because off-line operations use cache files, it is a bad idea to erase
4026 them by hand; it may cause Wanderlust to malfunction.
4028 If you want to remove caches, be sure to execute
4029 @kbd{M-x elmo-cache-expire-by-size}.
4030 @code{elmo-cache-expire-by-size} does not remove caches for messages
4031 relevant to off-line operations.
4033 @section Switching On-line/Off-line per Server/Port
4035 @kbd{M-t} described above switches networking states as a whole, but you
4036 can switch on-line/off-line per server/port.
4038 Pressing @kbd{C-t} in the folder or summary modes brings you in
4039 wl-plugged-mode shown below, in which you can change the plugged state
4043 Queuing:[ON] AutoFlushQueue:[--] DisconnectedOperation:[ON]
4046 [--]smtp +queue: 2 msgs (1,2) @dots{}@r{sending queue}
4047 [--]nntp(119) +queue: 1 msg (3) @dots{}@r{sending queue}
4049 [--]imap4/cram-md5(143) %#mh/wl(prefetch-msgs:3,mark-as-important:1)
4050 %inbox(delete-msgids:1) @dots{}@r{dop queue}
4055 The first line indicates status of the following three variables, and
4056 simply pressing @kbd{@key{SPC}} or @kbd{@key{RET}} in each labelled
4057 column modifies the values of these variables.
4060 "Queuing" wl-draft-enable-queuing
4061 "AutoFlushQueue" wl-auto-flush-queue
4062 "DisconnectedOperation" elmo-enable-disconnected-operation
4065 where @samp{[ON]} means its value is t, and @samp{[--]} means nil.
4067 The second and after lines indicate on-line/off-line states of servers
4068 and ports, where @samp{[ON]} stands for on-line and @samp{[--]} for
4069 off-line (in XEmacs, they are shown with icons). Pressing
4070 @kbd{@key{SPC}} or @kbd{@key{RET}} in each line switches its state.
4072 "sending queue" means messages accumulated in the folder @samp{+queue}
4073 for off-line transmission, and "dop queue" means off-line operations
4074 when @code{elmo-enable-disconnected-operation} is t.
4075 @c If the variable @code{elmo-enable-disconnected-operation} is non-nil,
4076 @c off-line operations are enabled.
4078 They are displayed if there are any of them. In the example above,
4079 in the sending queue there are two messages (the first and the second
4080 in the queue folder) for smtp to hosta and one (the third) for nntp to
4081 hosta, and in the dop queue there are one for @samp{%inbox} and two for
4084 If you change (wl-plugged) in the second line, the variable
4085 @code{wl-plugged} is changed, so that the mode line indicator and
4086 plugged states of all ports are affected.
4087 If you change plugged states of any servers or ports, wl-plugged in the
4088 second line is affected depending on @code{elmo-plugged-condition}
4089 settings and the plugged state of each port.
4091 @section Invoking Wanderlust in the Off-line State
4093 As described before, if you set @code{wl-plugged} to nil in @file{~/.wl}
4094 or anything appropriate, you can invoke Wanderlust in the off-line
4095 state. You can specify off-line state on a per server or port basis.
4096 Refer to @code{wl-reset-plugged-alist} also.
4098 Usually, when Wanderlust starts up, the plugged state of each port is
4099 read from @file{~/.folder} and @code{wl-smtp-posting-server},
4100 @code{wl-nntp-posting-server} and so on. If you want to change the
4101 plugged state of these ports or to add other ports, configure
4102 @code{wl-make-plugged-hook} with a function.
4105 (add-hook 'wl-make-plugged-hook
4107 (elmo-set-plugged plugged-value(t/nil) server port)
4108 ;; @r{add or change plugged states of the port of the server}
4109 (elmo-set-plugged plugged-value(t/nil) server)
4110 ;; @r{if the port is omitted, all ports are affected}
4111 ;; @r{(you cannot omit the port if you newly add the server)}
4115 @section Customizable Variables
4120 If this variable is set to nil, Wanderlust starts up in off-line mode from
4123 @item wl-queue-folder
4124 @vindex wl-queue-folder
4125 The initial setting is "+queue".
4126 This is the folder in which messages in the transmission queue are
4129 @item wl-auto-flush-queue
4130 @vindex wl-auto-flush-queue
4131 The initial setting is t.
4132 This flag controls automatic transmission of the queue when Wanderlust
4133 becomes on-line. If non-nil, the queue is automatically transmitted
4134 (with confirmation by @code{y-or-n-p}). If you want to transmit it
4135 manually, press @kbd{F} in the folder mode.
4137 @item elmo-enable-disconnected-operation
4138 @vindex elmo-enable-disconnected-operation
4139 The initial setting is nil. Controls off-line operations regarding IMAP4.
4140 If non-nil, off-line operations are carried out.
4142 @item elmo-lost+found-folder
4143 @vindex elmo-lost+found-folder
4144 The initial setting is "+lost+found".
4145 This is the folder to which messages are saved when they fails to be
4146 appended while the off-line re-file/copy queue is processed.
4148 @item elmo-plugged-condition
4149 @vindex elmo-plugged-condition
4150 The initial setting is 'one.
4151 The value of @code{wl-plugged} reflects the return value of the function
4152 @code{elmo-plugged-p} (without arguments).
4153 This variable @code{elmo-plugged-condition} specifies the condition on
4154 which the return value of (elmo-plugged-p) should be t depending on the
4155 plugged state of each port.
4158 'one : plugged if one or more ports are plugged.
4159 'all : plugged if all ports are plugged.
4160 'independent : reflects wl-plugged (elmo-plugged) regardless of plugged
4161 states of the ports.
4162 function : reflects the return value of the function
4163 functions available per default
4164 'elmo-plug-on-by-servers
4165 : reflects the plugged state of the servers specified by the
4166 variable elmo-plug-on-servers.
4167 'elmo-plug-on-by-exclude-servers
4168 : reflects the plugged state of the servers that are not
4169 in elmo-plug-on-exclude-servers.
4170 elmo-plug-on-exclude-servers defaults to
4173 (system-name)without the domain part)
4178 (setq elmo-plugged-condition 'all)
4180 (setq elmo-plug-on-servers '("smtpserver" "newsserver"))
4181 (setq elmo-plugged-condition 'elmo-plug-on-by-servers)
4183 (setq elmo-plug-on-exclude-servers '("localhost" "myname"))
4184 (setq elmo-plugged-condition 'elmo-plug-on-by-exclude-servers)
4187 @item wl-reset-plugged-alist
4188 @vindex wl-reset-plugged-alist
4189 The initial setting is t. If non-nil, plugged states are initialized on
4190 a per server or port basis when Wanderlust starts up.
4192 If nil, plugged states are retained while Emacs is running.
4193 In other words, they are initialized when Emacs is restarted even if the
4198 @c Expire and Archive
4200 @node Expire and Archive, Scoring, Disconnected Operations, Top
4201 @chapter Automatic Expiration and Archiving of Messages
4202 @cindex Expire and Archive
4205 * Expire:: Expiration and Archiving
4206 * Archive:: Archiving All Messages
4210 @node Expire, Archive, Expire and Archive, Expire and Archive
4212 @cindex Expire Message
4214 Expiration means deletion of old messages which have outlasted a
4215 certain period of time.
4217 @code{wl-expire} supports not only simple deletion, but also moving to
4218 specified archiving folders.
4222 Configure @code{wl-expire-alist} and press @kbd{e} in the folder mode,
4223 or @kbd{M-e} in the summary mode.
4225 @subsection Configuring @code{wl-expire-alist}
4227 An example configuration of @code{wl-expire-alist} is shown below.
4228 Everything in this @code{wl-expire-alist} makes a great difference in
4229 expiration, so be careful.
4230 I advise you to set @code{wl-expire-use-log} to t, especially in the
4234 (setq wl-expire-alist
4235 '(("^\\+trash$" (date 14) remove)
4237 ("^\\+tmp$" (date 7) trash)
4238 ;; @r{re-file to @code{wl-trash-folder}}
4239 ("^\\+outbox$" (number 300) "$outbox;lha")
4240 ;; @r{re-file to the specific folder}
4242 ;; @r{do not expire}
4243 ("^\\+ml/wl$" (number 500 510) wl-expire-archive-number1 t)
4244 ;; @r{archive by message number (retaining numbers)}
4245 ("^\\+ml/.*" (number 300 310) wl-expire-archive-number2 t)
4246 ;; @r{archive by a fixed number (retaining numbers)}
4247 ("^\\+nikki$" (date 30) wl-expire-archive-date)
4248 ;; @r{archive by year and month (numbers discarded)}
4252 Items in the list has the format of:
4255 ("regexp_for_folders" (specification_of_messages_to_be_deleted) destination)
4259 The folder is examined if it matches "regexp_for_folders" from the
4260 beginning of the list. If you invoke expiration on the folder that does
4261 not match any of them, nothing will happen.
4262 And if either the second or the third element of the item is nil,
4263 expiration will not take place.
4265 You can use any one of the following for
4266 specification_of_message_to_be_deleted:
4269 @item (number n1 [n2])
4270 deletes messages depending on the number of messages in the folder.
4272 n1 is the number of messages which should survive deletion, for example
4273 if its value is 500, the newest 500 messages survive and the rests are
4276 n2 is the number of messages in the folder on which expiration should
4277 take place, which defaults to n1 + 1. For example if its value is 510,
4278 folders with 510 or more messages are expired.
4279 If you configured automatic expiration, frequently used folders may
4280 expire every time it receive messages, and you may be annoyed with the
4281 long delay in reading mail.
4282 In that case, you can set a wide margin between n2 and n1, so that
4283 expiration would not take place until a certain number of messages
4286 Messages with marks in @code{wl-summary-expire-reserve-marks} (marked
4287 with important/new/unread) are not deleted.
4288 If @code{wl-expire-number-with-reserve-marks} is non-nil, the folder
4289 will expire so as to have 500 messages including such ones.
4290 Otherwise, it will have 500 messages except such ones.
4293 deletes messages depending on the dates.
4295 Messages dated d1 or more days ago are deleted, for example if its value
4296 is seven, messages seven days old or more are deleted.
4297 Note that the date is the one in the Date field of the message, not when
4298 the message entered the folder.
4300 Messages with no or invalid Date field does not expire; you might have
4301 to delete them by hand.
4304 You can use any one of the following in the place of destination:
4308 deletes the messages instantly.
4311 moves the messages to @code{wl-trash-folder}.
4313 @item string(folder)
4314 moves the messages to the specified folder.
4316 It would be useful for specifying an archiving folder, but because this
4317 does not move important messages, it might be better to use the
4318 standard functions described below.
4321 invokes the specified function.
4323 To the function, three arguments are passed: a folder name, a list of
4324 messages to be deleted, and msgdb information of the summary.
4325 You can specify function-specific arguments after the name of the
4327 Note that the list contains messages with marks in
4328 @code{wl-summary-expire-reserve-marks}, be careful in writing your own
4331 These are three standard functions; they moves messages to an archive
4332 folder in the specified way. This means old messages can be compressed
4333 and saved in a file, being deleted from the original folder.
4336 @item wl-expire-archive-number1
4337 re-files to archiving folders corresponding to the message numbers of
4338 the messages being deleted.
4339 For example, a message numbered 102 will be re-filed to
4340 @file{wl-00100.zip}, 390 to @file{wl-00300.zip}, and so on.
4341 If @code{wl-expire-archive-files} is 200, messages will be re-filed to
4342 @file{wl-00000.zip}, @file{wl-00200.zip}, @file{wl-00400.zip}, @dots{}.
4344 The archiving folders to which messages are re-filed are determined by
4345 the name of the folder as follows
4346 (in this case, archiving folders are handled as if
4347 @code{elmo-archive-treat-file} were non-nil).
4350 @item If the folder type is localdir:
4352 @code{$ArchiveDir/foldername-xxxxx.zip}
4353 For example, @samp{+ml/wl} corresponds to @samp{$ml/wl;zip}
4354 (@file{~/Mail/ml/wl-00100.zip}).
4356 @item The folder type is other than localdir:
4357 @code{$ArchiveDir/foldertype/foldername-xxxxx.zip}
4359 For example, @samp{%#mh/ml/wl} corresponds to
4360 @samp{$imap4/#mh/ml/wl;zip} (@file{~/Mail/imap4/#mh/ml/wl-00100.zip}).
4363 As you can see, in the case of localdir, the folder type is not included
4364 in the path name, but otherwise it is included.
4365 And you can control the prefix to the archiving folder name by
4366 @code{wl-expire-archive-folder-prefix}.
4367 Refer to @code{wl-expire-archive-folder-prefix} for details.
4369 @item wl-expire-archive-number2
4370 re-files every certain number of messages to archiving folders.
4372 This differs from @samp{wl-expire-archive-number1} in that this re-files
4373 to the folder up to the specified number regardless of message numbers.
4374 The archiving folders to which messages are re-filed are determined in the
4375 same way as @code{wl-expire-archive-number1}.
4377 @item wl-expire-archive-date
4378 re-files messages depending on its date (year and month) to archive
4381 For example, a message dated December 1998 is re-filed to
4382 @code{$folder-199812;zip}.
4383 The name of the archiving folders except the date part are determined in
4384 the same way as @code{wl-expire-archive-number1}.
4387 You can set the first argument to these three standard functions to non-nil
4388 in @code{wl-expire-alist} so as to retain message numbers in the folder.
4389 For example, it can be specified just after the name of the function:
4392 ("^\\+ml/wl$" (number 300 310) wl-expire-archive-number1 t)
4395 If you omit the argument, consecutive numbers from 1 are assigned for
4396 each archiving folder.
4399 @subsection Treatment for Important or Unread Messages
4401 If you specify any of 'remove, 'trash, a folder name, or a standard
4402 function, messages with marks in @code{wl-summary-expire-reserve-marks}
4403 (which are called @dfn{reserved messages} thereafter) are retained.
4405 Per default, this variable include the important, new, and unread marks,
4406 so that messages with these marks are not removed.
4407 Note that you cannot include the temporary mark (i.e. temporary marks
4408 are removed anyway), and be sure to process temporary marks before you
4411 @subsection Auto Expiration
4413 The following setup invokes expiration when you move into the summary
4414 mode. There will be no confirmation, so make sure you made no mistake
4415 in regexp and other settings before you set up this.
4418 (add-hook 'wl-summary-prepared-pre-hook
4422 In the folder mode, you can invoke expiration per group as well as per
4423 folder. Therefore, if you specify @samp{Desktop} group, all folders
4424 matching @code{wl-expire-alist} expire.
4428 @subsection Treating archive folders.
4429 To treat archive folders created by @code{wl-expire-archive-number1} and so on,
4430 you must set non-nil value to @code{elmo-archive-treat-file}.
4432 @subsection Confirming
4434 If you are to use 'remove, try 'trash at first and see messages move to
4435 @code{wl-trash-folder} as expected, then replace it with 'remove.
4436 It would be dangerous to use 'remove from the beginning.
4438 If you are to use @code{wl-expire-archive-number1} and the like, try to
4439 make a folder of the archiver type ('zip or 'lha) and see if you can
4440 append messages to it.
4441 Even if settings in @code{wl-expire-alist} and @code{elmo-archive} are
4442 correct, messages would not be saved anywhere and disappeared in case
4443 the archiver program fails.
4445 After you make sure you can archive to the folder correctly, you can
4446 invoke expiration and utilize the log.
4448 If you set @code{wl-expire-use-log} to t, @file{~/.elmo/expired-log}
4449 should contain the log, for example:
4452 delete +ml/wl (593 594 595 596 597 598 599)
4453 move +ml/wl -> $ml/wl-00600;tgz;wl (600 601 602)
4456 The first column indicates the operation, i.e. delete, copy, or move.
4457 The next is the name of the folder that expired. In the case of copy
4458 and move, the destination folder is recorded after @samp{->}.
4459 The last is the list of message numbers that are actually deleted or
4460 moved (in the case of copy and move, the number is the one in the source
4461 folder, rather than the destination folder).
4463 @subsection Re-filing Reserved Messages
4465 The three standard functions copy reserved messages to the archive
4466 folder, but do not delete them from the source folder. Because
4467 reserved messages and the like always remain, they are recorded in
4468 @file{~/.elmo/expired-alist} so that they are not copied over and over
4469 again. They are not recorded if copied by @code{wl-summary-archive}.
4471 If you enabled logging, usually "move" is recorded for re-filing, but
4472 instead "copy" and "delete" are recorded separately if reserved messages
4474 This is because it actually copies messages including reserved, then
4475 deletes ones except reserved in that case.
4477 @section Customizable Variables
4480 @item wl-expire-alist
4481 @vindex wl-expire-alist
4482 The initial setting is nil.
4483 This variable specifies folders and methods to expire. For details,
4484 refer to @code{wl-expire-alist} settings above.
4486 @item wl-summary-expire-reserve-marks
4487 @vindex wl-summary-expire-reserve-marks
4488 The initial setting is the list below.
4491 (list wl-summary-important-mark
4493 wl-summary-unread-mark
4494 wl-summary-unread-uncached-mark
4495 wl-summary-unread-cached-mark)
4498 Messages with these marks are retained in the folder, even after
4500 Only permanent marks can be listed, not temporary marks.
4502 You can list marks one by one as in the default; you can use the
4503 following settings as well:
4507 All messages with permanent marks are retained,
4508 i.e. @code{wl-summary-read-uncached-mark} is included in addition to the
4512 All messages are handled as usual ones that are already read, no matter
4513 what marks they have; even important messages are deleted.
4516 @item wl-expire-archive-files
4517 @vindex wl-expire-archive-files
4518 The initial setting is 100.
4519 This variable specifies the number of messages to be retained in one
4522 @item wl-expire-number-with-reserve-marks
4523 @vindex wl-expire-number-with-reserve-marks
4524 The initial setting is nil.
4525 If non-nil, if expiring messages are specified by "number", messages
4526 with @code{wl-summary-expire-reserve-marks} are also retained.
4528 @item wl-expire-archive-get-folder-func
4529 @vindex wl-expire-archive-get-folder-func
4530 The initial setting is 'wl-expire-archive-get-folder.
4532 This variable specifies a function that returns the name of an archiving
4533 folder for standard functions in the place of destination.
4534 You can use the following three variables for simple modification of
4535 folder names; if you want more complex settings, define your own
4536 function in this variable.
4538 @code{wl-expire-archive-get-folder} can be customized by these
4541 @item wl-expire-archive-folder-name-fmt
4542 @item wl-expire-archive-folder-type
4543 @item wl-expire-archive-folder-prefix
4546 @item wl-expire-archive-folder-name-fmt
4547 @vindex wl-expire-archive-folder-name-fmt
4548 The initial setting is "%s-%%05d;%s".
4549 This is a format string for archiving folders used in
4550 @code{wl-expire-archive-number1} and @code{wl-expire-archive-number2}.
4551 Note that you must specify the message number by @samp{%%d}, because it
4552 is parsed twice by @code{format}.
4554 If you modify this, adjust @code{wl-expire-archive-folder-num-regexp} as
4557 @item wl-expire-archive-date-folder-name-fmt
4558 @vindex wl-expire-archive-date-folder-name-fmt
4559 The initial setting is "%s-%%04d%%02d;%s".
4560 This is a format string for archiving folders used in
4561 @code{wl-expire-archive-date}.
4562 Note that you must specify the message number by @samp{%%d}, because it
4563 is parsed twice by @code{format}.
4564 There should be @code{%%d} twice, one for the year and the other for the
4567 If you modify this, adjust
4568 @code{wl-expire-archive-date-folder-num-regexp} as well.
4570 @item wl-expire-archive-folder-type
4571 @vindex wl-expire-archive-folder-type
4572 The initial setting is 'zip.
4573 This variable specifies an archiver type of the archiving folders.
4575 @item wl-expire-archive-folder-prefix
4576 @vindex wl-expire-archive-folder-prefix
4577 The initial setting is nil.
4578 This variable specifies the prefix (directory structure) to archiving
4580 Exercise extreme caution in using this feature, as it has not been
4582 In the worst case, there is a fear of destructing archiving folders.
4586 There will be no prefix.
4589 For example, @samp{+ml/wl} will be prefixed by @samp{wl}, resulting in
4590 @samp{$ml/wl-00000;zip;wl}.
4593 For example, @samp{+ml/wl} will be prefixed by prefix @samp{ml/wl},
4596 @samp{$ml/wl-00000;zip;ml/wl}.
4599 @item wl-expire-archive-folder-num-regexp
4600 @vindex wl-expire-archive-folder-num-regexp
4601 The initial setting is "-\\([-0-9]+\\);".
4602 This variable specifies the regular expression to be used for getting
4603 message numbers from multiple archiving folders specified by
4604 @code{elmo-list-folders}.
4605 Set it in accordance with @code{wl-expire-archive-folder-name-fmt}.
4607 @item wl-expire-archive-date-folder-num-regexp
4608 @vindex wl-expire-archive-date-folder-num-regexp
4609 The initial setting is "-\\([-0-9]+\\);".
4610 This is the regular expression to be used for getting message numbers
4611 from multiple archiving folders specified by @code{elmo-list-folders}.
4612 Set it in accordance with @code{wl-expire-archive-date-folder-name-fmt}.
4614 @item wl-expire-delete-oldmsg-confirm
4615 @vindex wl-expire-delete-oldmsg-confirm
4616 The initial setting is t.
4617 If non-nil, messages older than the one with the largest number will be
4618 deleted with confirmation.
4619 If nil, they are deleted without confirmation.
4621 This feature is valid only if non-nil is specified as a argument to the
4622 standard functions so as to retain numbers.
4624 @item wl-expire-use-log
4625 @vindex wl-expire-use-log
4626 The initial setting is nil.
4627 If non-nil, expiration logs are recorded in @file{~/.elmo/expired-log}.
4628 They are appended but not truncated or rotated automatically; you might
4629 need to remove it manually.
4631 @item wl-expire-add-seen-list
4632 @vindex wl-expire-add-seen-list
4633 The initial setting is t.
4635 If non-nil, when messages are re-filed by expiration, read/unread
4636 information is passed to the destination folder.
4638 However if you do not read the destination folder from Wanderlust,
4639 @file{seen} under @file{~/.elmo/} grows larger and larger, so you might
4640 want to set this to nil if you are simply saving to some archiving
4641 folders. Even if its value is nil, messages in the archiving folders
4642 are simply treated as unread; it does not affect expiration itself.
4644 @item wl-expire-folder-update-msgdb
4645 @vindex wl-expire-folder-update-msgdb
4646 The initial setting is t.
4647 If t, in the folder mode, expiration is carried out after updating
4648 summary information.
4649 If you specified a list of regular expressions of folder names, summary
4650 information is updated for matching folders only.
4654 @node Archive, , Expire, Expire and Archive
4655 @section Archiving Messages
4657 @subsection Archiving Messages
4658 @kbd{M-x wl-summary-archive} copies the whole folder to archiving
4659 folders. If there are the archiving folders already, only new messages
4662 You can use @code{wl-archive-alist} in order to specify how messages are
4663 archived according to their folder names, as in @code{wl-expire-alist}.
4667 (setq wl-archive-alist
4668 '(("^\\+tmp$" wl-archive-date)
4669 ("^\\+outbox$" wl-archive-number2)
4670 (".*" wl-archive-number1)
4674 Each item in the list has the following format:
4677 ("folders_regexp" deleting_function)
4680 As you can see, you can only use a function after @samp{folders_regexp}.
4681 Per default, there are three functions:
4684 @item wl-archive-number1
4685 @item wl-archive-number2
4686 @item wl-archive-date
4689 As inferred from their names, they work similarly to "expire" versions,
4690 other than the following points:
4693 @item No messages are deleted
4694 @item Message numbers are retained even if invoked without arguments
4697 These functions are good to archive all messages in a folder by their
4698 numbers or by their dates.
4699 These are also useful for backup or confirmation purposes before
4701 If you try to re-file them after they are archived, they are deleted but
4704 Per default, the archiving folders to which messages are copied are
4705 determined automatically by @code{wl-expire-archive-get-folder-func}.
4706 You can copy to a specific folder by invoking with a prefix argument,
4707 i.e. @kbd{C-u M-x wl-summary-archive}.
4709 Note that this feature has not been seriously tested, because you can
4710 simply copy to an archiving folder, for example by
4711 @code{wl-summary-copy-region}.
4713 The archiving folders are determined by the same logic as in
4714 @code{wl-summary-expire}; the following customizable variables are
4718 @item wl-expire-archive-files
4719 @item wl-expire-archive-get-folder-func
4720 @item wl-expire-archive-folder-name-fmt
4721 @item wl-expire-archive-folder-type
4722 @item wl-expire-archive-folder-prefix
4723 @item wl-expire-archive-folder-num-regexp
4726 @subsection Customizable Variables
4729 @item wl-archive-alist
4730 @vindex wl-archive-alist
4731 The initial setting is '((".*" wl-archive-number1)).
4733 This variable specifies a function that copies to archiving folders.
4734 To the function, three arguments are passed: a folder name, a list of
4735 messages in the folder, and msgdb information of the summary.
4736 Needless to say, you can use your own function.
4743 @node Scoring, Customization, Expire and Archive, Top
4744 @chapter Score of the Messages
4746 @c @cindex Kill File
4748 Scoring is the function that associates a score (value) with each
4749 message, and marks as read or deletes from the summary according to it.
4751 You can put temp or important marks on essential messages, or read marks
4752 on the ones you do not want to read, for example spam articles.
4754 This scoring function has a capability and a format similar to the one
4755 that Gnus has, although there are some unsupported features and
4756 Wanderlust specifics.
4759 * Score Commands:: Score Commands
4760 * Score File Format:: Score File Format
4764 @node Score Commands, Score File Format, Scoring, Scoring
4765 @section Score Commands
4766 @cindex Score Commands
4768 @subsection Score File Specification
4770 @code{wl-score-folder-alist} specifies score files or variables in which
4771 scores are defined, corresponding to folder names.
4774 (setq wl-score-folder-alist
4782 If paths to the score files are omitted, the directory specified in the
4783 variable @code{wl-score-files-dir} is assumed.
4785 No matter what you write in @code{wl-score-folder-alist}, the default
4786 score file @code{wl-score-default-file} (@file{all.SCORE}) is always
4787 read (it does not have to exist).
4788 Therefore, in the example above, the three score files,
4789 @file{news.SCORE}, @file{my.SCORE}, and @file{all.SCORE} are read for
4790 the folders that matches @samp{^-.*}.
4792 @subsection Scored Messages
4794 Scores are attached to the messages that are specified by
4795 @code{wl-summary-score-marks} temporarily when the summary is updated;
4796 when you exit from the summary, the scores are removed and reverts to
4799 @subsection Creation of Score Files
4801 In the summary buffer, move to an appropriate message and type @kbd{L}.
4802 Then type @kbd{s}, @kbd{s}, and @kbd{p} at a prompt in a mini-buffer.
4803 The string in Subject is presented. Edit it and press @kbd{@key{RET}}.
4805 This makes -1000 are scored for messages with the same Subject as the
4806 string you entered. That is, such a score file is created
4809 Then, try typing @kbd{h} and @kbd{e} in the same summary buffer.
4810 The score file you just made appears.
4811 This buffer is called "score editing buffer" thereafter.
4812 When you type @kbd{C-c C-e} in it, you are prompted in the mini-buffer
4813 as you are previously; type @kbd{a}. Then a score entry for "From"
4815 In this way, you can create a score file easily either in the summary
4816 buffer or in the score editing buffer.
4818 By the way, you might be aware the numbers of key strokes are different
4819 between @kbd{s s p} and @kbd{a}.
4820 This is determined by @code{wl-score-header-default-entry}.
4821 This variable specifies the default score entries corresponding to
4823 For example, for "subject" field, a type and a time limit are prompted,
4824 but for "from" field, they are fixed upon automatically as substring and
4825 permanent respectively.
4826 However, score values can be modified by the prefix argument.
4827 Typing @kbd{?} at the mini-buffer shows a help on keys and corresponding
4830 At last, type @kbd{C-c C-c} in the score editing buffer. This saves the
4831 score file and terminates the edit mode. Typing @kbd{C-c C-c} after
4832 erasing contents of the buffer deletes the score file being edited.
4836 @subsubsection Selecting Score Files
4838 You can change score files to which scores are appended by
4839 @code{wl-summary-increase-score} and @code{wl-summary-lower-score} by
4840 @code{wl-score-change-score-file}.
4842 @subsubsection Summing Up the Score
4844 If you add the same entries by @code{wl-summary-increase-score},
4845 @code{wl-summary-lower-score}, and @code{wl-score-edit-insert-entry},
4846 scores for the entry is summed up.
4848 For example, if you create @samp{from} entry with the score of -1000 by
4849 @kbd{L a} and again @samp{from} with -200, one entry with the score of
4850 -1200 will be created as a result.
4852 @subsubsection Creating Thread Key
4854 Creating @samp{Thread} key by @code{wl-summary-increase-score} or
4855 @code{wl-summary-lower-score} appends @samp{Message-ID} of all children.
4857 @subsubsection Creating Followup Key
4859 Creating @samp{Followup} key by @code{wl-summary-increase-score} or
4860 @code{wl-summary-lower-score} appends @samp{Message-ID} of the message
4861 at the cursor to @samp{References} key.
4862 If @code{wl-score-auto-make-followup-entry} is non-nil,
4863 @samp{Message-ID} of all messages to be followed up within dates
4864 specified by @code{wl-score-expiry-days}.
4866 @subsection Key Bindings
4871 @findex wl-summary-increase-score
4872 Increases the score for the current message.
4873 And the score entry is appended to the score file at the same moment.
4874 You can specify the score value by a prefix argument.
4878 @findex wl-summary-lower-score
4879 Decreases the score for the current message.
4880 And the score entry is appended to the score file at the same moment.
4881 You can specify the score value by a prefix argument.
4884 @kindex h R (Summary)
4885 @findex wl-summary-rescore
4886 Re-applies the scoring.
4887 However, already scored messages are not scored anew.
4890 @kindex h c (Summary)
4891 @findex wl-score-change-score-file
4892 Changes the score file currently selected.
4895 @kindex h e (Summary)
4896 @findex wl-score-edit-current-scores
4897 Edits the score file currently selected.
4898 If there are multiple score files, the previously specified one is
4902 @kindex h f (Summary)
4903 @findex wl-score-edit-file
4904 Edits an arbitrary score file and selects it.
4907 @kindex h F (Summary)
4908 @findex wl-score-flush-cache
4909 Erases caches associated to the score files that are read.
4910 If you modified score files directly (from other than Wanderlust), you
4911 need to re-read them after erasing the cache.
4914 @kindex h m (Summary)
4915 @findex wl-score-set-mark-below
4916 Specifies the criterion for scores to be marked as read.
4917 Messages with scores less than this value are marked as read.
4920 @kindex h x (Summary)
4921 @findex wl-score-set-expunge-below
4922 Specifies the criterion for scores to be deleted from the summary.
4923 Messages with scores less than this value are deleted.
4924 "Deleted" means it is not shown; they are not removed from the summary
4925 information or the folder.
4926 The deleted messages can be shown by rescan-noscore again.
4929 @subsection Key Bindings in the Score Editing Buffer
4933 @kindex C-c C-k (Score Mode)
4934 @findex wl-score-edit-kill
4935 Abandons the file being edited.
4938 @kindex C-c C-c (Score Mode)
4939 @findex wl-score-edit-exit
4940 Saves the file being edited, and quits from the edit mode.
4943 @kindex C-c C-p (Score Mode)
4944 @findex wl-score-pretty-print
4948 @kindex C-c C-d (Score Mode)
4949 @findex wl-score-edit-insert-date
4950 Inserts the number of dates from Dec. 31, 1 B.C.
4951 It is used for creating the third factor of time-limited scores.
4954 @kindex C-c C-s (Score Mode)
4955 @findex wl-score-edit-insert-header
4956 Inserts the header of the message selected in the summary buffer.
4959 @kindex C-c C-e (Score Mode)
4960 @findex wl-score-edit-insert-entry
4961 Inserts the score entry of the message selected in the summary buffer.
4964 @subsection Customizable Variables
4967 @item wl-summary-default-score
4968 @vindex wl-summary-default-score
4969 The initial setting is zero.
4970 This variable specifies the default value of the score.
4971 The score is increased or decreased based upon this value.
4973 @item wl-summary-important-above
4974 @vindex wl-summary-important-above
4975 The initial setting is nil.
4976 Messages with scores larger than this value are attached with the
4977 important mark (@samp{$}).
4978 If nil, no important marks are attached.
4980 @item wl-summary-temp-above
4981 @vindex wl-summary-temp-above
4982 The initial setting is nil.
4983 Messages with scores larger than this value are attached with the temp
4985 If nil, no temp marks are attached.
4987 @item wl-summary-mark-below
4988 @vindex wl-summary-mark-below
4989 The initial setting is zero.
4990 Messages with scores smaller than this value are marked as read.
4992 @item wl-summary-expunge-below
4993 @vindex wl-summary-expunge-below
4994 The initial setting is nil.
4995 Messages with scores smaller than this value are deleted from the
4997 If nil, they are not deleted.
4999 @item wl-summary-score-marks
5000 @vindex wl-summary-score-marks
5001 The initial setting is '("N").
5002 Messages with these marks are scored.
5004 @item wl-use-scoring
5005 @vindex wl-use-scoring
5006 The initial setting is t.
5007 If non-nil, scoring is enabled.
5009 @item wl-score-files-dir
5010 @vindex wl-score-files-dir
5011 The initial setting is "~/.elmo/".
5012 The default directory for score files.
5014 @item wl-score-interactive-default-score
5015 @vindex wl-score-interactive-default-score
5016 The initial setting is 1000.
5017 This value is used as a score when a score factor is nil in the score
5019 It is also used in @code{wl-summary-increase-score} and
5020 @code{wl-summary-lower-score}, on condition that the value of
5021 @code{wl-score-header-default-entry} is nil.
5023 @item wl-score-expiry-days
5024 @vindex wl-score-expiry-days
5025 The initial setting is 7.
5026 This is the number of days before time-limited scores are deleted.
5028 @item wl-score-update-entry-dates
5029 @vindex wl-score-update-entry-dates
5030 The initial setting is t.
5031 If non-nil, it enables deletion of time-limited scores.
5033 @item wl-score-header-default-entry
5034 @vindex wl-score-header-default-entry
5035 Specifies the default value for each header field for score entries
5036 created by @code{wl-summary-increase-score},
5037 @code{wl-summary-lower-score}, and @code{wl-score-edit-insert-entry}.
5039 @item wl-score-simplify-fuzzy-regexp
5040 @vindex wl-score-simplify-fuzzy-regexp
5041 In the case of a type of a score entry is "fuzzy", this specifies a
5042 regular expression to be deleted from the string.
5043 Because this is usually used for Subject, the default is prefixes that
5044 are attached by mailing list programs.
5046 @item wl-summary-rescore-partial-threshold
5047 @vindex wl-summary-rescore-partial-threshold
5048 The initial setting is 200.
5049 When sync-all or rescan is executed, if there are messages more than
5050 this value, only the last same number of messages as this value are
5053 @item wl-summary-auto-sync-marks
5054 @vindex wl-summary-auto-sync-marks
5055 If non-nil, unread/important marks are synchronized when the summary
5057 Unread marks reflect information on the IMAP4 server.
5058 Important marks reflect information on the IMAP4 server (flagged or
5059 not), and contents of 'mark folder.
5060 The initial setting is t.
5064 @node Score File Format, , Score Commands, Scoring
5065 @section Score File Format
5066 @cindex Score File Format
5068 The format of score files are the same as Gnus, and basically you can
5069 use Gnus score files as they are. But they are not fully compatible
5070 because some keys are not supported and there are Wanderlust specifics.
5074 ("for sale" -1000 nil s)
5075 ("profit" -1000 nil s))
5077 ("spam@@spamspamspam" -10000 nil s))
5079 ("my@@address" 3001 nil s))
5081 (1000000 -10 nil >))
5090 If the key is a string, it is the name of the header to be matched.
5091 The following keys are available:
5092 @code{Subject}, @code{From}, @code{Date}, @code{Message-ID},
5093 @code{References}, @code{To}, @code{Cc}, @code{Chars}, @code{Lines},
5094 @code{Xref}, @code{Extra}, @code{Followup}, @code{Thread}
5095 @code{Chars} and @code{Lines} mean the size and the number of lines of
5096 the message, respectively. @code{Extra}, @code{Followup}, @code{Thread}
5097 are described later.
5098 The rest corresponds the field of the same name.
5100 Arbitrary numbers of core entries are specified after the key.
5101 Each score entry consists of these five factors:
5105 A factor that matches header. This should be a number in the cases of
5106 "lines" and "chars", otherwise a string.
5109 A score factor. When the first item matches, the score of the message
5110 is increased or decreased by this value.
5113 A time limiting factor. If nil, the score is permanent, and in the case
5114 of a number, the score is deleted if it does not match for days
5115 (@code{wl-score-expiry-days}) from the date specified by this.
5116 The date is since Dec. 31, 1 B.C.
5119 A type factor. This specifies the way the first factor matches.
5120 Available types depend on keys.
5123 @item From, Subject, References, Message-ID
5124 For these keys in string, @code{r} and @code{R} (regexp),
5125 @code{s} and @code{S} (substring), @code{e} and @code{E} (exact match),
5126 as well as @code{f} and @code{F} (fuzzy) can be used.
5127 @code{R}, @code{S}, @code{E}, and @code{F} are case sensitive.
5130 For these keys, the following five numerical relative operators can be
5131 used: @code{<}, @code{>}, @code{=}, @code{>=}, @code{<=}.
5134 This key matches @code{From} header, and scores all follow-ups to the
5136 For example, it would be useful for increasing scores for follow-ups to
5139 You can use the same types as @code{From} except for @code{f}.
5140 And a @samp{Followup} entry is automatically appended to the score file.
5143 This key scores (sub-)threads beginning with @code{Message-ID} @var{x}.
5144 A @samp{Thread} entry is automatically appended for each article that
5145 has @var{x} in the @code{References} header.
5146 You can make sure the whole thread including messages that does not have
5147 all ancestors @code{Message-ID} in @code{References} is scored.
5149 You can use the same types as @code{References} except for @code{f}.
5150 And a @samp{Thread} entry is automatically appended to the score file.
5154 A factor for extension header. This is meaningful only if the key is
5156 This specifies headers to be matched other than standard headers like
5157 @code{Subject} and @code{From}.
5158 Note that you should specify the header in
5159 @code{elmo-msgdb-extra-fields} also.
5160 Therefore it does not work in folders where extension headers cannot be
5165 The sum of these scores @emph{after all factors are applied} becomes the
5166 score of the message.
5168 @cindex Score File Atoms
5170 Messages with a score less than this value is marked as read.
5171 The default is @code{wl-summary-mark-below}.
5174 Messages with a score less than this value is deleted from the summary.
5175 The default is @code{wl-summary-expunge-below}.
5177 @item mark-and-expunge
5178 Both @code{mark} and @code{expunge} are applied,
5179 i.e. messages with a score less than this value is marked as read and
5180 deleted from the summary.
5183 Messages with a score greater than this value is attached with temp
5185 The default is @code{wl-summary-temp-above}.
5188 Messages with a score greater than this value is attached with important
5190 The default is @code{wl-summary-important-above}.
5195 Not to mention the @code{extra} key, if @code{lines} or @code{xref} keys
5196 are used, you need to set @code{elmo-msgdb-extra-fields}.
5199 (setq elmo-msgdb-extra-fields '("lines" "xref"))
5202 There are other restrictions as shown below:
5205 @item Because @samp{References} field in the summary information
5206 contains only the last @samp{Message-ID}, @code{references} key matches
5210 Keys that can be seen by folder of types:
5213 chars lines xref extra
5214 localdir,localnews Y E E E
5215 nntp (supporting xover) Y E E N
5221 N: cannot be seen (ignored)
5222 E: can be seen with @code{elmo-msgdb-extra-fields} settings
5229 @node Customization, Mailing List, Scoring, Top
5230 @chapter Customizing Wanderlust
5231 @cindex Customization
5234 * Living with other packages:: Living with other packages
5235 * Highlights:: Highlights
5236 * Advanced Settings:: Advanced Settings
5237 * Customizable Variables:: Customizable Variables
5241 @node Living with other packages, Highlights, Customization, Customization
5242 @section Living with other packages
5244 Examples with other packages.
5248 * supercite:: supercite.el
5249 * mu-cite:: mu-cite.el
5250 * x-face-mule:: x-face-mule.el
5251 * dired-dd:: dired-dd.el
5255 @node BBDB, supercite, Living with other packages, Living with other packages
5259 Place @file{util/bbdb-wl.el} on the load-path and do the following
5262 If BBDB is on the load-path at the installation, @file{bbdb-wl.el} is
5263 byte-compiled and installed.
5270 ;; @r{enable pop-ups}
5271 (setq bbdb-use-pop-up t)
5272 ;; @r{auto collection}
5273 (setq bbdb/mail-auto-create-p t)
5274 (setq signature-use-bbdb t)
5275 (setq bbdb-north-american-phone-numbers-p nil)
5276 ;; @r{shows the name of bbdb in the summary} :-)
5277 (setq wl-summary-from-func 'bbdb-wl-from-func)
5278 ;; @r{automatically add mailing list fields}
5279 (add-hook 'bbdb-notice-hook 'bbdb-auto-notes-hook)
5280 (setq bbdb-auto-notes-alist '(("X-ML-Name" (".*$" ML 0))))
5283 @node supercite, mu-cite, BBDB, Living with other packages
5284 @subsection sc.el(supercite), sc-register.el
5288 The same setting as usual mailers should be OK. The following is an
5289 example of settings.
5292 (autoload 'sc-cite-original "sc" nil t)
5293 (setq mail-yank-hooks 'sc-cite-original)
5294 (setq sc-preferred-header-style 1)
5295 (setq sc-electric-references-p nil)
5296 (setq sc-citation-leader "")
5297 (setq sc-load-hook '(lambda () (require 'sc-register)))
5298 (setq sc-preferred-attribution 'registeredname)
5302 @node mu-cite, x-face-mule, supercite, Living with other packages
5303 @subsection mu-cite.el
5306 The same setting as usual mailers should be OK. The following is an
5307 example of settings.
5309 If you use mu-cite version 8.0 or earlier:
5312 (autoload 'mu-cite/cite-original "mu-cite" nil t)
5313 (setq mail-citation-hook 'mu-cite/cite-original)
5316 If you use mu-cite version 8.1 or later:
5319 (autoload 'mu-cite-original "mu-cite" nil t)
5320 (add-hook 'mail-citation-hook (function mu-cite-original))
5323 @node x-face-mule, dired-dd, mu-cite, Living with other packages
5324 @subsection x-face-mule.el
5328 It depends on the version of x-face-mule.
5329 If you use x-face-mule 0.19 or older, do the following:
5332 (setq wl-highlight-x-face-func
5335 (x-face-mule:x-face-decode-message-header))))
5337 If you use x-face-mule 0.20 or later, try the following.
5339 (setq wl-highlight-x-face-func
5342 (x-face-mule-x-face-decode-message-header))))
5343 (require 'x-face-mule)
5346 Use these settings when you use @file{x-face-mule.el} attached to
5347 bitmap-mule 8.0 or later.
5350 (autoload 'x-face-decode-message-header "x-face-mule")
5351 (setq wl-highlight-x-face-func
5352 (function x-face-decode-message-header))
5355 If there is an encoded X-Face string in a file @file{~/.xface} (the value
5356 of the variable @code{wl-x-face-file}), it is inserted as a X-Face field
5357 in the draft buffer (if @code{wl-auto-insert-x-face} is non-nil).
5360 @node dired-dd, , x-face-mule, Living with other packages
5361 @subsection dired-dd(Dired-DragDrop)
5362 @pindex Dired-DragDrop
5364 @cindex Drag and Drop
5366 If you embed @file{dired-dd-mime.el} in the dired-dd package, you can
5367 compose multi-part by simple Drag&Drop from dired to the draft buffer
5368 being edited in GNU Emacs (this feature is not Wanderlust specific, but
5369 general-purpose for tm/SEMI).
5372 ;; @r{dired-dd:} http://www.asahi-net.or.jp/~pi9s-nnb/dired-dd-home.html
5378 ;; @r{Set dired-x variables here.}
5379 ;; @r{To and flo@dots{}}
5381 (progn (require 'dired-dd)
5382 (require 'dired-dd-mime))))))
5386 @node Highlights, Advanced Settings, Living with other packages, Customization
5389 @subsection Customizable Variables
5392 @item wl-summary-highlight
5393 @vindex wl-summary-highlight
5394 The initial setting is t.
5395 If non-nil, the summary is highlighted.
5397 @item wl-highlight-max-summary-lines
5398 @vindex wl-highlight-max-summary-lines
5399 The initial setting is 10000.
5400 The summary is not highlighted if it has more lines than this value.
5402 @item wl-summary-highlight-partial-threshold
5403 @vindex wl-summary-highlight-partial-threshold
5404 The initial setting is 1000.
5405 This is a threshold whether the whole summary is highlighted.
5406 If there are more lines of messages in the summary, it is partially
5409 @item wl-summary-partial-highlight-above-lines
5410 @vindex wl-summary-partial-highlight-above-lines
5411 The initial setting is 30.
5412 If there are more lines of messages than
5413 @code{wl-summary-highlight-partial-threshold} in the summary, messages
5414 after the point that is the same number of lines as this value above the
5415 cursor line are highlighted partially.
5416 (If this value is nil, the last same number of lines as the value of
5417 @code{wl-summary-highlight-partial-threshold} are highlighted.)
5419 @item wl-highlight-body-too
5420 @vindex wl-highlight-body-too
5421 The initial setting is t.
5422 If non-nil, bodies of drafts and messages are also highlighted.
5424 @item wl-highlight-message-header-alist
5425 @vindex wl-highlight-message-header-alist
5426 When highlighting headers of drafts and messages, this variable
5427 specifies which faces are allocated to important
5428 (@code{wl-highlight-message-important-header-contents}), secondly
5429 important (@code{wl-highlight-message-important-header-contents2}), and
5430 unimportant (@code{wl-highlight-message-unimportant-header-contents})
5432 Similarly, it can be used for allocating arbitrary faces to arbitrary
5433 regular expressions.
5435 @item wl-highlight-citation-prefix-regexp
5436 @vindex wl-highlight-citation-prefix-regexp
5437 Specifies a regular expression to which quoted lines in bodies of
5438 drafts and messages match.
5439 Bodies matching to this regular expression are highlighted by the faces
5440 specified by (@code{wl-highlight-message-cited-text-*}).
5442 @item wl-highlight-highlight-citation-too
5443 @vindex wl-highlight-highlight-citation-too
5444 The initial setting is nil.
5445 If non-nil, the quoting regular expression itself given by
5446 @code{wl-highlight-citation-prefix-regexp} is also highlighted.
5448 @item wl-highlight-citation-header-regexp
5449 @vindex wl-highlight-citation-header-regexp
5450 Specifies a regular expression that denotes beginning of quotation.
5451 Bodies matching to this regular expression are highlighted by the face
5452 specified by @code{wl-highlight-message-headers}.
5454 @item wl-highlight-max-message-size
5455 @vindex wl-highlight-max-message-size
5456 The initial setting is 10000.
5457 If a message is larger than this value, it will not be highlighted.
5458 With this variable, highlight is suppressed for uuencode or huge digest
5461 @item wl-highlight-signature-separator
5462 @vindex wl-highlight-signature-separator
5463 Specifies regular expressions that denotes the boundary of a signature.
5464 It can be a regular expression, or a list of ones.
5465 Messages after the place that matches this regular expression are
5466 highlighted by the face specified by
5467 @code{wl-highlight-message-signature}.
5469 @item wl-max-signature-size
5470 @vindex wl-max-signature-size
5471 The initial setting is 400.
5472 This is the largest size for a signature to be highlighted.
5474 @item wl-use-highlight-mouse-line
5475 @vindex wl-use-highlight-mouse-line
5476 The initial setting is t.
5477 If non-nil, the line pointed by the mouse is highlighted in the folder
5478 mode, summary mode, and the like.
5481 @subsection Setting Colors and Fonts of the Characters
5483 If you want to change colors or fonts of the characters, you need to
5484 modify faces defined in Wanderlust. Use set-face-font if you want to
5485 change fonts, and set-face-foreground for colors, and so on.
5486 You cannot write face settings in @file{.emacs}; write in @file{~/.wl}.
5488 For example, if you want to change the color for signatures to yellow,
5492 (set-face-foreground 'wl-highlight-message-signature "yellow")
5498 Faces defined in Wanderlust:
5501 @item wl-highlight-message-headers
5502 The face for field names of message headers.
5504 @item wl-highlight-message-header-contents
5505 The face for field bodies of message headers.
5507 @item wl-highlight-message-important-header-contents
5508 The face for important parts of message headers.
5509 Per default, this face is used for a body of Subject field.
5510 You can change its value by editing
5511 @code{wl-highlight-message-header-alist}.
5513 @item wl-highlight-message-important-header-contents2
5514 The face for secondly important parts of message headers.
5515 Per default, this face is used for bodies of From and To fields.
5516 You can change its value by editing
5517 @code{wl-highlight-message-header-alist}.
5519 @item wl-highlight-message-unimportant-header-contents
5520 The face for unimportant parts of message headers.
5521 Per default, this face is used for bodies of X- fields User-Agent fields.
5522 You can change its value by editing
5523 @code{wl-highlight-message-header-alist}.
5525 @item wl-highlight-message-citation-header
5526 The face for headers of quoted messages.
5528 @item wl-highlight-message-cited-text-*
5529 The face for texts of quoted messages.
5530 The last "*" is a single figure so that 10 different colors can be used
5531 according to citation levels.
5533 @item wl-highlight-message-signature
5534 The face for signatures of messages.
5535 The initial settings are khaki for light background colors, and
5536 DarkSlateBlue for dark background colors.
5538 @item wl-highlight-header-separator-face
5539 The face for header separators of draft messages.
5541 @item wl-highlight-summary-important-face
5542 The face for message lines with important marks in the summary.
5544 @item wl-highlight-summary-new-face
5545 The face for message lines with new marks in the summary.
5547 @item wl-highlight-summary-displaying-face
5548 The face for the message line that is currently displayed.
5549 This face is overlaid.
5551 @item wl-highlight-thread-indent-face
5552 The face for the threads that is currently displayed.
5554 @item wl-highlight-summary-unread-face
5555 The face for message lines with unread marks in the summary.
5557 @item wl-highlight-summary-deleted-face
5558 The face for message lines with delete marks in the summary.
5560 @item wl-highlight-summary-refiled-face
5561 The face for message lines with re-file marks in the summary.
5563 @item wl-highlight-refile-destination-face
5564 The face for re-file information part of message lines with re-file
5565 marks in the summary.
5567 @item wl-highlight-summary-copied-face
5568 The face for message lines with copy marks in the summary.
5570 @item wl-highlight-summary-target-face
5571 The face for message lines with temp marks @samp{*} in the summary.
5573 @item wl-highlight-summary-thread-top-face
5574 The face for message lines that are on the top of the thread in the
5577 @item wl-highlight-summary-normal-face
5578 The face for message lines that are not on top of the thread in the
5581 @item wl-highlight-folder-unknown-face
5582 The face for folders that are not known to have how many unsync messages
5585 @item wl-highlight-folder-zero-face
5586 The face for folders that have no unsync messages in the folder mode.
5588 @item wl-highlight-folder-few-face
5589 The face for folders that have some unsync messages in the folder mode.
5591 @item wl-highlight-folder-many-face
5592 The face for folders that have many unsync messages in the folder mode.
5593 The boundary between `some' and `many' is specified by the variable
5594 @code{wl-folder-many-unsync-threshold}.
5596 @item wl-highlight-folder-unread-face
5597 The face for folders that have no unsync but unread messages in the
5600 @item wl-highlight-folder-killed-face
5601 The face for folders that are deleted from the access group in the
5604 @item wl-highlight-folder-opened-face
5605 The face for open groups in the folder mode.
5606 It is meaningful when @code{wl-highlight-group-folder-by-numbers} is nil.
5608 @item wl-highlight-folder-closed-face
5609 The face for close groups in the folder mode.
5610 It is meaningful when @code{wl-highlight-group-folder-by-numbers} is nil.
5612 @item wl-highlight-folder-path-face
5613 The face for the path to the currently selected folder in the folder
5616 @item wl-highlight-logo-face
5617 The face for logo in the demo.
5619 @item wl-highlight-demo-face
5620 The face for strings (for example, a version number) in the demo.
5623 @node Advanced Settings, Customizable Variables, Highlights, Customization
5624 @section Advanced Settings
5627 * Draft for Reply:: Draft for Reply
5628 * Thread Format:: Appearance of Thread
5629 * User-Agent Header:: User-Agent Header
5633 @node Draft for Reply, Thread Format, Advanced Settings, Advanced Settings
5634 @subsection Draft for Replay
5636 If you want, when you replying to articles in mailing lists, the address
5637 in Reply-To field of the original message to be prepared to To field of
5638 the reply draft by simply pressing @kbd{a} in the summary mode, try the
5642 (setq wl-draft-reply-without-argument-list
5643 '(("Mail-Followup-To" . (("Mail-Followup-To") nil ("Newsgroups")))
5644 ("Followup-To" . (nil nil ("Followup-To")))
5645 (("X-ML-Name" "Reply-To") . (("Reply-To") nil nil))
5646 ("From" . (("From") ("To" "Cc") ("Newsgroups")))))
5650 (Only if there are both of "X-ML-Name" and "Reply-To" fields in the
5651 original message, Reply-To: field in the original is copied to To:
5654 @node Thread Format, User-Agent Header, Draft for Reply, Advanced Settings
5655 @subsection Appearance of Threads
5658 389 09/18(Fri)01:07 [ Teranishi ] wl-0.6.3
5659 390 09/18(Fri)07:25 +-[ Tsumura-san ]
5660 391 09/18(Fri)19:24 +-[ Murata-san ]
5661 392 09/20(Sun)21:49 +-[ Okunishi-san ]
5662 396 09/20(Sun)22:11 | +-[ Tsumura-san ]
5663 398 09/21(Mon)00:17 | +-[ Tsumura-san ]
5664 408 09/21(Mon)22:37 | +-[ Okunishi-san ]
5665 411 09/22(Tue)01:34 | +-[ Tsumura-san ]
5666 412 09/22(Tue)09:28 | +-[ Teranishi ]
5667 415 09/22(Tue)11:52 | +-[ Tsumura-san ]
5668 416 09/22(Tue)12:38 | +-[ Teranishi ]
5669 395 09/20(Sun)21:49 +-[ Okunishi-san ]
5670 397 09/21(Mon)00:15 +-[ Okunishi-san ]
5673 Settings to make appearance of threads like shown above:
5676 (setq wl-thread-indent-level 2)
5677 (setq wl-thread-have-younger-brother-str "+")
5678 (setq wl-thread-youngest-child-str "+")
5679 (setq wl-thread-vertical-str "|")
5680 (setq wl-thread-horizontal-str "-")
5681 (setq wl-thread-space-str " ")
5684 If you do not want to see branches, do the following:
5687 (setq wl-thread-indent-level 2)
5688 (setq wl-thread-have-younger-brother-str " ")
5689 (setq wl-thread-youngest-child-str " ")
5690 (setq wl-thread-vertical-str " ")
5691 (setq wl-thread-horizontal-str " ")
5692 (setq wl-thread-space-str " ")
5696 @node User-Agent Header, , Thread Format, Advanced Settings
5697 @subsection User-Agent
5699 If you are eccentric enough to elaborate X-Mailer or User-Agent fields,
5700 define a function that inserts appropriate strings as you like, and set
5701 it to @code{wl-generate-mailer-string-func}.
5703 The following is an example.
5706 (setq wl-generate-mailer-string-func
5709 (concat "X-Mailer: "
5710 (format "%s/%s (%s)" wl-appname wl-version wl-codename)))))
5713 @node Customizable Variables, , Advanced Settings, Customization
5714 @section Customizable Variables
5716 Customizable variables that have not been described yet:
5719 @item wl-default-folder
5720 @vindex wl-default-folder
5721 The initial setting is "%inbox". This is the default value for moving to
5722 a folder and the like.
5724 @item wl-draft-folder
5725 @vindex wl-draft-folder
5726 The initial setting is "+draft". It is the folder to which drafts are
5727 saved. It must be a localdir folder.
5729 @item wl-trash-folder
5730 @vindex wl-trash-folder
5731 The initial setting is "+trash". It is the wastebasket folder.
5732 If you changed this variable, you had better restart Wanderlust.
5734 @item wl-interactive-exit
5735 @vindex wl-interactive-exit
5736 The initial setting is t.
5737 If non-nil, you are asked for confirmation when Wanderlust terminates.
5739 @item wl-interactive-send
5740 @vindex wl-interactive-send
5741 The initial setting is nil.
5742 If non-nil, you are asked for confirmation when mail is sent.
5744 @item wl-folder-sync-range-alist
5745 @vindex wl-folder-sync-range-alist
5746 The initial setting is the list shown below:
5749 ("^\\+draft$\\|^\\+queue$" . "all"))
5751 This is an associative list of regular expressions of folder names and
5752 update range of the summary.
5753 Update range is one of the "all", "update", "rescan", "rescan-noscore", "first"
5754 and "last". If a folder do not match, "update" is used.
5757 @vindex wl-ask-range
5758 The initial setting is t.
5759 If nil, the value of @code{wl-folder-sync-range-alist} is used for
5760 updating the summary when you changed folders.
5762 @item wl-mime-charset
5763 @vindex wl-mime-charset
5764 The initial setting is 'x-ctext.
5765 This is the MIME charset for messages that are not MIME (e.g. without
5766 Content-Type). This value also used as default charset for summary.
5767 (If you want to share Summary on Nemacs and other Emacsen,
5768 set this value as 'iso-2022-jp.)
5770 @item wl-search-mime-charset
5771 @vindex wl-search-mime-charset
5772 The initial setting is 'iso-2022-jp.
5773 This is used as a MIME charset for searching.
5775 @item wl-highlight-folder-with-icon
5776 @vindex wl-highlight-folder-with-icon
5777 This is meaningful for XEmacs only. The initial setting depends on
5778 XEmacs (t for XEmacs with icons).
5780 @item wl-strict-diff-folders
5781 @vindex wl-strict-diff-folders
5782 This is a list of regular expressions of folders.
5783 Unread messages are checked, for example when you press @kbd{s} in
5784 the folder mode, usually in a brief way (rapidly processed but not
5786 The folders matching this variable are seriously checked.
5787 You may want to set this variable so as to match conditional filter
5788 folders for IMAP4 folders.
5789 The initial setting is nil.
5791 @item wl-folder-use-server-diff
5792 @vindex wl-folder-use-server-diff
5793 When unread messages are checked, for example when you press @kbd{s} in
5794 the folder mode, usually (the number of messages on the server) - (the
5795 number of local messages) will be the number of unread messages.
5796 However, if this variable is non-nil, the number of unread messages on
5797 the server is checked. This affects IMAP4 folders only, but IMAP4
5798 folders in mail boxes matching
5799 @code{elmo-imap4-disuse-server-flag-mailbox-regexp} are not checked for
5800 the number of unread messages on the server, even if they matches this
5801 variable. The initial setting is t.
5803 @item wl-auto-check-folder-name
5804 @vindex wl-auto-check-folder-name
5805 The initial setting is nil.
5806 If non-nil, the folder with the name of the value is checked for unread
5807 messages at the start.
5808 If it is 'none, no folders are checked.
5809 If it is a list, all folders in the list are checked at the start.
5811 @item wl-auto-uncheck-folder-list
5812 @vindex wl-auto-uncheck-folder-list
5813 The initial setting is '("\\$.*").
5814 Folders with the name matching this variable are not checked for unread
5815 messages at the start, even if they are included in the groups in
5816 @code{wl-auto-check-folder-name}.
5818 @item wl-auto-check-folder-list
5819 @vindex wl-auto-check-folder-list
5820 The initial setting is nil.
5821 Folders with the name matching this variable are always checked for
5822 unread messages at the start, if they are included in the groups in
5823 @code{wl-auto-check-folder-name}.
5824 This takes precedence over @code{wl-auto-uncheck-folder-list}.
5826 @item wl-no-save-folder-list
5827 @vindex wl-no-save-folder-list
5828 The initial setting is '("^/.*$").
5829 This is a list of regular expressions of folders not to be saved.
5831 @item wl-save-folder-list
5832 @vindex wl-save-folder-list
5833 The initial setting is nil.
5834 This is a list of regular expressions of folders to be saved.
5835 This takes precedence over @code{wl-no-save-folder-list}.
5837 @item wl-folder-mime-charset-alist
5838 @vindex wl-folder-mime-charset-alist
5839 The initial setting is the list shown below:
5842 '(("^-alt\\.chinese" . big5)
5843 ("^-relcom\\." . koi8-r)
5845 ("^-han\\." . euc-kr)
5849 This is an associative list of regular expressions of folder names and
5851 If a folder do not match, @code{wl-mime-charset} is used.
5853 @item wl-folder-init-load-access-folders
5854 @vindex wl-folder-init-load-access-folders
5855 The initial setting is nil.
5856 This is a list of access groups to be loaded specifically at the start.
5857 If it is nil, @code{wl-folder-init-no-load-access-folders} is referred.
5859 @item wl-folder-init-no-load-access-folders
5860 @vindex wl-folder-init-no-load-access-folders
5861 The initial setting is nil.
5862 This is a list of access groups not to be loaded specifically at the
5864 It is ignored if @code{wl-folder-init-load-access-folders} is non-nil.
5866 @item wl-delete-folder-alist
5867 @vindex wl-delete-folder-alist
5868 The initial setting is '(("^-" . remove)).
5869 This list determines disposition of messages with delete marks.
5870 Each item in the list is a folder and destination; you can specify any
5871 one of the following in the place of destination:
5874 'remove or 'null : deletes the messages instantly.
5875 string : moves the messages to the specific folder.
5876 'trash or others : moves the messages to `wl-trash-folder'.
5879 @item wl-refile-policy-alist
5880 @vindex wl-refile-policy-alist
5881 The initial setting is '(("^[-=]" . copy) (".*" . move)).
5882 This list determines whether messages with re-file marks are moved or
5884 Each item in the list is a cons cell of a folder and copy or move.
5886 @item wl-x-face-file
5887 @vindex wl-x-face-file
5888 The initial setting is "~/.xface".
5889 The name of the file that contains encoded X-Face strings.
5892 @item wl-demo-display-logo
5893 @vindex wl-demo-display-logo
5894 If non-nil, bitmap image is shown on the opening demo.
5896 @item elmo-use-database
5897 @vindex elmo-use-database
5898 This is meaningful for XEmacs only. The initial setting depends on
5899 XEmacs (t for XEmacs with dbm).
5900 If non-nil, Message-ID is controlled by dbm.
5902 @item elmo-passwd-alist-file-name
5903 @vindex elmo-passwd-alist-file-name
5904 The initial setting is "passwd".
5905 This is the name of the file in which passwords are saved.
5906 @code{elmo-passwd-alist-save} saves current passwords to the file.
5908 @item elmo-nntp-list-folders-use-cache
5909 @vindex elmo-nntp-list-folders-use-cache
5910 The initial setting is 600 (in seconds).
5911 This is period in seconds during which results of @samp{list} and
5912 @samp{list active} in NNTP are cached. If it is nil, they are not
5915 @item elmo-nntp-max-number-precedes-list-active
5916 @vindex elmo-nntp-max-number-precedes-list-active
5917 The initial setting is nil.
5918 If non-nil, the number of article obtained by @samp{list active} in NNTP
5919 are used as the maximum article number of the folder.
5920 Set this to t if you are using for example INN 2.3 as an NNTP server,
5921 and if the number of read messages is not correct.
5923 @item elmo-nntp-default-use-listgroup
5924 @vindex elmo-nntp-default-use-listgroup
5925 The initial setting is t.
5926 If non-nil, @samp{listgroup} is used for checking the total number of
5928 If it is nil, @samp{group} is used. In the latter case, the processing
5929 will be a little faster at the sacrifice of accuracy.
5931 @item elmo-pop3-send-command-synchronously
5932 @vindex elmo-pop3-send-command-synchronously
5933 The initial setting is nil.
5934 If non-nil, POP3 commands are issued synchronously. Some implementation
5935 of POP3 server fails to get summary information without this setting.
5936 You may have to set this variable to t, if the process hangs while
5939 @item elmo-dop-flush-confirm
5940 @vindex elmo-dop-flush-confirm
5941 The initial setting is t.
5942 If non-nil, you are asked for confirmation if accumulated off-line
5943 operations are executed.
5950 @node Mailing List, Addition, Customization, Top
5951 @chapter Wanderlust Mailing List
5954 Wanderlust Mailing List @t{<wl@@lists.airs.net>}
5957 Topics related to Wanderlust are discussed in the mailing list.
5958 The latest version is also announced there (in Japanese, sorry).
5960 A guide can be obtained automatically by sending mail to
5961 @t{wl-ctl@@lists.airs.net} with the body
5966 Please send bug reports or patches to the mailing list.
5967 You can post to the mailing list even though you are not a member of it.
5969 I would like to express my thanks to the members of the mailing list for
5970 valuable advice and many pieces of code they contributed.
5976 @node Addition, Index, Mailing List, Top
5977 @chapter Additional Information
5979 @section Brief History
5982 1998 3/05 Tried to make a prototype that displays MH messages in threads.
5983 3/10 Made a msgdb mechanism by elisp.
5984 3/26 IMAP and NNTP can be displayed in threads.
5985 4/13 Began to assemble thread display modules as elmo.
5986 5/01 Finished 0.1.0, initial version with many defects.
5987 6/12 I made a slip of the tongue and said I was writing elisp
5988 mailer supporting IMAP
5989 6/16 0.1.3 was announced at tm-ja, elisp ML.
5990 6/22 Thanks to Kitame-san, the mailing list started at northeye.org.
5991 7/01 Support for mm-backend (0.3.0).
5992 8/25 multi folder added (0.5.0).
5993 8/28 filter folder added (0.5.1).
5994 9/10 You can open/close threads (0.6.0).
5995 9/11 fldmgr by Murata-san made editing folders easy.
5996 9/18 lha folders added by Okunishi-san (0.6.3).
5997 9/24 Display of branches of threads (0.6.5).
5998 9/28 Compression folder supporting multiple archivers by Okunishi-san.
5999 10/28 Off-line operations (0.7.4).
6000 12/09 Becomes beta version.
6001 12/21 wl-expire by Murata-san.
6002 1999 2/03 auto-refile by Tsumura-san.
6003 4/28 wl-template by Murata-san.
6004 5/18 Released 1.0.0 stable.
6005 7/5 Scoring by Murata-san (2.1.0).
6008 See @file{ChangeLog} for details.
6012 According to a dictionary, Wanderlust has the meaning:
6016 n eager longing for or impulse towards travelling in distant lands
6017 [Ger, fr wandern to wander + lust desire, pleasure]
6021 but I had no profound intention.
6022 (if farfetched, IMAP @t{=>} you can read mail anywhere @t{=>} desire to
6025 Elmo is the abbreviation of @samp{Elisp Library for Message
6027 At first I meant the red puppet in the Sesame Street, but you may
6029 Wandering @t{=>} Drifting @t{=>} Guidepost @t{=>} St.@: Elmo's fire @t{=>} elmo.
6033 Each versions has code names (they are almost jokes).
6034 Currently they are picked up alphabetically from the top 40 hits of
6035 U.S. Billboard magazines in 1980s.
6037 (@samp{http://www.summer.com.br/~pfilho/html/top40/index.html})
6040 @node Index, , Addition, Top
6044 * Concept Index:: Concept Index
6045 * Key Index:: Key Index
6046 * Variable Index:: Variable Index
6047 * Function Index:: Function Index
6050 @node Concept Index, Key Index, Index, Index
6051 @unnumberedsec Concept Index
6054 @node Key Index, Variable Index, Concept Index, Index
6055 @unnumberedsec Key Index
6058 @node Variable Index, Function Index, Key Index, Index
6059 @unnumberedsec Variable Index
6062 @node Function Index, , Variable Index, Index
6063 @unnumberedsec Function Index