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/24 17:24:35 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") can be written in
483 @subsection mail-user-agent
484 @cindex Default Mailer
485 @cindex Mailer, Default
486 @vindex mail-user-agent
489 If you write following setting in you @file{.emacs}, you can
490 start Wanderlust draft mode by typing @kbd{C-x m} (@code{compose-mail}).
491 This means it enables you to run Wanderlust as a default mail composer
494 It is effective only when your Emacs can define @code{mail-user-agent}.
495 @c @xref{Mail Methods, , ,emacs}.
498 (autoload 'wl-user-agent-compose "wl-draft" nil t)
499 (if (boundp 'mail-user-agent)
500 (setq mail-user-agent 'wl-user-agent))
501 (if (fboundp 'define-mail-user-agent)
502 (define-mail-user-agent
504 'wl-user-agent-compose
511 @node Mail Addresses, Folder Definition, Minimal Settings, Start Me Up
512 @section Address book
513 @cindex Address book Definition
515 @cindex Alias, Address
517 The file @file{~/.addresses} is a simple address book for Wanderlust.
518 Make address file @file{~/.addresses}, and edit to suit your requirement.
520 The data written in @file{~/.addresses} are used for address completion
521 under draft editing mode. Furthermore, they are used when showing names
522 in summary display mode. You can safely skip this section, if you don't
523 want to customize address completion and summary display.
524 It is possible to add/change/remove addresses from @file{~/.addresses} in
525 summary buffer after Wanderlust is invoked. @refill
527 The format is very simple. Like this. @refill
531 # @r{Lines begin with @samp{#} are comment.}
532 # @r{Empty lines are ignored}
534 # @r{Format of each line:}
535 # @r{email-address ``nickname'' ``realname''}
537 teranisi@@gohome.org "Yuuichi" "Yuuichi Teranishi"
538 foo@@bar.gohome.org "Mr. Foo" "John Foo"
539 bar@@foo.gohome.org "Mr. Bar" "Michael Bar"
543 One line defines one persons description.
545 Actually, in default setup, "nickname" is used in summary-mode and "real name"
546 is used in draft preparation mode. This behavior is better understood if you
547 try it and confirmed the function first. You can write and try a small
548 definition, so you will know the idea of the address book before writing a big
551 And, if MH alias file is specified in variable @code{wl-alias-file},
552 it is used as an address information in the draft preparation mode.
554 @node Folder Definition, Start Wanderlust, Mail Addresses, Start Me Up
555 @section Folder Definition
556 @cindex Folder Definition
559 Define the folders you want to subscribe in file @file{~/.folders}.
560 The contents written in @file{~/.folders} become the folders which
561 you subscribe to as it is.
563 You can skip this section because it is possible to add/edit the
564 subscribe folders from the buffer for list of folders.
566 Format for @file{~/.folders} is very simple. Here is an example:
570 # @r{Lines begin with @samp{#} are comment.}
571 # @r{Empty lines are ignored}
573 # @r{folder name} "@r{folder nickname}"
574 # @r{(nicknames are not necessary)}
579 %#mh/Backup@@my.imap.server.com "Sent"
582 %#mh/spool/wl "Wanderlust ML"
583 %#mh/spool/elips "ELIPS ML"
584 %#mh/spool/tm-ja "tm Japanese ML"
585 %#mh/spool/xemacs-beta "XEmacs beta"
586 -fj.news.reader.gnus@@other.nntp.server.com "Gnus Net news"
587 *-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs "fj's Emacsen"
590 # @r{If folder name ends with @samp{/}, that means an `access group',}
591 # @r{all subfolders automatically included in one folder group.}
593 %#mh/expire@@localhost /
594 # @r{All MH folders are included in one folder group.}
598 Each line contains one folder you want to read. The definition of folders
599 will be explained in detail in the next section.
601 The part surrounded by @samp{@var{group name}@{} and @samp{@}} will become one folder group.
602 One folder group is treated as a directory which can bed opened and closed in
603 folder mode. It is convenient for collecting some folders and putting them
606 Please note that @samp{@var{group name}@{} and @samp{@}} occupies one
607 line and you have to write it that way (It is because the parser sucks).
609 There are two types of groups. One is like @samp{Emacsen} from above
610 example which the user chooses his favorite folders as a group.
612 The other one is @dfn{access group} like @samp{+} from above example.
613 It makes all the sub-folders in a folder to a group.
614 (It differs from the type of the folder. For example, @samp{+} makes entire
615 MH sub-directories to one group)
617 This behavior is better understood if you try it and confirmed the function
618 first. You can write and try a small folder definition, so you will know the
619 idea of the folder function before writing the real one.
621 @node Start Wanderlust, , Folder Definition, Start Me Up
622 @section Start Wanderlust
623 @cindex Start Wanderlust
625 If installation and configuration worked well, you can invoke Wanderlust by
626 typing following command in Emacs.
633 After initialization, Folder Mode which shows the list of folders will appear.
634 That means the folders you defined in the @file{~/.folders} are listed
635 If you start Wanderlust with prefix argument like @kbd{C-u M-x wl}, you
636 can skip folder checking.
641 @node Folders, Folder, Start Me Up, Top
642 @chapter Wanderlust's folders
645 This chapter describes the folder types which Wanderlust is able to handle.
647 Wanderlust uses ELMO as it's interface, so every folder types supported
648 by ELMO is usable in Wanderlust.
650 As of version @value{version}, 10 types of folders are predefined. These are
651 IMAP, NNTP, LocalDir(MH), News Spool, POP, Archive, Multi, Filter, Pipe
652 and Internal folder types.
655 * IMAP Folder:: @samp{%} -- IMAP folder
656 * NNTP Folder:: @samp{-} -- NNTP folder
657 * MH Folder:: @samp{+} -- MH folder
658 * Maildir Folder:: @samp{.} -- Maildir folder
659 * News Spool Folder:: @samp{=} -- News spool folder
660 * Archive Folder:: @samp{$} -- Archive folder
661 * POP Folder:: @samp{&} -- POP folder
662 * Multi Folder:: @samp{*} -- Multi folder
663 * Filter Folder:: @samp{/} -- Filter folder
664 * Pipe Folder:: @samp{|} -- Pipe folder
665 * Internal Folder:: @samp{'} -- Internal folder
669 @node IMAP Folder, NNTP Folder, Folders, Folders
676 A folder to access e-mails via IMAP4rev1 protocol (RFC 2060).
679 Format: '%' 'IMAP mailbox'[':' 'username' ['/' 'authenticate-type']]['@@' 'hostname'][':' 'port']['!']
682 "auth" (encoded password transmission), "cram-md5" (cram-md5 authentication)
683 and "login" (plain password transmission) as authenticate-type.
684 (To use cram-md5 authentication, you must install utils/sasl package.)
688 username -> The value of @code{elmo-default-imap4-user}.
689 Initial setting is `USER' environment variable or
690 `LOGNAME' environment variable or return value of
692 authenticate-type -> The value of @code{elmo-default-imap4-authenticate-type}.
693 Initial setting is "auth".
694 hostname -> The value of @code{elmo-default-imap4-server}.
695 Initial setting is "localhost".
696 port -> The value of @code{elmo-default-imap4-port}.
697 Initial setting is 143.
699 You can omit the hostname from folder names if you set
700 @code{elmo-default-imap4-server} as your main IMAP server.
701 For example, you can specify a folder as @samp{foo%imap@@geteway} even
702 if you have to go through a firewall.
704 SSL (Secure Socket Layer) connection will be used if a folder name
705 ends with '!'. Or, if the value of @code{elmo-default-imap4-ssl} is non-nil,
706 SSL will be the default connection.
707 If a folder name ends with '!!', STARTTLS connection will be established.
708 if the value of @code{elmo-default-imap4-ssl} is 'starttls,
709 STARTTLS will be the default connection.
711 If you specify "auth" or "cram-md5" as authentication method, the password
712 is sent in encoded form. But, if your server is unable to receive an encoded
713 password, authentication will fall back to "login" (that is, sending password
714 in raw format) after confirmation to user. If @code{elmo-imap4-force-login}
715 is non-nil, authentication will fall back to "login" without confirmation
716 (default value is nil).
718 Example: %inbox -> IMAP mailbox "inbox"
719 %#mh/inbox -> IMAP mailbox "#mh/inbox"
721 %inbox:hoge -> IMAP mailbox "inbox" of user "hoge".
722 %inbox:hoge/login@@server1
723 -> server1's IMAP mailbox "inbox"
724 of user "hoge", with plain password authentication
728 @subsection International mailbox names (Modified UTF7)
730 You can use international mailbox names in 'IMAP mailbox' part, if you
731 are using Emacs which can treat unicode and
732 @code{elmo-imap4-use-modified-utf7} is set to non-nil value (default
735 Currently, following Emacsen can treat unicode.
738 @item Emacs 20.3 or later + Mule-UCS
740 If you installed Mule-UCS package, Emacs can treat unicode.
741 You can obtain Mule-UCS package from following URL.
744 ftp://ftp.m17n.org/pub/mule/Mule-UCS/
747 @item XEmacs 21.2.13 or later + ucs-conv package
749 By default, XEmacs 21 cannot treat unicodes, but if you installed
750 ucs-conv package, it can.
751 You can obtain ucs-conv package from following anonymous CVS.
754 :pserver:anonymous@@cvs.m17n.org:/cvs/root
755 Password: NULL (Just enter return key)
758 You also need utf7 conversion programs, u7tou8 and u8tou7 to use international
759 mailbox name in the current XEmacs.
760 These programs are included in the UTF7 package which can be obtained
764 ftp://ftp.ifcss.org/pub/software/unix/convert/utf7.tar.gz
768 @node NNTP Folder, MH Folder, IMAP Folder, Folders
773 A folder to access USENET news via NNTP protocol (RFC 977).
774 One newsgroup is treated as a folder.
777 Format: '-' 'newsgroup'[[':' 'username']['@@' 'hostname'][':' 'port']]['!']
780 hostname -> The value of @code{elmo-default-nntp-server}.
781 Initial setting is "localhost".
782 username -> The value of @code{elmo-default-nntp-user}.
783 Initial setting is nil.
784 port -> The value of @code{elmo-default-nntp-port}.
785 Initial setting is 119.
787 AUTHINFO is used as authentication method if the username is non-nil.
788 SSL will be default method if @code{elmo-default-nntp-ssl} is non-nil even
789 if the folder name doesn't end with '!'
790 If a folder name ends with '!!', STARTTLS connection will be established.
791 if the value of @code{elmo-default-nntp-ssl} is 'starttls,
792 STARTTLS will be the default connection.
794 Example: -fj.rec.tv -> Newsgroup `fj.rec.tv'.
795 -fj.rec.tv@@newsserver -> Newsgroup `fj.rec.tv' on newsserver.
798 @node MH Folder, Maildir Folder, NNTP Folder, Folders
804 A folder to access MH format mail (1 file is 1 mail).
807 Format: '+' 'directory-name'
809 Normally, directory paths are relative to variable
810 @code{elmo-localdir-folder-path} (default is @file{~/Mail}), but if it
811 starts with @samp{/} or @samp{~}, then it is treated as an absolute path
812 (this is also true for drive-letters).
814 Message number is used for the name of the message file.
816 Example: +inbox -> "~/Mail/inbox"
817 +from/teranisi -> "~/Mail/from/teranisi"
821 @node Maildir Folder, News Spool Folder, MH Folder, Folders
822 @section Maildir Folder
823 @cindex Maildir Folder
827 A folder to access to Maildir format (1 file is 1 mail).
830 Format: '.' 'directory-name'
832 Normally, directory paths are relative to variable
833 @code{elmo-maildir-folder-path} (default is @file{~/Maildir}), but if it
834 starts with @samp{/} or @samp{~}, then it is treated as an absolute path
835 (this is also true for drive-letters).
837 Maildir contains @file{cur}, @file{new} and @file{tmp} subdirectories.
838 Messages are contained in the @file{cur} directory. All
839 message files in the @file{new} directory are moved to @file{cur}
840 directory when you access to the folder. All message files contained in
841 the @file{tmp} directory and not accessed for 36 hours are deleted.
843 These behaviors are defined the @samp{http://cr.yp.to/proto/maildir.html}.
845 Example: . -> "~/Maildir"
846 .inbox -> "~/Maildir/inbox"
847 .from/teranisi -> "~/Maildir/from/teranisi"
851 @node News Spool Folder, Archive Folder, Maildir Folder, Folders
852 @section News Spool Folder
853 @cindex News spool Folder
857 This folder handles locally saved news articles which are proposed by Mew/IM.
858 You can also read articles directly from a spool-file which is retrieved
859 by an utility like gnspool.
862 Format: '=' 'directory-name'
864 directory-name is sub-directory to the directory defined by variable
865 @code{elmo-localnews-folder-path} (default is "~/News")
866 You can use @samp{.} as directory delimiter as well as @samp{/}.
868 Example: =fj/os/os2 -> "~/News/fj/os/os2"
869 =fj.os.bsd.freebsd -> "~/News/fj/os/bsd/freebsd"
872 @node Archive Folder, POP Folder, News Spool Folder, Folders
873 @section Archive Folder
874 @cindex Archive Folder
878 This method can handle archive files, which are compressed by utilities
879 such as Info-ZIP or LHA, as one folder.
882 Format: '$' 'path-name' [';' archiver-type ';' prefix]
884 `path-name' is the relative path from @code{elmo-archive-folder-path}
885 (initial setting is @file{~/Mail}).
886 If path-name begins with @samp{/} or @samp{~} or `drive-letter of DOS',
887 path-name is treated as absolute path.
888 ange-ftp format is also permitted under the environment of ange-ftp, efs.
890 The actual file name of the archive folder is
891 @code{elmo-archive-basename}(Initial setting is "elmo-archive")
892 under the path-name. If a file named path-name exists, it is treated as
893 folder. The suffix is automatically decided for archiver-type.
895 If `archiver-type' is omitted, @code{elmo-archive-default-type}
896 (Initial setting is 'zip) is referred.
898 `prefix' specifies the internal directory structure of the archive.
899 For example, if the ML server is fml, @file{msend.tar.gz} has a structure like
900 @file{spool/1}, so you have to specify "spool" as `prefix'.
902 Example: $teranisi -> "~/Mail/teranisi/elmo-archive.zip"
903 $bsd/freebsd;lha -> "~/Mail/bsd/freebsd/elmo-archive.lzh"
904 $/foo@@server:~/bar;zoo -> "~/bar/elmo-archive.zoo" on ftp server
905 $d:/msend.tar.gz;tgz;spool -> "d:/msend.tar.gz"
909 * Archiver:: Archivers supported
910 * Archive Tips:: TIPS
911 * Archive Vars:: Customization
915 @node Archiver, Archive Tips, Archive Folder, Archive Folder
916 @subsection Supported Archives
926 By default, following archives are supported.
929 LHA, Info-ZIP/UNZIP, ZOO, RAR ;; full-access
930 GNU TAR('tgz, 'tar) ;; read-only
933 If your archiver can include multiple files in one archive, you have a
934 possibility use it as an archiver of Wanderlust (ARJ/UNARJ, ARC is one
935 of the candidate. TAR is supported read-only because it cannot delete
936 file in the archive ('mv)).
938 gzip, bzip, bzip2 cannot be used as an archiver of Wanderlust because
939 they cannot include multiple files. Archivers that cannot extract files
940 to standard output are also not supported.
942 @subsection OS specific information about archiver.
944 Behaviors of the following archivers are confirmed by further experiences.
945 (@samp{*} mark means recommended archiver).
948 [OS/2] Warp4.0J(w/o VoiceType)+Fx00505/emx0.9c(fix04)/PMMule,EmacsPM
949 LHA OS/2 version Rel.2.06b Feb 18, 1998
950 *UnZip 5.32 of 3 November 1997, by Info-ZIP.
951 *Zip 2.2 (November 3rd 1997).
952 Zoo archiver, zoo 2.1 $@asis{}Date: 91/07/09 02:10:34 $
953 GNU tar version 1.10 - AK 2.58 (DBCS/SJIS) 981216(homy) version
954 gzip 1.2.4 (18 Aug 93) + bzip2 patch(by Iida-san)
956 [UN|X] FreeBSD 2.2.7-RELEASE, Linux 2.0.30, Solaris2.6, HP-UX 9.07
958 UnZip 5.32 of 3 November 1997
959 Zip 2.2 (November 3rd 1997)
960 GNU tar 1.12 (1.11.x is no good)
961 gzip 1.2.4 (18 Aug 93)
963 [Win32] Win.98/Meadow
967 GNU tar 1.11.8 + 1.5(WIN32)
973 If you are an OS/2 user, Peter Fitzsimmons's LH/2 is not supported.
974 Hiramatsu version of LHA is only supported.
975 In Win32, LHa32 is only supported (DOS version is no good).
977 * Caution about GNU tar
979 You have to take care about GNU tar's version because
980 many version has problem on deleting file from archive.
982 Please test --delete -f options work. Otherwise, your archive will be
983 destroyed. No problem is reported on above versions of GNU tar.
987 @node Archive Tips, Archive Vars, Archiver, Archive Folder
991 For comfortable migration, usage of wl-summary-archive() (@pxref{Archive}) or
992 Expire (@pxref{Expire}) is recommended.
993 To treat archive folders created by expiration,
994 you must set non-nil value to @code{elmo-archive-treat-file}.
996 On the OS/2, there is a great difference between Mule2.3(19.28) and Emacs20.2
997 in processing speed. For comfortable use, Emacs20 is recommended.
998 (If re-search's performance is the problem, 19.3x or later may be okay.)
1000 If many files are included in one archive,
1001 it takes long time to access to the archive folder because
1002 archiver starting overhead is increased (especially LHA).
1003 150-200 messages in one archive is recommended.
1005 Of course, following is possible @t{:-)}
1006 (meanings of these variables are described later.)
1008 (setq wl-fcc "$backup")
1009 (setq wl-trash-folder "$trash;lha")
1013 @node Archive Vars, , Archive Tips, Archive Folder
1014 @subsection Variables About Archive Folder
1015 @cindex Archive variables
1018 @item elmo-archive-default-type
1019 @vindex elmo-archive-default-type
1020 The initial setting is 'zip.
1021 Set archiver type by symbol.
1023 @item elmo-archive-@var{type}-method-alist
1024 @vindex elmo-archive-TYPE-method-alist
1025 Define archiver @var{type}'s methods.
1026 (@var{type} is @samp{lha}, @samp{zip}, @samp{zoo}, @samp{tgz} etc)
1027 Each element of the alist is following.
1030 (action . (exec-name options)) ;; external program and its option.
1031 (action . function) ;; function
1034 Currently available actions are following.
1037 'ls, 'cat ('cat-headers) ;; Minimal setting(read-only)
1038 'mv ('mv-pipe), 'rm ('rm-pipe) ;; full-access (with above)
1044 actions enclosed with braces are optional (They are used for better
1047 @item elmo-archive-suffix-alist
1048 @vindex elmo-archive-suffix-alist
1049 An alist of archiver-type (symbol) and suffix.
1051 @item elmo-archive-file-regexp-alist
1052 @vindex elmo-archive-file-regexp-alist
1053 An alist of a regexp to get file number from list output of archiver
1054 and archiver-type (symbol).
1056 @item elmo-archive-method-list
1057 @vindex elmo-archive-method-list
1058 A list of elmo-archive-@var{type}-method-alist
1059 (@var{type} is a symbol of archiver-type).
1061 @item elmo-archive-lha-dos-compatible
1062 @vindex elmo-archive-lha-dos-compatible
1063 The initial setting is t on OS/2 and Win32.
1064 If non-nil, LHA is DOS (Mr. Yoshizaki original) compatible.
1066 @item elmo-archive-cmdstr-max-length
1067 @vindex elmo-archive-cmdstr-max-length
1068 The initial setting is 8000.
1070 Max length of command line argument for external archiver program.
1071 Emacs does not have a limit of command line byte length, but some OS
1072 (e.x OS/2) have. It depends on the OS. Archive folder is affected by
1073 this limit because it calls external archiver program directly (not
1074 called via shell). For example, you cannot delete messages if archiver
1075 program must receive larger bytes of arguments to delete. OS/2 have a
1076 command line argument limit of 8190 bytes, so we defined default as 8000
1079 However, you don't have an influence of command line argument limit
1080 if the archiver has `actions' to receive target file information from
1081 standard input (rm-pipe, mv-pipe, cat-headers action).
1084 @node POP Folder, Multi Folder, Archive Folder, Folders
1092 A folder to access e-mails via POP3 protocol (RFC 1939).
1095 Format: '&' ['username'][['/' 'authenticate-type']['@@' 'hostname'][':' 'port']]['!']
1098 "user" (plain password transmission) or "apop" (APOP authentication)
1099 as authenticate-type.
1102 username -> The value of @code{elmo-default-pop3-user}.
1103 Initial setting is `USER' environment variable or
1104 `LOGNAME' environment variable or return value of
1106 authenticate-type -> The value of @code{elmo-default-pop3-authenticate-type}.
1107 Initial setting is "user".
1108 hostname -> The value of @code{elmo-default-pop3-server}.
1109 Initial setting is "localhost".
1110 port -> The value of @code{elmo-pop3-default-port}.
1111 Initial setting is 110.
1113 Example: &hoge@@localhost -> access to localhost as user "hoge".
1114 &hoge@@popserver:109 -> access to the server "popserver" on port 109
1118 To use apop as an authenticate-type, @file{md5.el} is needed
1119 (XEmacs doesn't need @file{md5.el}).
1120 @file{md5.el} is included in @file{utils/sasl/lisp/} or Emacs/W3 package
1123 http://www.cs.indiana.edu/elisp/w3/docs.html
1126 or LCD archive (GPL2).
1128 If the last character of the folder name is '!', Wanderlust connects to
1129 the POP server via SSL (Secure Socket Layer). If you set non-nil
1130 value to @code{elmo-default-pop-ssl}, you don't have to put '!' in the
1131 end of the folder name to use SSL.
1132 If a folder name ends with '!!', STARTTLS connection will be established.
1133 if the value of @code{elmo-default-pop-ssl} is 'starttls,
1134 STARTTLS will be the default connection.
1136 @node Multi Folder, Filter Folder, POP Folder, Folders
1137 @section Multi Folder
1138 @cindex Multi Folder
1140 @cindex Folder, Multiple
1141 @cindex Folder, Marge
1143 A folder to access to a folder which collects messages from
1144 multiple folders virtually.
1147 Format: '*' 'folder' [',' 'folder'] ... [',' 'folder']
1149 After '*' character, specify multiple folders you want to collect
1150 separated by ',' like folder1,folder2,@dots{},folderN.
1153 *-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs
1154 -> -fj.editor.xemacs, -fj.editor.mule and -fj.editor.emacs are
1155 treated as one folder.
1157 *+inbox,-fj.rec.tv,%inbox
1158 -> +inbox, -fj.rec.tv and %inbox are treated as one folder.
1163 @node Filter Folder, Pipe Folder, Multi Folder, Folders
1164 @section Filter Folder
1165 @cindex Filter Folder
1167 @cindex Folder, Filtering
1168 @cindex Folder, Virtual
1170 A folder to access to a folder which collects all messages that
1171 satisfy a condition virtually.
1174 Format: '/' 'condition' '/' 'target-folder'
1176 In the 'condition' part, you can specify following.
1178 1. Partial filter: "first:NUMBER", "last:NUMBER"
1180 first: 'NUMBER' messages are picked from top of folder.
1181 last: 'NUMBER' messages are picked from bottom of folder.
1184 /last:10/-fj.os.linux -> Latest 10 messages from -fj.os.linux are picked.
1185 /first:20/%inbox -> First 20 messages from %inbox are picked.
1187 2. Date filter: "since:DATE" "before:DATE"
1189 since: only messages arrived since 'DATE' are picked.
1190 before: only messages arrived before 'DATE' are picked.
1192 You can specify following as 'DATE'.
1194 yesterday -> a day before today.
1195 lastweek -> same day of last week.
1196 lastmonth -> same day of last month.
1197 lastyear -> same day of last year.
1198 'NUMBER'daysago -> 'NUMBER' days ago. (e.x. '3daysago')
1199 'DAY'-'MONTH'-'YEAR' -> specify date directly (ex. 1-Nov-1998)
1202 /since:3daysago/+inbox -> messages arrived since 3 days ago in +inbox
1204 /before:yesterday/+inbox -> messages arrived before yesterday in +inbox
1207 3. Field filter: "FIELD=VALUE"
1209 All messages that have FIELD and its value is VALUE are picked.
1210 'FIELD' and 'VALUE' are case insensitive.
1213 /from=teranisi/+inbox -> In +inbox, messages which have From: field
1214 and its value includes "teranisi" string are picked.
1215 /body=foo/%inbox -> In %inbox, messages which have "foo" text
1218 If you can split conditions by character "|", it is considered as OR condition.
1219 /tocc=xxxx/ is an abbreviation of /to=xxxx|cc=xxxx/.
1223 /from=teranisi|to=teranisi/+inbox
1224 -> In +inbox, messages are picked if
1225 the message's To: field includes
1226 "teranisi" or From: field includes "teranisi".
1227 /tocc=teranisi/+inbox -> In +inbox, messages are picked if
1228 the message's To: field or Cc: field includes
1233 %inbox,/from=teranisi/%inbox@@server
1234 -> Messages in %inbox or
1235 message is in the %inbox@@server folder and it's From field
1236 includes "teranisi" are collected.
1238 /last:100//to=teranisi/*+inbox,%inbox
1239 -> Latest 100 messages which is in the +inbox or %inbox folder
1240 and To: field matches "teranisi".
1242 /from=hogehoge//last:20//tocc=teranisi/%#mh/inbox@@localhost
1243 -> Pick messages which have From: field and it includes "hogehoge"
1244 from latest 20 messages in the %#mh/inbox@@localhost
1245 and To: or Cc: field includes "teranisi".
1247 ;;; --- Limit of implementation ---
1248 ;;; In the current implementation, NNTP folder does not treat date filter and
1250 ;;; In IMAP4 folder, field filter only supports fields which can be
1251 ;;; passed directly to rfc2060's search command.
1252 ;;; (i.e. to,cc,from,subject and body)
1253 ;;; Localdir folder treats arbitrary field name.
1256 @node Pipe Folder, Internal Folder, Filter Folder, Folders
1257 @section Pipe Folder
1261 @cindex Download Message
1262 @cindex Incorporate Message
1264 In the pipe folder, messages are automatically transferred from the source
1265 folder to destination folder.
1268 Format: '|' source-folder '|' destination-folder
1270 When you access to the pipe folder, messages are automatically transferred
1271 from source-folder to destination-folder.
1272 It is convenient if you want to download messages to local disk via POP.
1273 For example, if you specify following
1275 |&username@@popserver|+inbox
1277 and access to it, messages are downloaded automatically from
1278 &username@@popserver to +inbox.
1280 Example: %inbox|%myinbox -> Download %inbox to %myinbox.
1281 *&user@@popserver1,&user@@popserver2|+inbox
1282 -> Download from &user@@popserver1 and &user@@popserver2 to +inbox.
1285 After messages are moved, a hook @code{elmo-pipe-drained-hook} is called.
1287 @node Internal Folder, , Pipe Folder, Folders
1288 @section Internal folder
1289 @cindex Internal Folder
1291 @cindex Folder, @samp{$} mark
1293 A folder to access to internal messages of Wanderlust.
1300 A folder named 'mark is a special virtual folder which collects messages
1301 which have important mark @samp{$}.
1303 You can review important messages at once after you put important marks
1304 on the messages in the different folders.
1306 In this folder, if you delete message, important mark @samp{$} put on
1307 the message is removed. If you append messages to this folder, the
1308 message will have @samp{$} mark.
1310 You can access to the cached messages fetched via network by accessing
1311 to the folders named 'cache/00 - 1F. 00 - 1F are the name of the
1312 subdirectories of the cache directory (@file{~/.elmo/cache}).
1318 @node Folder, Summary, Folders, Top
1319 @chapter Folder mode
1322 After you start Wanderlust, folder mode is appeared firstly.
1323 It contains folder list you subscribed.
1324 You can select and edit folders in this mode.
1327 * Selecting Folder:: Select folder you want to read.
1328 * Folder Manager:: Editing folders.
1332 @node Selecting Folder, Folder Manager, Folder, Folder
1333 @section Selecting Folder
1334 @cindex Selecting Folder
1336 @subsection Usage (TIPS)
1338 @subsubsection Check new, unread number
1340 Folder mode looks like this.
1341 (In XEmacs, it looks much nicer @t{;-)})
1344 [-]Desktop:14186/35580/67263
1349 [-]Emacsen:0/34/4837
1350 Wanderlust ML:0/0/558
1353 XEmacs Beta:0/29/255
1363 FOLDER-NAME:NEW-NUMBER/UNREAD-NUMBER/ALL-NUMBER
1367 @kbd{s} key on the folder line updates these numbers.
1368 It changes its color if it has many new messages.
1370 The whole folder mode is a folder group named @samp{Desktop}.
1371 Folder group open/close by return key.
1372 A operation to a folder group is treated as operations on the
1374 For example, when you type @kbd{s} on @samp{[-]Emacsen},
1375 six children folders update its unread number status.
1377 @subsubsection Select Folder
1379 To enter summary mode of the folder, type return (or spece) key on
1381 If the variable @code{wl-stay-folder-window} has non-nil value,
1382 summary window appears on the right of the folder mode window.
1384 @subsection Key bindings
1386 Folder mode's key binding (related to selecting folders) is following.
1391 @kindex @key{SPC} (Folder)
1392 @kindex @key{RET} (Folder)
1393 @findex wl-folder-jump-to-current-entity
1394 Enter to the summary mode of the folder at the current cursor point.
1395 If the cursor is on the top of folder group line,
1396 the folder group is opened or closed.
1397 When the cursor is on the access group and this command is called
1398 with prefix argument, folder children list is updated to the newest one.
1399 (Children list is updated recursively if the access folder has hierarchical
1401 (@code{wl-folder-jump-to-current-entity})
1404 @kindex M-@key{RET} (Folder)
1405 @findex wl-folder-update-recursive-current-entity
1406 Folder children list of the access group at the current cursor point
1407 is updated to the newest one.
1408 (Children list is updated recursively if the access folder has hierarchical
1410 (@code{wl-folder-update-recursive-current-entity})
1414 @findex wl-summary-write
1415 Create a new draft message.
1416 (@code{wl-summary-write})
1420 @findex wl-summary-write-current-newsgroup
1421 If the current cursor point is on the NNTP folder,
1422 create a new draft message which already has newsgroups field.
1423 (@code{wl-summary-write-current-newsgroup})
1427 @findex wl-folder-check-current-entity
1428 Update new and unread number information of the folder at the current
1430 (@code{wl-folder-check-current-entity})
1434 @findex wl-folder-sync-current-entity
1435 Update summary information of the folder at the current cursor point.
1436 (@code{wl-folder-sync-current-entity})
1439 @kindex r s (Folder)
1440 @findex wl-folder-check-region
1441 Update new and unread number information of the folders in the currently
1443 (@code{wl-folder-check-region})
1446 @kindex r S (Folder)
1447 @findex wl-folder-sync-region
1448 Update summary information of the folders in the currently selected region.
1449 (@code{wl-folder-sync-region})
1453 @findex wl-folder-prev-unread
1454 Jump cursor to the folder which have unread messages on the upward from
1455 current cursor point.
1456 (@code{wl-folder-prev-unread})
1460 Jump cursor to the folder which have unread messages on the downward
1461 from current cursor point.
1462 (@code{wl-folder-next-unread})
1466 Move cursor to the folder on the previous line.
1467 (@code{wl-folder-prev-entity})
1471 Move cursor to the folder on the next line.
1472 (@code{wl-folder-next-entity})
1476 Jump to the folder specified by the user input.
1477 (@code{wl-folder-jump-folder})
1481 @findex wl-folder-prefetch-current-entity
1482 Prefetch new messages of the folder at the current cursor point by
1483 @code{wl-summary-incorporate}.
1484 If the cursor is on the folder group, it is executed recursively.
1485 (@code{wl-folder-prefetch-current-entity})
1489 @findex wl-folder-mark-as-read-all-current-entity
1490 Mark all unread messages of the folder at the current cursor point as read.
1491 If the cursor is on the folder group, it is executed recursively.
1492 (@code{wl-folder-mark-as-read-all-current-entity})
1496 @findex wl-folder-goto-first-unread-folder
1497 Enter summary mode of the first unread folder.
1498 (@code{wl-folder-goto-first-unread-folder})
1502 @findex wl-folder-empty-trash
1504 (@code{wl-folder-empty-trash})
1508 @findex wl-folder-open-all-unread-folder
1509 All unread folder is opened.
1510 (@code{wl-folder-open-all-unread-folder})
1514 @findex wl-folder-open-close
1515 Folder group is opened/closed.
1516 (@code{wl-thread-open-close})
1520 All folder group is opened.
1521 (@code{wl-folder-open-all})
1525 All folder group is closed.
1526 (@code{wl-folder-close-all})
1536 (@code{wl-folder-suspend})
1539 @kindex M-s (Folder)
1540 Save current folder status.
1544 @kindex M-t (Folder)
1545 Toggle Wanderlust's offline/online status.
1546 (@code{wl-toggle-plugged})
1549 @kindex C-t (Folder)
1550 Start Wanderlust's plug-status manager.
1551 (@code{wl-plugged-change})
1554 @subsection Customize variables
1557 @item wl-folders-file
1558 @vindex wl-folders-file
1559 The initial setting is "~/.folders".
1560 Subscribed folders are described (saved) in this file.
1562 @item wl-folder-info-save
1563 @vindex wl-folder-info-save
1564 The initial setting is t.
1565 If non-nil, unread information is saved and used in the next Wanderlust session.
1567 @item wl-stay-folder-window
1568 @vindex wl-stay-folder-window
1569 The initial setting is nil.
1570 If non-nil, summary window is appeared on the right side of the folder buffer.
1572 @item wl-folder-window-width
1573 @vindex wl-folder-window-width
1574 The initial setting is 20.
1575 Folder mode's window width when @code{wl-stay-folder-window} is non-nil.
1577 @item wl-folder-many-unsync-threshold
1578 @vindex wl-folder-many-unsync-threshold
1579 The initial setting is 70.
1580 If the number of unread messages is more than this value,
1581 folder color is changed.
1583 @item wl-folder-desktop-name
1584 @vindex wl-folder-desktop-name
1585 The initial setting is "Desktop".
1586 The name of top folder group.
1588 @item wl-folder-petname-alist
1589 @vindex wl-folder-petname-alist
1590 The initial setting is nil.
1591 An alist of folder's realname and its nickname.
1593 @item wl-folder-access-subscribe-alist
1594 @vindex wl-folder-access-subscribe-alist
1595 The initial setting is nil.
1597 Control automatic subscribing and unsubscribing of the children list
1602 ('regexp of access-folder' . ('subscribe-flag' 'regexp-of-folders' @dots{}))
1604 If subscribe-flag is non-nil, folders which have name matched to
1605 regexp-of-folders are displayed. Otherwise, hidden.
1606 However, already unsubscribed folder is not displayed even
1607 when the subscribe-flag is non-nil. Multiple regexp-of-folders can be specified.
1612 '(("^-fj$" . (t "^-fj\\.\\(comp\\|editor\\|mail\\)"
1613 "^-fj\\.\\(net\\|news\\|os\\|rec\\)"))
1614 ("^-$" . (t "^-\\(fj\\|tnn\\|japan\\|gnu\\|comp\\)"))
1615 ("^\\+ml$" . (nil "^\\+ml$" "^\\+ml/tmp")))
1618 @item wl-folder-hierarchy-access-folders
1619 @vindex wl-folder-hierarchy-access-folders
1620 The initial setting is '("-" "-alt").
1621 A list of access groups which creates children folder list hierarchically.
1623 For example, if you specify
1624 @code{wl-folder-hierarchy-access-folders} like following,
1627 (setq wl-folder-hierarchy-access-folders
1628 '("-" "-alt" "-japan" "-comp" "-comp.unix"))
1631 such access group hierarchy is obtained.
1636 -fj.comp.announce:0/0/2
1637 -fj.comp.dev.cdrom:0/0/0
1639 [+]-japan:238/238/1688
1642 -comp.unix.admin:0/0/0
1643 -comp.unix.dos-under-unix:0/0/0
1644 -comp.unix.programmer:0/0/0
1645 [-]-comp.unix.bsd:0/0/23
1646 -comp.unix.bsd.freebsd.announce:0/0/0
1650 If you opened @samp{-} in this example, only the direct children is created
1651 (@samp{-fj}, @samp{-japan}, @samp{-tnn}, @dots{}).
1652 second hierarchy (@samp{-fj.comp.announce}, @dots{}, @samp{-comp.unix}, @dots{})
1653 is not created until the children access group is opened.
1657 @node Folder Manager, , Selecting Folder, Folder
1658 @section Editing Folders
1659 @cindex Folder Manager
1660 @cindex Folder, Edit
1661 @cindex Folder, Subscribe
1662 @cindex Folder, Unsubscribe
1664 As described before, subscribed folder list is saved in @file{~/.folders} file.
1665 But you don't have to edit @file{~/.folders} directly.
1666 You can append, delete, edit folders from folder mode.
1668 @subsection Usage (Tips)
1670 @subsubsection Append Folder
1672 @kbd{m a} appends new folder to the folder mode.
1673 @kbd{m g} appends new folder group.
1674 To append new folder to this group, firstly open it,
1675 then execute append command in the next line.
1677 @subsubsection Edit Folder
1679 You can cut folder by @kbd{C-k}, paste by @kbd{C-y}.
1680 Thus, you can change folder position as if you were editing a normal file.
1682 @subsubsection Create Multi Folder.
1686 Type @kbd{m q} to clear @code{wl-fldmgr-cut-entity-list}.
1688 Cut folder by @kbd{C-k} or copy folder by @kbd{M-c}.
1690 Type @kbd{m m}, then you can create multi folder.
1693 @subsubsection Delete Nickname, Filter
1695 You can delete nickname or filter by putting ""(NULL) from the minibuffer
1698 @subsubsection Append Folder to Empty Group
1700 To append new folder to the empty folder group
1701 (after you create folder group by typing @kbd{m g}),
1702 firstly open it, then execute append command in the next line.
1703 If it is closed, folder is appended on the same level with
1704 the above folder group. It is difficult to explain by words so try it.
1705 In other words, appended position depends on the
1706 above folder group's open/close status.
1708 @subsubsection Charset of the Folders File.
1710 @code{wl-mime-charset} is used for saving @code{wl-folders-file}.
1712 @subsubsection Create Filter
1714 @kbd{m f} adds filter to the folder at the current cursor point.
1715 To create new filter folder and leave the current folder unchanged,
1716 copy it @kbd{M-c}, make filter @kbd{m f} and paste it @kbd{C-y}.
1717 Multiple filter can be specified while appending filter.
1718 If you put ""(NULL), filter is deleted.
1720 @subsubsection Sort Folders
1722 Sorting of the folders is executed by the function specified by
1723 @code{wl-fldmgr-sort-func}.
1724 The initial setting is @code{wl-fldmgr-sort-standard},
1725 which sorts alphabetically.
1726 Sorting affects only on the current folder group. It does not
1727 affect on the child groups.
1729 @subsubsection Hiding Folders in the Access Group
1731 Usually, access group displays all children folders, but you can set
1732 some folders hidden. Following operations are only available on access
1735 Command @code{wl-fldmgr-unsubscribe} (@kbd{u}) toggles
1736 the visibility (subscribe/unsubscribe) of the folder at current cursor point.
1738 Against this, @code{wl-fldmgr-unsubscribe-region} (@kbd{U}) hides folders
1739 in the specified region. Note that @code{wl-fldmgr-unsubscribe-region}
1740 does not toggle while @code{wl-fldmgr-unsubscribe} toggles. These two
1741 commands accept prefix argument and if the argument has positive number,
1742 the unsubscribe it. If the prefix argument has negative value, folder
1743 becomes visible and if zero, folder visibility is toggled.
1745 The other commands, @code{wl-fldmgr-subscribe} and
1746 @code{wl-fldmgr-subscribe-region} are also prepared (not binded to the
1749 Moreover, if @code{wl-fldmgr-cut} or @code{wl-fldmgr-cut-region} is
1750 executed in the access group, they have a same effect with
1751 @code{wl-fldmgr-unsubscribe} and @code{wl-fldmgr-unsubscribe-region}.
1752 The difference is that cut(-region) commands deletes folders from the
1755 @subsubsection Operations in the Access Group
1757 You can insert and delete folders in the access group like usual folder
1758 group. But insert and delete commands can be only available for the
1759 children folders of the access group and they only sets the subscribe
1760 status. In other words, insertion of the folder means subscribing,
1761 deletion means unsubscribing.
1762 @footnote{In the current implementation,
1763 it is faster to delete region than to unsubscribe region.}
1765 To update the access group when children folders are inserted or deleted
1766 by other way (other than Wanderlust),
1767 open the access group by typing @kbd{C-u @key{RET}}.
1768 @xref{Selecting Folder}.
1770 The order of children folders of access group is saved after
1771 insertion/deletion/sorting.
1772 If you set @code{wl-force-fetch-folders} to non-nil or open access group
1773 by typing @kbd{C-u @key{RET}}, disappeared folders are deleted and
1774 newly created folders are inserted on the top of the access group.
1776 @subsection Key bindings
1777 @cindex Keybind, Folder Mode
1778 @cindex Keybind, Folder Buffer
1780 Key bindings on the folder mode related to folder editing are shown below.
1781 All bindings starts with @kbd{m}, and primary commands are binded to
1782 one stroke key binding.
1786 @kindex m a (Folder)
1787 @findex wl-fldmgr-add
1789 (@code{wl-fldmgr-add})
1794 @kindex m g (Folder)
1795 @findex wl-fldmgr-make-group
1796 Create a folder group.
1797 (@code{wl-fldmgr-make-group})
1800 @kindex m A (Folder)
1801 @findex wl-fldmgr-make-access-group
1802 Create an access group.
1803 (@code{wl-fldmgr-make-access-group})
1806 @kindex m d (Folder)
1807 @findex wl-fldmgr-delete
1808 Delete folder itself and msgdb.
1809 If the folder itself cannot be deleted like NNTP folder,
1810 only msgdb is deleted.
1811 (@code{wl-fldmgr-delete})
1816 @kindex m R (Folder)
1817 @findex wl-fldmgr-rename
1818 Change the name of folder or folder group.
1819 msgdb's path is also changed.
1820 (@code{wl-fldmgr-rename})
1826 @findex wl-fldmgr-make-multi
1827 Create a multi folders in the cutlist (cut, copied folders).
1828 (@code{wl-fldmgr-make-multi})
1833 @kindex m f (Folder)
1834 @findex wl-fldmgr-make-filter
1835 Create a filter folder. (Put a filter on the folder).
1836 (@code{wl-fldmgr-make-filter})
1840 @kindex M-c (Folder)
1841 @kindex m c (Folder)
1842 @findex wl-fldmgr-copy
1843 Copy folder (it is not available on folder group).
1844 (@code{wl-fldmgr-copy})
1848 @kindex M-w (Folder)
1849 @kindex m W (Folder)
1850 @findex wl-fldmgr-copy-region
1851 Copy folders in the specified region.
1852 (@code{wl-fldmgr-copy-region})
1856 @kindex C-k (Folder)
1857 @kindex m k (Folder)
1858 @findex wl-fldmgr-cut
1859 Cut folder. Folder itself is not deleted.
1860 (@code{wl-fldmgr-cut})
1864 @kindex C-w (Folder)
1865 @kindex m C-w (Folder)
1866 @findex wl-fldmgr-cut-region
1867 Cut folders in the specified region.
1868 (@code{wl-fldmgr-cut-region})
1872 @kindex C-y (Folder)
1873 @kindex m y (Folder)
1874 @findex wl-fldmgr-yank
1875 Paste folders that are copied or cut (folders in the cut-list).
1876 (@code{wl-fldmgr-yank})
1879 @kindex m p (Folder)
1880 @findex wl-fldmgr-set-petname
1881 Put nickname on the folder.
1882 (@code{wl-fldmgr-set-petname})
1885 @kindex m q (Folder)
1886 @findex wl-fldmgr-clear-cut-entity-list
1887 Clear the cut-list. (cut, copied folder information is cleared,
1888 you cannot paste after this)
1889 (@code{wl-fldmgr-clear-cut-entity-list})
1892 @kindex m s (Folder)
1893 @findex wl-fldmgr-sort
1894 Sort folders in the current folder group.
1895 (@code{wl-fldmgr-sort})
1898 @kindex m C-s (Folder)
1899 @findex wl-fldmgr-save
1900 Save current folder view to the @file{wl-folders-file}.
1901 (@code{wl-fldmgr-save})
1904 [Following commands are only available on the access groups]
1910 @kindex m u (Folder)
1911 @findex wl-fldmgr-unsubscribe
1912 Set the visibility of folder (subscribe/unsubscribe).
1913 (@code{wl-fldmgr-unsubscribe})
1918 @kindex r u (Folder)
1919 @findex wl-fldmgr-unsubscribe-region
1920 Set the visibility of the folders (subscribe/unsubscribe) in the
1922 (@code{wl-fldmgr-unsubscribe-region})
1927 @kindex m l (Folder)
1928 @findex wl-fldmgr-access-display-normal
1929 List folders that are currently available.
1930 (@code{wl-fldmgr-access-display-normal})
1935 @kindex m L (Folder)
1936 @findex wl-fldmgr-access-display-all
1937 List all folders regardless of the subscription status.
1938 (@code{wl-fldmgr-access-display-all})
1941 @kindex C-c C-o (Folder)
1942 @findex wl-jump-to-draft-buffer
1943 Move to the draft buffer if available. If multiple draft buffer exists,
1944 moved to one after another. If prefix argument is specified, load draft
1945 folder's message to the draft buffer and jump to it.
1946 (@code{wl-jump-to-draft-buffer})
1950 @subsection Customize variables
1953 @item wl-interactive-save-folders
1954 @vindex wl-interactive-save-folders
1955 The initial setting is t.
1956 If non-nil and folder view is modified, confirm saving it before
1957 Wanderlust or Emacs exits.
1958 If nil, save without confirmation.
1960 @item wl-fldmgr-make-backup
1961 @vindex wl-fldmgr-make-backup
1962 The initial setting is t.
1963 If non-nil, @file{~/.folders.bak} is created before saving the folder status.
1965 @item wl-fldmgr-sort-func
1966 @vindex wl-fldmgr-sort-func
1967 The initial setting is 'wl-fldmgr-sort-standard.
1968 A function to sort folders.
1969 By default function, folders are sorted alphabetically and
1970 folder group is put on top
1971 (when @code{wl-fldmgr-sort-group-first} is non-nil).
1973 @item wl-fldmgr-sort-group-first
1974 @vindex wl-fldmgr-sort-group-first
1975 The initial setting is t.
1976 If non-nil, @code{wl-fldmgr-sort-standard} precedes folder group.
1977 If nil, it does not care whether it is folder group or not.
1979 @item wl-folder-check-async
1980 @vindex wl-folder-check-async
1981 The initial setting is t.
1982 If non-nil, check folder's unread status asynchronously.
1983 It boosts newsgroup checking.
1985 @item wl-folder-check-fast
1986 @vindex wl-folder-check-fast
1987 The initial setting is nil.
1988 If non-nil, it does not update folder status while checking.
1990 @item wl-folder-notify-deleted
1991 @vindex wl-folder-notify-deleted
1992 The initial setting is nil.
1994 If non-nil, negative value is displayed when the message is deleted.
1995 If 'sync, folder is synchronized when the message is deleted.
1996 If nil, message deletion is ignored.
1999 @subsection Miscellanea
2001 Following is a note for folder editing.
2005 cut or copy stacks the folder in the @code{wl-fldmgr-cut-entity-list}.
2006 paste(yank) command pastes the folders on one cut or copy command
2007 (If copy command is executed by region, folders in the region are pasted
2008 by one paste command)
2011 You cannot cut 'Desktop' group.
2012 Also, you cannot paste folders at the outside of the 'Desktop'.
2015 You cannot copy folder group.
2018 Operations on the access group are only available for the folders
2019 in the same access group.
2022 You cannot create a folder which has same name with the folders already exist.
2025 You cannot insert folders which have same name in one group.
2026 You can insert them in the different groups.
2027 You cannot put same nickname to the different folders.
2034 @node Summary, Message, Folder, Top
2035 @chapter Summary Mode
2037 @section Usage (Tips)
2039 @subsection Summary Content
2041 After you select the folder via folder mode, you enter to the summary mode.
2042 In the summary mode, messages are displayed like following.
2045 377 09/16(Wed)11:57 [+1: Takuro Kitame ] Bug?
2046 381 09/17(Thu)00:16 [+3: Fujikazu Okuni ] elmo-lha.el -- LHA interface
2047 384 09/17(Thu)01:32 [+1: Yuuichi Terani ] wl-0.6.2
2048 389 N09/18(Fri)01:07 [+2: Yuuichi Terani ] wl-0.6.3
2054 Message number, Temporal mark, Persistent mark, Date, Sender, Subject
2058 You cannot change this in the current version.
2060 'Message number' is the message's unique number in the folder. In the NNTP
2061 folder, it is article number, in the IMAP folder, it is UID and in the
2062 MH folder, it is the filename of the message.
2064 Temporal and Persistent marks are described later.
2066 'Date' is displayed like 'Month/Day(Week Day)Hour:Minute'.
2067 Default setting displays week day in Japanese, but if you want to
2068 display it in English, set the value of @code{wl-summary-weekday-name-lang}
2071 'Sender's indentation corresponds to the depth of the thread.
2072 Sender name is displayed as nickname if it is defined in the address book.
2073 Set @code{wl-use-petname} as nil, if you want to quit displaying with nickname.
2075 If number is printed at the head of 'sender' part like @samp{+2},
2076 that means the message have 2 follow messages.
2078 'Subject' is the Subject header field of the message. If the message
2079 have same subject with the parent message, it is not displayed. Some
2080 mailing list puts its sequence number in the subject field, but it is
2081 ignored. @code{wl-summary-no-subject-message} is displayed when the
2082 message has empty subject field.
2084 @subsection Temporary Marks
2085 @cindex Mark, Temporary
2087 There are four temporary marks,
2088 @samp{*}, @samp{D}, @samp{o} and @samp{O}.
2089 Temporary marks indicates message operations.
2094 You can execute a command on the all messages that have @samp{*} mark,
2095 with the key bindings which begins with @kbd{m}.
2098 The mark to delete. You can put @samp{D} by typing @kbd{d} key.
2102 After you type @kbd{o} key, prompt appears to input refile destination.
2103 Your answer is printed in the summary line.
2107 You can put this mark by typing @kbd{O} key.
2108 The difference between this mark and refile mark is,
2109 this mark does not delete the message while latter does.
2112 @kbd{x} key executes @samp{D}, @samp{o} and @samp{O} marks.
2114 @subsection Persistent Marks
2116 There are five persistent marks,
2117 @samp{N}, @samp{U}, @samp{!}, @samp{u} and @samp{$}.
2119 The persistent mark indicates the message's status and it is saved.
2120 Each persistent mark indicates:
2126 It is unread message.
2128 It is unread but cached message.
2130 It is read but it is not cached.
2132 It is important message. You can put @samp{$} mark by typing @kbd{$}
2133 key (if already exists, the mark is deleted). It is convenient to put
2134 this mark on the messages to remember (If you want to remember to write
2135 a reply for the message, for example) because this mark remains after
2136 you exited Emacs. Messages with the @samp{$} mark remains in the folder
2137 even the message itself is deleted in the actual folder.
2140 If the message is read and cached (or local message),there are no
2144 @samp{N}, @samp{U} and @samp{u} indicates that the message have no
2145 cache. Messages with the marks other than these, you can read them in
2146 the offline status even they are in the IMAP folder or netnews folder.
2148 @subsection How To Read
2150 Basically, you can read messages only typing space key again and again.
2152 To update summary status to the newest status (synchronize),
2155 You can jump to next unread message by typing @kbd{N} key, and @kbd{n} key
2156 moves cursor to the next message.
2157 Enter message buffer by typing @kbd{j} key.
2158 To operate multipart, you have to enter to the message buffer.
2160 @subsection Thread Operations
2162 For example, the following line indicates one thread (a context of a topic).
2165 384 09/17(Thu)01:32 [+1: Teranishi ] wl-0.6.2
2169 If you type @kbd{/} on this line, the thread is opened and it changes
2170 the appearance like following.
2173 384 09/17(Thu)01:32 [ Teranishi ] wl-0.6.2
2174 388 09/17(Thu)22:34 +-[ Murata san ]
2177 (Message 388 is the replied message to the message 384.)
2178 If you type @kbd{/} key once again, the thread is closed.
2179 With prefix argument, @kbd{/} opens all children threads.
2181 Commands with the key binding that begins with @kbd{t} executes commands
2182 on the messages in the thread.
2184 @subsection Cache File
2186 The messages which have to access via network (e.x. IMAP, NNTP folder)
2187 are cached as a local file.
2188 The cache file is saved under the directory @file{~/.elmo/cache}.
2190 To expire cache, type following.
2193 M-x elmo-cache-expire-by-size
2197 The command deletes cache files to the specified size by the order of
2200 @subsection Buffer Cache and Prefetching
2202 If the value of @code{elmo-use-buffer-cache} is non-nil,
2203 the messages that are read are kept in the cache buffer.
2204 It is called `buffer cache'.
2205 The number of cache buffer is specified by @code{elmo-buffer-cache-size}.
2207 There are message prefetching mechanism in the Wanderlust that prefetches next
2208 message while you are reading. This function requires that the value of
2209 @code{elmo-use-buffer-cache} is non-nil.
2211 You can control the message prefetching mechanism by these two variables.
2214 @item wl-cache-prefetch-folder-type-list
2215 @vindex wl-cache-prefetch-folder-type-list
2216 The initial setting is '(nntp imap4).
2217 It specifies the folder types in which message prefetching is enabled.
2218 In the initial setting, multi folder that contains localdir and imap4
2219 prefetches only imap4 messages.
2220 This variable precedes the value of @code{wl-cache-prefetch-folder-list}.
2222 If you want to prefetch localdir and localnews also, following setting is needed.
2224 (setq wl-cache-prefetch-folder-type-list
2225 '(nntp imap4 localdir localnews))
2228 @item wl-cache-prefetch-folder-list
2229 @vindex wl-cache-prefetch-folder-list
2230 The initial setting is nil.
2231 A list of regexp of folders to enable message prefetching.
2234 @subsection Auto Refile
2235 @vindex elmo-msgdb-extra-fields
2236 @vindex wl-refile-rule-alist
2237 @findex wl-summary-auto-refile
2239 You can refile messages automatically, by typing @kbd{C-o}
2240 (@code{wl-summary-auto-refile}). It decides destination of refile by
2241 the content of the message header information (information in the msgdb).
2243 By default, @samp{From}, @samp{Subject}, @samp{To} and @samp{Cc} is available.
2244 If you want to decide destination by other header fields,
2245 set the variable @code{elmo-msgdb-extra-fields} like following.
2248 (setq elmo-msgdb-extra-fields
2257 By this setting, Wanderlust saves extra fields in the msgdb. You have
2258 to type @kbd{s all} to get extra fields for the messages that are
2259 already exists in the summary.
2261 Then, specify the refile rule. The refile target folder of auto
2262 refiling is decided by the value of @code{wl-refile-rule-alist}.
2263 @code{wl-refile-rule-alist} is a list of a rule:
2266 (FIELD (REGEXP . TARGET)
2271 Each rule means `if FIELD value matches REGEXP, then refile to TARGET folder'.
2272 The rule matched first is applied.
2274 FIELD is a string of field name. You can specify a list of field name
2275 string, too. In this case, if one of these fields is matched, then the
2276 rule is fired (i.e. OR condition).
2278 REGEXP is a regular expression for field value. TARGET is a target
2279 folder string. You can specify a rule at TARGET part, too. In this
2280 case, If the field value of the rule and the current rule is matched,
2281 then the current rule is fired (i.e. AND condition).
2283 In TARGET part, you can refer matched substring of REGEXP.
2284 To refer substring, specify following in TARGET:
2287 \& means substitute original matched text.
2288 \N (number) means substitute what matched the Nth `\(...\)'.
2291 Following is an example of @code{wl-refile-rule-alist}.
2294 (setq wl-refile-rule-alist
2296 ("^Wanderlust" . "+wl")
2297 ("^Elisp" . "+elisp"))
2299 ("\\([a-z]+\\)@@gohome.org" . "+\\1"))
2301 ("me@@gohome.org" . ("To" ("you@@gohome.org" .
2302 "+from-me-to-you"))))))
2305 After these settings, refile marks are automatically put on the condition
2306 matched messages by typing @kbd{C-o} (@code{wl-summary-auto-refile}).
2308 Messages which have @code{wl-summary-auto-refile-skip-marks} is skipped
2310 By default, @samp{N}, @samp{U} and @samp{!} is specified, so the messages
2311 with these persistent marks are not automatically refiled.
2312 It means Wanderlust does not execute auto refile on unread messages by
2313 the default setting.
2314 To execute auto refile on all messages, set following.
2317 (setq wl-summary-auto-refile-skip-marks nil)
2320 @subsection Sticky Summary
2321 @cindex Summary, Sticky
2322 @cindex Sticky Summary
2324 The buffer of the `sticky summary' does not killed by typing @kbd{q}.
2326 Sticky buffer is created by entering the summary by typing @kbd{C-u g} or
2327 type @kbd{M-s} (@code{wl-summary-stick}) on the normal summary.
2329 The buffer name of the sticky summary becomes like
2330 @samp{Summary:@var{folder-name}}.
2332 You can visit the sticky summary at any time by @kbd{C-x b}
2333 (@code{switch-to-buffer}). To exit sticky summary, type @kbd{C-u
2334 q}. Other operations in the sticky summary are same as normal summary.
2336 @code{wl-summary-always-sticky-folder-list} specifies the folders that are
2337 automatically sticked.
2339 @section Key bindings
2340 @cindex Keybind, Summary Mode
2341 @cindex Keybind, Summary Buffer
2343 Key bindings of the summary mode are shown below.
2347 @kindex @key{SPC} (Summary)
2348 @findex wl-summary-read
2349 Proceed reading a message at the current cursor point.
2350 (@code{wl-summary-read})
2354 @findex wl-summary-redisplay
2355 Redisplay a message at the current cursor point.
2356 If this command is called with prefix argument,
2357 Redisplay message regardless of the message cache (message is re-loaded
2359 (@code{wl-summary-redisplay})
2363 @findex wl-summary-display-top
2364 Display the top message in the folder.
2365 (@code{wl-summary-display-top})
2369 @findex wl-summary-display-bottom
2370 Display the bottom message in the folder.
2371 (@code{wl-summary-display-bottom})
2375 @kindex @key{BS} (Summary)
2376 @kindex @key{DEL} (Summary)
2377 Display the previous page of the message at the current cursor point.
2378 @findex wl-summary-prev-page
2379 (@code{wl-summary-prev-page})
2382 @kindex @key{RET} (Summary)
2383 @findex wl-summary-next-line-content
2384 Display the next line of the message at the current cursor point.
2385 Display the message at the current cursor point if it is not displayed yet.
2386 (@code{wl-summary-next-line-content})
2390 @findex wl-thread-open-close
2391 Toggle open or close the thread at the current cursor point.
2392 (@code{wl-thread-open-close})
2397 @findex wl-thread-open-all
2398 (@code{wl-thread-open-all})
2403 @findex wl-thread-close-all
2404 (@code{wl-thread-close-all})
2409 @kindex M-@key{RET} (Summary)
2410 @findex wl-summary-prev-line-content
2411 Display the previous line of the message at the current cursor point.
2412 Display the message at the current cursor point if it is not displayed yet.
2413 (@code{wl-summary-prev-line-content})
2417 @findex wl-summary-goto-folder
2419 (@code{wl-summary-goto-folder})
2423 Mark all messages in the folder as read.
2424 @findex wl-summary-mark-as-read-all
2425 (@code{wl-summary-mark-as-read-all})
2429 @findex wl-summary-reply
2430 Prepare a draft for reply the message at the current cursor point.
2431 (@code{wl-summary-reply})
2435 @findex wl-summary-reply-with-citation
2436 Prepare a draft for reply the message at the current cursor point.
2437 (@code{wl-summary-reply-with-citation})
2441 @findex wl-summary-cancel-message
2442 If the message at current cursor point is your own netnews article,
2444 (@code{wl-summary-cancel-message})
2448 @findex wl-summary-reedit
2449 Prepare a draft for re-editing the message at current cursor point.
2450 If the message at current cursor point is your own netnews article,
2451 a draft for `supersedes message' for the message is prepared.
2452 (@code{wl-summary-reedit})
2455 @kindex M-e (Summary)
2456 @findex wl-summary-resend-bounced-mail
2457 If the message at current cursor point is a bounced message,
2458 a draft for re-sending original message is prepared.
2459 (@code{wl-summary-resend-bounced-mail})
2463 @findex wl-summary-forward
2464 A draft for forwarding the message at current cursor point is prepared.
2465 (@code{wl-summary-forward})
2469 @findex wl-summary-mark-as-important
2470 Put @samp{$} mark on the message at current cursor point.
2471 If already marked as @samp{$}, delete it.
2472 (@code{wl-summary-mark-as-important})
2478 Save the message at current cursor point.
2479 @findex wl-summary-save
2480 (@code{wl-summary-save})
2484 @findex wl-summary-next
2485 Move cursor to the next message.
2486 If message is marked with a temporal mark in
2487 @code{wl-summary-skip-mark-list}, cursor is not moved to it.
2488 In the offline mode, cursor is not moved to the messages which are not cached
2490 (@code{wl-summary-next})
2494 @findex wl-summary-prev
2495 Move cursor to the previous message.
2496 If message is marked with a temporal mark in
2497 @code{wl-summary-skip-mark-list}, cursor is not moved to it.
2498 In the offline mode, cursor is not moved to the messages which are not cached
2500 (@code{wl-summary-prev})
2504 @findex wl-summary-down
2505 Move cursor to the downward message which is unread or marked
2507 (@code{wl-summary-down})
2511 @findex wl-summary-up
2512 Move cursor to the upward message which is unread or marked
2514 (@code{wl-summary-up})
2519 Prepare a new draft.
2524 @findex wl-draft-write-current-newsgroup
2525 Prepare a new draft.
2526 If the current folder is netnews folder, Newsgroups: field is completed.
2527 (@code{wl-draft-write-current-newsgroup})
2531 @findex wl-summary-redisplay-all-header
2532 Redisplay the message at current cursor point with all header fields.
2533 (@code{wl-summary-redisplay-all-header})
2537 @findex wl-summary-redisplay-no-mime
2538 Redisplay the message at current cursor point without MIME analysis.
2539 (@code{wl-summary-redisplay-no-mime})
2543 @findex wl-summary-burst
2544 If the message at current cursor point has
2545 encapsulates multiple messages using MIME,
2546 de-capsulate and extract them on the current folder.
2547 (@code{wl-summary-burst})
2550 @kindex @@ (Summary)
2551 @findex wl-summary-edit-addresses
2552 Append/change/delete the message's sender information to the address book
2553 @file{~/.addresses} interactively.
2554 If this command is called with prefix argument, arbitrary address can be edited.
2555 (@code{wl-summary-edit-petname})
2559 @findex wl-status-update
2560 Sync up address book status with @file{~/.addresses}'s content.
2561 (@code{wl-status-update})
2565 @findex wl-summary-pipe-message
2566 Pipe current message's content to the external process.
2567 (@code{wl-summary-pipe-message})
2571 @findex wl-summary-print-message
2572 Print out current message's content.
2573 It uses ps-print module in Emacs 20.x.
2574 If you don't use color printer, you might want to set
2575 @code{wl-ps-print-buffer-func} to 'ps-print-buffer.
2576 (@code{wl-summary-print-message})
2580 @findex wl-summary-exit
2581 Exit current folder.
2582 (@code{wl-summary-exit})
2586 @findex wl-summary-jump-to-current-message
2587 Jump cursor to the currently displayed message's window.
2588 (@code{wl-summary-jump-to-current-message})
2592 Jump cursor to the other message.
2593 @findex wl-summary-jump-to-msg
2594 (@code{wl-summary-jump-to-msg})
2598 Update summary status and
2599 prefetch all messages which have marks included in the
2600 @code{wl-summary-incorporate-marks}.
2601 @findex wl-summary-incorporate
2602 (@code{wl-summary-incorporate})
2605 @kindex M-j (Summary)
2606 @findex wl-summary-jump-to-msg-by-message-id
2607 Jump cursor to the message which have specified Message-Id.
2608 If @code{elmo-use-database} is non-nil, other folder is also searched.
2609 (@code{wl-summary-jump-to-msg-by-message-id})
2613 Jump to parent message.
2614 @findex wl-summary-jump-to-parent-message
2615 (@code{wl-summary-jump-to-parent-message})
2619 @findex wl-summary-mark-as-unread
2620 Mark as unread the message at current cursor point.
2621 (@code{wl-summary-mark-as-unread})
2625 @findex wl-summary-sync
2626 Synchronize summary view after prompting the update range
2627 (all, update, rescan, first, last).
2630 all ...Discard current summary and update all message.
2631 update ...Update the difference between summary and the folder itself.
2632 rescan ...Rescan the msgdb and display again.
2633 rescan-noscore ...Rescan the msgdb and display again (without scoring).
2634 first, last ...Move to the filter folder(partial filter).
2638 (@code{wl-summary-sync})
2642 @findex wl-summary-sort
2644 You can sort by date, from, number and subject.
2645 (@code{wl-summary-sort})
2649 @findex wl-summary-toggle-thread
2650 Toggle the threading.
2651 Threading status is displayed on the modeline.
2652 {S} means threading is off (Sequence) and
2653 {T} means threading is on (Thread).
2654 (@code{wl-summary-toggle-thread})
2658 @findex wl-summary-toggle-disp-folder
2659 Toggle displaying of folder window.
2660 (@code{wl-summary-toggle-disp-folder})
2664 Toggle displaying of message window.
2665 @findex wl-summary-toggle-disp-msg
2666 (@code{wl-summary-toggle-disp-msg})
2670 Move to the virtual folder with the condition specified.
2671 If called with prefix argument and current folder is virtual, exit it.
2672 @findex wl-summary-virtual
2673 (@code{wl-summary-virtual})
2676 @kindex @key{TAB} (Summary)
2677 @findex wl-summary-goto-last-displayed-msg
2678 Jump to the message which is displayed last.
2679 (@code{wl-summary-goto-last-displayed-msg})
2683 Put @samp{*} mark on the messages that satisfies the specified condition.
2684 @findex wl-summary-pick
2685 (@code{wl-summary-pick})
2689 @findex wl-summary-mark-as-read
2690 Mark as read the message at the current cursor point.
2691 (@code{wl-summary-mark-as-read})
2695 Prefetch the message at the current cursor point.
2696 @findex wl-summary-prefetch
2697 (@code{wl-summary-prefetch})
2701 Execute @samp{D}, @samp{o} and @samp{O} marks.
2702 @findex wl-summary-exec
2703 (@code{wl-summary-exec})
2707 @findex wl-summary-target-mark-line
2708 Put target mark on the message at the current cursor point.
2709 (@code{wl-summary-target-mark-line})
2713 Put refile mark on the message at the current cursor point.
2714 @findex wl-summary-refile
2715 (@code{wl-summary-refile})
2718 @kindex C-o (Summary)
2719 Execute auto refile.
2720 @findex wl-summary-auto-refile
2721 (@code{wl-summary-auto-refile})
2725 Put copy mark on the message at the current cursor point.
2726 @findex wl-summary-copy
2727 (@code{wl-summary-copy})
2730 @kindex M-o (Summary)
2731 Put refile mark on the message at the current cursor point with the destination
2732 previously specified.
2733 @findex wl-summary-refile-prev-destination
2734 (@code{wl-summary-refile-prev-destination})
2738 @findex wl-summary-delete
2739 Put delete mark on the message at the current cursor point.
2740 (@code{wl-summary-delete})
2744 @findex wl-summary-unmark
2745 Unmark the temporal mark on the message at the current cursor point.
2746 (@code{wl-summary-unmark})
2750 Unmark all the temporal marks.
2751 @findex wl-summary-unmark-all
2752 (@code{wl-summary-unmark-all})
2755 @kindex r R (Summary)
2756 @findex wl-summary-mark-as-read-region
2757 Mark as read messages in the specified region.
2758 (@code{wl-summary-mark-as-read-region})
2761 @kindex r $ (Summary)
2762 @findex wl-summary-mark-as-important-region
2763 Mark as important @samp{$} messages in the specified region.
2764 If @samp{$} already exists, it is deleted.
2765 (@code{wl-summary-mark-as-important-region})
2768 @kindex r ! (Summary)
2769 @findex wl-summary-mark-as-unread-region
2770 Mark as unread messages in the specified region.
2771 (@code{wl-summary-mark-as-unread-region})
2774 @kindex r i (Summary)
2775 @findex wl-summary-prefetch-region
2776 Prefetch messages in the specified region.
2777 (@code{wl-summary-prefetch-region})
2780 @kindex r x (Summary)
2781 @findex wl-summary-exec-region
2782 Execute @samp{D}, @samp{o} and @samp{O} marks on the messages in the
2784 (@code{wl-summary-exec-region})
2787 @kindex r * (Summary)
2788 @findex wl-summary-target-mark-region
2789 Put target mark on the messages in the specified region.
2790 (@code{wl-summary-target-mark-region})
2793 @kindex r o (Summary)
2794 @findex wl-summary-refile-region
2795 Put refile mark on the messages in the specified region.
2796 (@code{wl-summary-refile-region})
2799 @kindex r O (Summary)
2800 @findex wl-summary-copy-region
2801 Put copy mark on the messages in the specified region.
2802 (@code{wl-summary-copy-region})
2805 @kindex r d (Summary)
2806 @findex wl-summary-delete-region
2807 Put delete mark on the messages in the specified region.
2808 (@code{wl-summary-delete-region})
2811 @kindex r u (Summary)
2812 @findex wl-summary-unmark-region
2813 Delete temporal mark on the messages in the specified region.
2814 (@code{wl-summary-unmark-region})
2817 @kindex r y (Summary)
2818 Save messages in the specified region.
2819 @findex wl-summary-save-region
2820 (@code{wl-summary-save-region})
2823 @kindex t R (Summary)
2824 @findex wl-thread-mark-as-read
2825 Mark as read messages which are the descendant of the current thread.
2826 With prefix argument, it affects on the all messages in the thread tree.
2827 (@code{wl-thread-mark-as-read})
2830 @kindex t $ (Summary)
2831 @findex wl-thread-mark-as-important
2832 Put important mark @samp{$} on the messages which are the
2833 descendant of the current thread.
2834 If @samp{$} mark exists, it is deleted.
2835 With prefix argument, it affects on the all messages in the thread tree.
2836 (@code{wl-thread-mark-as-important})
2839 @kindex t ! (Summary)
2840 @findex wl-thread-mark-as-unread
2841 Mark as unread messages which are the descendant of the current thread.
2842 With prefix argument, it affects on the all messages in the thread tree.
2843 (@code{wl-thread-mark-as-unread})
2846 @kindex t i (Summary)
2847 @findex wl-thread-prefetch
2848 Prefetch messages which are the descendant of the current thread.
2849 With prefix argument, it affects on the all messages in the thread tree.
2850 (@code{wl-thread-prefetch})
2853 @kindex t x (Summary)
2854 @findex wl-thread-exec
2855 Execute @samp{D}, @samp{o} and @samp{O} marks on the messages which are
2856 the descendant of the current thread. With prefix argument, it affects
2857 on the all messages in the thread tree.
2858 (@code{wl-thread-exec})
2861 @kindex t * (Summary)
2862 @findex wl-thread-target-mark
2863 Put target mark @samp{*} on the messages which are the descendant of the
2864 current thread. With prefix argument, it affects on the all messages in
2866 (@code{wl-thread-target-mark})
2869 @kindex t o (Summary)
2870 @findex wl-thread-refile
2871 Put refile mark on the messages which are the descendant of the current thread.
2872 With prefix argument, it affects on the all messages in the thread tree.
2873 (@code{wl-thread-refile})
2876 @kindex t O (Summary)
2877 @findex wl-thread-copy
2878 Put copy mark on the messages which are the descendant of the current thread.
2879 With prefix argument, it affects on the all messages in the thread tree.
2880 (@code{wl-thread-copy})
2883 @kindex t d (Summary)
2884 @findex wl-thread-delete
2885 Put delete mar on the messages which are the descendant of the current thread.
2886 With prefix argument, it affects on the all messages in the thread tree.
2887 (@code{wl-thread-delete})
2890 @kindex t u (Summary)
2891 @findex wl-thread-unmark
2893 Unmark temporal mark on the messages which are the descendant of the
2894 current thread. With prefix argument, it affects on the all messages in
2896 (@code{wl-thread-unmark})
2899 @kindex t y (Summary)
2900 @findex wl-thread-save
2901 Save messages which are the descendant of the current thread.
2902 With prefix argument, it affects on the all messages in the thread tree.
2903 (@code{wl-thread-save})
2906 @kindex m i (Summary)
2907 @findex wl-summary-target-mark-prefetch
2908 Prefetch all messages which have target mark @samp{*}.
2909 (@code{wl-summary-target-mark-prefetch})
2912 @kindex m R (Summary)
2913 @findex wl-summary-target-mark-mark-as-read
2914 Mark as read all messages which have target mark @samp{*}.
2915 (@code{wl-summary-target-mark-mark-as-read})
2918 @kindex m $ (Summary)
2919 @findex wl-summary-target-mark-mark-as-important
2920 Mark as important all messages which have target mark @samp{*}.
2921 If already marked as @samp{$}, it is deleted.
2922 (@code{wl-summary-target-mark-mark-as-important})
2925 @kindex m ! (Summary)
2926 @findex wl-summary-target-mark-mark-as-unread
2927 Mark as unread all messages which have target mark @samp{*}.
2928 (@code{wl-summary-target-mark-mark-as-unread})
2931 @kindex m o (Summary)
2932 @findex wl-summary-target-mark-refile
2933 Put refile mark on the messages which have target mark @samp{*}.
2934 (@code{wl-summary-target-mark-refile})
2937 @kindex m O (Summary)
2938 @findex wl-summary-target-mark-copy
2939 Put copy mark on the messages which have target mark @samp{*}.
2940 (@code{wl-summary-target-mark-copy})
2943 @kindex m d (Summary)
2944 @findex wl-summary-target-mark-delete
2945 Put delete mark on the messages which have target mark @samp{*}.
2946 (@code{wl-summary-target-mark-delete})
2949 @kindex m y (Summary)
2950 @findex wl-summary-target-mark-save
2951 Save messages which have target mark @samp{*}.
2952 (@code{wl-summary-target-mark-save})
2955 @kindex m u (Summary)
2956 Unmark all temporal marks.
2957 (@code{wl-summary-delete-all-temp-marks})
2958 @findex wl-summary-delete-all-temp-marks
2961 @kindex m a (Summary)
2962 Put target mark @samp{*} on the all messages.
2963 (@code{wl-summary-target-mark-all})
2964 @findex wl-summary-target-mark-all
2967 @kindex m t (Summary)
2968 Put target mark @samp{*} on the messages in the current thread.
2969 @findex wl-summary-target-mark-thread
2970 (@code{wl-summary-target-mark-thread})
2973 @kindex m r (Summary)
2974 @findex wl-summary-target-mark-region
2975 Put target mark @samp{*} on the messages in the specified region.
2976 (@code{wl-summary-target-mark-region})
2979 @kindex m A (Summary)
2980 @findex wl-summary-target-mark-reply-with-citation
2981 Prepare a draft which cites all messages which have target mark @samp{*}.
2982 (@code{wl-summary-target-mark-reply-with-citation})
2985 @kindex m f (Summary)
2986 @findex wl-summary-target-mark-forward
2987 Prepare a draft which forwards all messages which have target mark @samp{*}.
2988 (@code{wl-summary-target-mark-forward})
2991 @kindex m U (Summary)
2992 @findex wl-summary-target-mark-uudecode
2993 Uudecode the messages which have target mark @samp{*}.
2994 (@code{wl-summary-target-mark-uudecode})
2997 @kindex m ? (Summary)
2998 @findex wl-summary-target-mark-pick
2999 Pick messages from the @samp{*} marked messages.
3000 That is, @samp{*} marks on the messages are remained
3001 if the specified condition is satisfied.
3002 (@code{wl-summary-target-mark-pick})
3005 @kindex M-t (Summary)
3006 @findex wl-toggle-plugged
3007 Toggle offline/online status of Wanderlust.
3008 (@code{wl-toggle-plugged})
3011 @kindex C-t (Summary)
3012 Start Wanderlust's plug-status manager.
3013 (@code{wl-plugged-change})
3016 @kindex C-c C-o (Summary)
3017 @findex wl-jump-to-draft-buffer
3018 Move to the draft buffer if available. If multiple draft buffer exists,
3019 moved to one after another. If prefix argument is specified, load draft
3020 folder's message to the draft buffer and jump to it.
3021 (@code{wl-jump-to-draft-buffer})
3024 @section Customize variables
3027 @item wl-summary-move-order
3028 @vindex wl-summary-move-order
3029 The initial setting is 'unread.
3030 Specify cursor moving policy.
3031 If you want to precede new messages, set 'new.
3032 If you want to precede unread messages, set 'unread.
3033 If nil, proceed to next message.
3035 @item wl-auto-select-first
3036 @vindex wl-auto-select-first
3037 The initial setting is nil.
3038 If non-nil, first message is automatically displayed.
3040 @item wl-auto-select-next
3041 @vindex wl-auto-select-next
3042 The initial setting is nil.
3043 If non-nil, jump to next summary automatically.
3044 If 'unread, jump to next unread folder's summary after confirmation.
3045 If 'skip-no-unread, unread folders are automatically skipped.
3047 @item wl-thread-insert-opened
3048 @vindex wl-thread-insert-opened
3049 The initial setting is nil.
3050 If non-nil, thread is inserted as opened.
3052 @item wl-thread-open-reading-thread
3053 @vindex wl-thread-open-reading-thread
3054 The initial setting is t.
3055 If non-nil, reading thread is automatically opened though it is closed thread.
3057 @item wl-summary-exit-next-move
3058 @vindex wl-summary-exit-next-move
3059 The initial setting is t.
3060 If non-nil, move to next folder at summary exit.
3062 @item wl-folder-move-cur-folder
3063 @vindex wl-folder-move-cur-folder
3064 The initial setting is nil.
3065 If non-nil, cursor position on the folder is moved.
3067 @item wl-summary-weekday-name-lang
3068 @vindex wl-summary-weekday-name-lang
3069 The initial setting is "ja".
3070 Specify language of the weekday.
3071 "en" displays English, "fr" displays French, "de" displays Deutsch.
3073 @item wl-summary-fix-timezone
3074 @vindex wl-summary-fix-timezone
3075 The initial setting is "JST".
3076 Timezone to adjust summary's timezone.
3077 If nil, adjust to UTC.
3079 @item wl-use-petname
3080 @vindex wl-use-petname
3081 The initial setting is t.
3082 If non-nil, sender part displays nickname.
3084 @item wl-break-pages
3085 @vindex wl-break-pages
3086 The initial setting is t.
3087 If non-nil, message is splitted as pages by @samp{^L}.
3089 @item wl-message-window-size
3090 @vindex wl-message-window-size
3091 The initial setting is '(1 . 4).
3092 A cons cell to specify the rate of summary and message window.
3093 car:cdr corresponds summary:message.
3095 @item wl-summary-recenter
3096 @vindex wl-summary-recenter
3097 The initial setting is t.
3098 If non-nil, cursor point is moved to the center of the summary window.
3100 @item wl-summary-indent-length-limit
3101 @vindex wl-summary-indent-length-limit
3102 The initial setting is 46.
3103 Specify the limit of thread indent level.
3104 If nil, max indent level is unlimited.
3106 @item wl-summary-no-from-message
3107 @vindex wl-summary-no-from-message
3108 The initial setting is "nobody@@nowhere?".
3109 A string which is displayed when there's no From: field in the message.
3111 @item wl-summary-no-subject-message
3112 @vindex wl-summary-no-subject-message
3113 The initial setting is "(WL:No Subject in original.)".
3114 A string which is displayed when there's no Subject: field in the message.
3116 @item wl-summary-width
3117 @vindex wl-summary-width
3118 The initial setting is 80.
3119 Width of summary line. If nil, summary line's width is as is.
3121 @item wl-use-folder-petname
3122 @vindex wl-use-folder-petname
3123 The initial setting is '(modeline).
3124 A list of display policy (symbol) of folder nickname.
3125 Available symbols are:
3129 Display folder petname on modeline.
3131 Destination folder is notified as nickname if
3132 @code{wl-auto-select-next} is non-nil.
3134 You can input folder name by nickname in the function
3135 @code{wl-summary-read-folder}.
3138 @item wl-summary-move-direction-toggle
3139 @vindex wl-summary-move-direction-toggle
3140 The initial setting is t.
3141 If non-nil, last executed @kbd{p}, @kbd{P}, @kbd{n}, @kbd{N} toggles
3142 the direction of cursor move.
3143 If you want to aware of reading direction, set this to t.
3146 @vindex wl-from-width
3147 The initial setting is 17.
3148 Width of sender part of summary line.
3150 @item wl-summary-divide-thread-when-subject-changed
3151 @vindex wl-summary-divide-thread-when-subject-changed
3152 The initial setting is nil.
3153 If non-nil, thread is splitted if the subject is changed.
3155 @item wl-summary-search-via-nntp
3156 @vindex wl-summary-search-via-nntp
3157 The initial setting is 'confirm.
3158 If non-nil and @code{wl-summary-jump-to-msg-by-message-id} failed,
3159 call @code{wl-summary-jump-to-msg-by-message-id-via-nntp} and
3160 search message from the NNTP server @code{elmo-default-nntp-server}.
3161 The value of @code{elmo-default-nntp-user}, @code{elmo-default-nntp-port},
3162 @code{elmo-default-nntp-ssl} are used. If 'confirm, server name can
3163 be specified. You can specify NNTP folder format like
3164 @samp{-:username@@servername:119!}.
3166 @item wl-summary-keep-cursor-command
3167 @vindex wl-summary-keep-cursor-command
3168 The initial setting is
3169 '(wl-summary-goto-folder wl-summary-goto-last-visited-folder).
3170 When you entered to summary by these commands and the target summary
3171 buffer already exists, summary status is not automatically updated and
3172 cursor position is saved.
3174 @item wl-summary-update-confirm-threshold
3175 @vindex wl-summary-update-confirm-threshold
3176 The initial setting is 500.
3177 If updated message number is larger than this value,
3178 confirm whether drop them or not.
3180 @item wl-summary-always-sticky-folder-list
3181 @vindex wl-summary-always-sticky-folder-list
3182 The initial setting is nil.
3183 @code{wl-summary-always-sticky-folder-list} specifies the folders that are
3184 automatically sticked. Each element is regexp of folder name.
3186 @item wl-summary-reserve-mark-list
3187 @vindex wl-summary-reserve-mark-list
3188 The initial setting is '("o" "O" "D").
3189 If a message is already marked as temporal marks in this list,
3190 the message is not marked by any mark command.
3192 @item wl-summary-skip-mark-list
3193 @vindex wl-summary-skip-mark-list
3194 The initial setting is '("D").
3195 If a message is already marked as temporal marks in this list,
3196 the message is skipped at cursor move.
3198 @item wl-fetch-confirm-threshold
3199 @vindex wl-fetch-confirm-threshold
3200 The initial setting is 30000 (bytes).
3201 If displaying message has larger size than this value,
3202 Wanderlust confirms whether fetch the message or not.
3203 If nil, the message is fetched without confirmation.
3205 @item wl-prefetch-threshold
3206 @vindex wl-prefetch-threshold
3207 The initial setting is 30000 (bytes).
3208 If prefetching message has larger size than this value and
3209 @code{wl-prefetch-confirm} is non-nil,
3210 Wanderlust confirms whether prefetch the message or not.
3211 If @code{wl-prefetch-threshold} is nil, the message is prefetched
3212 without confirmation.
3214 @item wl-prefetch-confirm
3215 @vindex wl-prefetch-confirm
3216 The initial setting is t. If non-nil,
3217 Wanderlust confirms whether prefetch the message or not if the
3218 message has larger size than @code{wl-prefetch-threshold}.
3220 @item wl-cache-fetch-threshold
3221 @vindex wl-cache-fetch-threshold
3222 The initial setting is 30000 (bytes).
3223 The messages which have larger size than @code{wl-fetch-confirm-threshold}
3224 are skipped buffer caching mechanism. If nil, any messages are prefetched by
3225 buffer caching mechanism.
3227 @item elmo-imap4-use-cache
3228 @vindex elmo-imap4-use-cache
3229 The initial setting is t.
3230 If non-nil, messages read via IMAP4 are cached.
3232 @item elmo-nntp-use-cache
3233 @vindex elmo-nntp-use-cache
3234 The initial setting is t.
3235 If non-nil, messages read via NNTP are cached.
3237 @item elmo-pop3-use-cache
3238 @vindex elmo-pop3-use-cache
3239 The initial setting is t.
3240 If non-nil, messages read via POP3 are cached.
3246 @node Message, Draft, Summary, Top
3247 @chapter Message Buffer
3249 Message Buffers utilize MIME-View mode of SEMI/tm.
3250 For operational procedures and key bindings, refer to respective
3252 @xref{MIME-View, , ,mime-ui-ja, a MIME user interface for GNU Emacs}.
3254 @kbd{p} at the top of a message or @kbd{n} at the bottom of a message
3255 brings you back to Summary mode.
3256 @kbd{l} toggles display of Summary mode buffer.
3258 @section Key Bindings
3264 @findex wl-message-toggle-disp-summary
3265 Toggles display of Summary mode buffer.
3266 (@code{wl-message-toggle-disp-summary})
3269 @findex wl-message-refer-article-or-url
3270 @kindex Button-2 (Message)
3271 Assumes Message-ID at the mouse pointer, and shows the corresponding
3273 (@code{wl-message-refer-article-or-url})
3275 @item Button-4 (upward movement of a wheel)
3276 @kindex Button-4 (Message)
3277 @findex wl-message-wheel-down
3278 Scrolls the message backwards. When the top of the message is hit,
3279 moves to the previous message.
3280 (@code{wl-message-wheel-down})
3282 @item Button-5 (downward movement of a wheel)
3283 @kindex Button-5 (Message)
3284 @findex wl-message-wheel-up
3285 Scrolls the message forward. When the bottom of the message is hit,
3286 moves to the next message.
3287 (@code{wl-message-wheel-up})
3290 @section Customizable Variables
3293 @item wl-message-window-size
3294 @vindex wl-message-window-size
3295 Initial setting is @code{'(1 . 4)}. It is a cons cell and the ratio of
3296 its car and cdr value corresponds to the ratio of Summary and Message
3303 @node Draft, Disconnected Operations, Message, Top
3304 @chapter Draft Buffer
3306 At Summary mode, pressing @kbd{w} and the like creates a new draft
3307 buffer. You can edit and send mail and news articles in this buffer.
3311 Basically it is Emacs-standard mail mode.
3313 @subsection Address Completion
3315 Initially, the cursor is at the To: field. Fill in recipients
3316 addresses. @kbd{@key{TAB}} completes them.
3318 If you want to submit a news article, add Newsgroups: field by
3319 yourself. Field names can be completed by @kbd{@key{TAB}}.
3321 If you save the draft buffer you are editing, it is appended to the
3322 folder specified by @code{wl-draft-folder}.
3324 Using FCC: field, you can specify the folder to which a copy of the
3325 message is saved when it is sent.
3327 @subsection Editing Messages
3329 Multi-part editing utilize MIME edit mode of SEMI/tm. For procedures of
3330 editing, refer to respective documents.
3331 @xref{Mail Methods, , ,mime-ui-ja, a MIME user interface for GNU Emacs}.
3333 @subsection Dynamic Modification of Messages
3334 @vindex wl-draft-config-alist
3336 @c @cindex Change Message
3337 @c @cindex Message, Change Dynamic
3339 You can set @code{wl-draft-config-alist} so that header and body of the
3340 message will automatically modified depending on information of header
3343 The initial setting of @code{wl-draft-config-alist} is nil.
3345 In the example below, the header is modified when
3346 @code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
3347 You can set @code{wl-interactive-send} to non-nil so as to confirm
3348 changes before sending the message.
3351 (setq wl-draft-config-alist
3352 '(((string-match "aaa.ne.jp$" (system-name))
3353 ;; @r{applied if the expression is non-nil}
3354 (wl-smtp-posting-server . "mailserver-B")
3355 (wl-nntp-posting-server . "newsserver-B")
3356 ;; @r{settings of temporary variables}
3358 ("^To: .*user@@aaa.bbb.com"
3359 ;; @r{applied if it matches the header of the draft buffer}
3360 ("Organization" . (format "Go %s" my-webpage)))
3361 ;; @r{you can write elisp expressions here (eval only)}
3362 (top . "Hello.\n") ;; @r{inserted at the top of the body}
3363 (bottom . "\nBye.\n") ;; @r{inserted at the bottom of the body}
3367 The format of @code{wl-draft-config-alist} is:
3370 '(("regexp of the header" or elisp expression
3371 ("Field" . value(elisp expression))
3372 (variable . value(elisp expression))
3373 (sub-function . value(elisp expression))
3376 ("regexp of the header" or elisp expression
3377 ("Field" . value(elisp expression))
3381 Per default, there are 10 following sub-functions.
3384 'header: Inserts the specified string at the bottom of the header.
3385 'header-file: Inserts the specified file at the bottom of the header.
3386 'x-face: Inserts "X-Face" field with the content of the specified file.
3387 'top: Inserts the specified string at the top of the body.
3388 'top-file: Inserts the specified file at the top of the body.
3389 'body: Replaces the body with the specified string.
3390 Specifying nil deletes the entire body string.
3391 'body-file: Replaces the body with the content of the specified file.
3392 'bottom: Inserts the specified string at the bottom of the body.
3393 'bottom-file: Inserts the specified file at the top of the body.
3394 'template: Applies the specified template.
3395 (refer to the next subsection)
3398 These are defined in @code{wl-draft-config-sub-func-alist} and you can
3399 change them or add your own functions. If you read the code, you can
3400 easily find how to write the functions.
3402 At the first of each item, "a regular expression of the header" or an
3403 elisp expression should be specified. In the case of an elisp
3404 expression, the item is applied when the expression is evaluated
3407 Per default, when multiple items match or are evaluated non-nil, all
3408 such items are applied, but if you set a variable
3409 @code{wl-draft-config-matchone} to t, only the first matching one is
3412 At the second of the item, a cons or a list of functions should be
3413 specified. The car part of the cons should be a header field, a
3414 variable, or a sub-function. When a header field is specified, the field
3415 will be modified. If a variable is specified, the value of the variable
3416 will be modified temporarily.
3418 In the cdr part of a cons, not only a variable but also an elisp
3419 expression can be specified as is. If the car part is a header field
3420 and the cdr part is nil, the field will be deleted.
3422 See the next example as well:
3425 (setq wl-draft-config-alist
3427 "X-ML-Name: \\(Wanderlust\\|emacs-mime-ja\\|apel-ja\\)"
3428 ;; @r{applied if it matches the header of the buffer being replied}
3429 (body . " Hello.\n")
3430 (template . "default")
3434 As in the (1) above, if a header regexp is prepended with @code{reply},
3435 it is applied when the draft is prepared by @code{wl-summary-reply} for
3436 example, and when it matches the header being replied. It is ignored
3437 when there is no buffer being replied, like after @code{wl-draft} was
3440 Note that @code{wl-draft-config-alist} is applied only once when
3441 @code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
3442 Therefore, if you want to apply @code{wl-draft-config-alist} again after
3443 aborting transmission, execute @kbd{C-c C-e}
3444 (@code{wl-draft-config-exec}).
3446 If you want to apply @code{wl-draft-config-alist} when a draft buffer is
3447 prepared, do the following:
3450 (add-hook 'wl-mail-setup-hook 'wl-draft-config-exec)
3453 @subsection Inserting Templates
3455 @cindex Apply Template
3457 Set a variable @code{wl-template-alist}, and type
3458 @kbd{C-c C-j} or @kbd{M-x wl-template-select}
3459 in the draft buffer.
3461 The format of @code{wl-template-alist} is almost the same as
3462 @code{wl-draft-config-alist}.
3465 (setq wl-template-alist
3468 ("Organization" . "~/.wl sample")
3469 (body . "Hello.\n"))
3471 (template . "default") ;; @r{(a)}
3472 ("To" . "jousi@@kaisha.jp")
3473 ("Subject" . "Report")
3474 (body-file . "~/work/report.txt")
3479 As you can see, the only difference is item (template) names such as
3480 "default" and "report", instead of a regexp of header.
3481 Because definition of each item is the same as
3482 @code{wl-draft-config-alist}, you can call another template, like (a).
3484 Executing the command @code{wl-template-select} results in template
3485 selection, but the result differs depending on variable
3486 @code{wl-template-visible-select}.
3488 If @code{wl-template-visible-select} is t (default), a buffer window is
3489 shown below the draft buffer. You can select a template by @kbd{n} and
3490 @kbd{p} seeing the buffer window.
3492 Press the RETURN key and the template is actually applied to the draft
3493 buffer. If you press @kbd{q}, nothing is applied. In addition, you can
3494 adjust the window size by @code{wl-template-buffer-lines}.
3496 If @code{wl-template-visible-select} is nil, you should type the name of
3497 the template in the mini buffer.
3499 As shown in the example in @code{wl-draft-config-alist}, you can select
3500 "default" template by writing:
3503 (template . "default")
3507 @subsection Sending mail by POP-before-SMTP
3508 @cindex POP-before-SMTP
3510 You can send mail by POP-before-SMTP with this single line:
3513 (setq wl-draft-send-mail-func 'wl-draft-send-mail-with-pop-before-smtp)
3517 Configure the following variables if you need.
3520 @item wl-pop-before-smtp-user
3521 The POP user name for POP-before-SMTP authentication.
3522 If unset, @code{elmo-default-pop3-user} is used.
3524 @item wl-pop-before-smtp-server
3525 The POP server name for POP-before-SMTP authentication.
3526 If unset, @code{elmo-default-pop3-server} is used.
3528 @item wl-pop-before-smtp-authenticate-type
3529 The POP authentication method for POP-before-SMTP authentication.
3530 If unset, @code{elmo-default-pop3-authenticate-type} is used.
3532 @item wl-pop-before-smtp-port
3533 The POP port number for POP-before-SMTP authentication.
3534 If unset, @code{elmo-default-pop3-port} is used.
3536 @item wl-pop-before-smtp-ssl
3537 If non-nil, POP connection is established using SSL.
3538 If 'starttls, STARTTLS (RFC2595) connection will be established.
3539 If unset, @code{elmo-default-pop3-ssl} is used.
3542 If variables for POP-before-SMTP (@code{wl-pop-before-smtp-*}) are
3543 unset, settings for POP folders (@code{elmo-default-pop3-*}) are
3545 Therefore, if SMTP server and POP server are actually the same, and if
3546 POP folder per default (such as @samp{&}) is available, no settings are
3549 Refer to the following URL about POP-before-SMTP.
3552 http://spam.ayamura.org/tools/smPbS.html
3553 http://www.iecc.com/pop-before-smtp.html
3556 @section Key Bindings
3557 @cindex Keybind, Draft Mode
3558 @cindex Keybind, Draft Buffer
3563 @kindex C-c C-y (Draft)
3564 @findex wl-draft-yank-original
3565 Cites the content of the current message buffer.
3566 (@code{wl-draft-yank-original})
3569 @kindex C-c C-p (Draft)
3570 @findex wl-draft-preview-message
3571 Previews the content of the current draft.
3572 This is useful for previewing MIME multi-part messages.
3573 (@code{wl-draft-preview-message})
3576 @kindex C-c C-s (Draft)
3577 @findex wl-draft-send
3578 Sends the content of the current draft. Does not erase the draft buffer.
3579 This is useful for sending multiple messages, which are a little different
3581 (@code{wl-draft-send})
3584 @kindex C-c C-c (Draft)
3585 @findex wl-draft-send-and-exit
3586 Sends the content of the current draft and erases the draft buffer.
3587 (@code{wl-draft-send-and-exit})
3590 @kindex C-x C-s (Draft)
3591 @findex wl-draft-save
3592 Save the current draft.
3593 (@code{wl-draft-save})
3596 @kindex C-c C-k (Draft)
3597 @findex wl-draft-kill
3598 Kills the current draft.
3599 (@code{wl-draft-kill})
3602 @c @kindex C-x k (Draft)
3603 @c @findex wl-draft-mimic-kill-buffer
3604 @c Kills the current draft.
3605 @c (@code{wl-draft-mimic-kill-buffer})
3608 @kindex C-c C-z (Draft)
3609 @findex wl-draft-save-and-exit
3610 Saves the current draft, and erases the draft buffer.
3611 This is useful if you want to suspend editing of the draft.
3612 You can resume editing by pressing @kbd{E} (@code{wl-summary-reedit}) in
3613 the @samp{+draft} folder.
3614 (@code{wl-draft-save-and-exit})
3617 @kindex C-c C-r (Draft)
3618 @findex wl-caesar-region
3619 Encodes or decodes the specified region in Caesar cipher.
3620 (@code{wl-caesar-region})
3624 @findex wl-toggle-plugged
3625 Toggles off-line/on-line states of Wanderlust.
3626 (@code{wl-toggle-plugged})
3629 @kindex C-c C-o (Draft)
3630 @findex wl-jump-to-draft-buffer
3631 Jumps to the other draft buffer, if exists.
3632 With prefix argument, reads a file (if any) from the draft folder when
3633 there is no such buffer.
3634 (@code{wl-jump-to-draft-buffer})
3637 @kindex C-c C-e (Draft)
3638 @findex wl-draft-config-exec
3639 Applies @code{wl-draft-config-alist}.
3640 (@code{wl-draft-config-exec})
3643 @kindex C-c C-j (Draft)
3644 @findex wl-template-select
3646 (@code{wl-template-select})
3649 @kindex C-c C-a (Draft)
3650 @findex wl-draft-insert-x-face-field
3651 Inserts the content of a file @file{~/.xface} (the value of the variable
3652 @code{wl-x-face-file}) as an X-Face field in the draft buffer.
3654 There should be encoded X-Face strings as a content of a file @file{~/.xface}.
3655 (@code{wl-draft-insert-x-face-field})
3658 @section Customizable Variables
3661 @item wl-subscribed-mailing-list
3662 @vindex wl-subscribed-mailing-list
3663 The initial setting is nil.
3664 Mailing lists to which you subscribe.
3665 If any of these are contained in To or Cc field of a reply draft,
3666 removes your own address from Mail-Followup-To and Cc.
3667 And if any of these are contained in To or Cc field of a message to be
3668 automatically re-filed, the destination folder will be leaned in
3669 connection with the address.
3670 @item wl-insert-mail-followup-to
3671 @vindex wl-insert-mail-followup-to
3672 The initial setting is nil.
3673 If non-nil, Mail-Followup-To field is automatically inserted in the
3676 @item wl-insert-mail-reply-to
3677 @vindex wl-insert-mail-reply-to
3678 The initial setting is nil.
3679 If non-nil, Mail-Reply-To field is automatically inserted in the
3682 @item wl-auto-insert-x-face
3683 @vindex wl-auto-insert-x-face
3684 The initial setting is t.
3685 If non-nil and there is an encoded X-Face string in a file
3686 @file{~/.xface} (the value of the variable @code{wl-x-face-file}),
3687 inserts it as an X-Face field in the draft buffer.
3688 If nil, it is not automatically inserted. Press @kbd{C-c C-a} to insert.
3690 @item wl-insert-message-id
3691 @vindex wl-insert-message-id
3692 The initial setting is t.
3693 If non-nil, Message-ID field is automatically inserted on the
3696 @item wl-local-domain
3697 @vindex wl-local-domain
3698 The initial setting is nil.
3699 If nil, the return value of the function @code{system-name} will be
3700 used as the domain part of Message-ID.
3702 If @code{system-name} does not return FQDN (i.e. the full name of the
3703 host, like @samp{smtp.gohome.org}), you @strong{must} set this variable to the
3704 string of the local domain name without hostname (like @samp{gohome.org}).
3705 That is, a concatenation of @code{system-name} "." @code{wl-local-domain}
3706 is used as domain part of the Message-ID.
3708 If your terminal does not have global IP, set the value of
3709 @code{wl-message-id-domain}.
3710 (You might be beaten up on the Net News if you use invalid Message-ID.)
3713 concatenation of @code{system-name} "." @code{wl-local-domain}
3714 will be used as an argument to the HELO command in SMTP.
3716 @item wl-message-id-domain
3717 @vindex wl-message-id-domain
3718 The initial setting is nil.
3719 If non-nil, this value is used as a domain part of the Message-ID.
3720 If your terminal does not have global IP, set unique string to this value
3721 (e.x. your e-mail address).
3723 @item wl-message-id-domain
3724 @vindex wl-message-id-domain
3725 The initial setting is nil.
3726 If nil, the return value of the function @code{system-name} will be
3727 used as the domain part of Message-ID.
3728 If @code{system-name} does not return FQDN (i.e. the full name of the
3729 host, like smtp.gohome.org), you @strong{must} set this variable to the
3730 string of the full name of the host. Otherwise, you might be beaten up
3733 @item wl-draft-config-alist
3734 @vindex wl-draft-config-alist
3735 The initial setting is nil.
3736 Modifies the draft message just before the transmission.
3737 The content of @code{wl-draft-config-alist} will be automatically
3738 applied only once on the transmission. If you want to apply it
3739 manually, use @kbd{C-c C-e}. This command can be used many times.
3741 @item wl-template-alist
3742 @vindex wl-template-alist
3743 The initial setting is nil.
3744 This variable specifies the template to be applied in the draft buffer.
3746 @item wl-draft-config-matchone
3747 @vindex wl-draft-config-matchone
3748 The initial setting is nil.
3749 If non-nil, only the first matching item is used when
3750 @code{wl-draft-config-alist} is applied. If nil, all matching items are
3753 @item wl-template-visible-select
3754 @vindex wl-template-visible-select
3755 The initial setting is t.
3756 If non-nil, you can preview the result of the template selection in
3759 @item wl-template-confirm
3760 @vindex wl-template-confirm
3761 The initial setting is nil.
3762 If non-nil, asks for confirmation when you press the enter key to select
3763 template while previewing.
3765 @item wl-template-buffer-lines
3766 @vindex wl-template-buffer-lines
3767 The initial setting is 7.
3768 If @code{wl-template-visible-select} is non-nil, this variable specifies
3769 the size of the preview window.
3771 @item wl-draft-reply-buffer-style
3772 @vindex wl-draft-reply-buffer-style
3773 The initial setting is 'split.
3774 'split or 'full can be specified.
3775 In the case of 'full, the whole frame will be used for a reply draft
3776 buffer when it is prepared.
3780 The initial setting is the value of the variable @code{user-mail-address}.
3781 The value of this variable is inserted as a From field of the draft when
3784 @item wl-envelope-from
3785 @vindex wl-envelope-from
3786 The initial setting is nil.
3787 The value of this variable is used for envelope from (MAIL FROM).
3788 If nil, the address part of @code{wl-from} is used.
3790 @item wl-user-mail-address-list
3791 @vindex wl-user-mail-address-list
3792 The initial setting is nil.
3793 This is the User's address list. If you have multiple addresses,
3798 The initial setting is nil.
3799 If non-nil, the value of this variable is inserted as a FCC of the draft
3800 when it is prepared.
3804 The initial setting is nil.
3805 If non-nil, the value of this variable is inserted as a Bcc of the draft
3806 when it is prepared.
3808 @item wl-reply-subject-prefix
3809 @vindex wl-reply-subject-prefix
3810 The initial setting is "Re: ".
3811 In the Subject of the reply draft, this string is prepended to the
3812 Subject of being replied.
3814 @item wl-draft-enable-queuing
3815 @vindex wl-draft-enable-queuing
3816 The initial setting is t.
3817 This flag controls off-line transmission. If non-nil, the draft is
3820 @item wl-auto-flush-queue
3821 @vindex wl-auto-flush-queue
3822 The initial setting is t.
3823 This flag controls automatic transmission of the queue when Wanderlust
3824 becomes on-line. If non-nil, the queue is automatically transmitted
3825 (with confirmation by @code{y-or-n-p}). If you want to transmit it
3826 manually, press @kbd{F} in the folder mode.
3828 @item wl-draft-always-delete-myself
3829 @vindex wl-draft-always-delete-myself
3830 If non-nil, always removes your own address from To and CC when you are
3831 replying to the mail addressed to you.
3833 @item wl-smtp-posting-server
3834 @vindex wl-smtp-posting-server
3835 The initial setting is nil.
3836 This is the SMTP server name for mail transmission.
3838 @item wl-smtp-posting-user
3839 @vindex wl-smtp-posting-user
3840 The initial setting is nil.
3841 This is the user name for SMTP AUTH authentication.
3842 If nil, @code{smtp-authenticate-user} is used.
3844 @item wl-smtp-authenticate-type
3845 @vindex wl-smtp-authenticate-type
3846 The initial setting is nil.
3847 This is the authentication method for SMTP AUTH authentication.
3848 If nil, @code{smtp-authenticate-type} is used.
3849 If it is still nil, authentication will not be carried out.
3851 @item wl-smtp-connection-type
3852 @vindex wl-smtp-connection-type
3853 The initial setting is nil.
3854 This variable specifies how to establish SMTP connections.
3855 If nil, @code{smtp-connection-type} is used.
3856 If it is 'starttls, STARTTLS (RFC2595) is used.
3858 @item wl-nntp-posting-server
3859 @vindex wl-nntp-posting-server
3860 The initial setting is nil.
3861 This is the NNTP server name used for news submission.
3862 If nil, @code{elmo-default-nntp-server} is used.
3864 @item wl-nntp-posting-user
3865 @vindex wl-nntp-posting-user
3866 The initial setting is nil.
3867 This is the user name for AUTHINFO authentication on news submission.
3868 If nil, @code{elmo-default-nntp-user} is used.
3869 If it is still nil, AUTHINFO authentication will not be carried out.
3871 @item wl-nntp-posting-port
3872 @vindex wl-nntp-posting-port
3873 The initial setting is nil.
3874 This is the port number of the NNTP server used for news submission.
3875 If nil, @code{elmo-default-nntp-server} is used.
3877 @item wl-nntp-posting-ssl
3878 @vindex wl-nntp-posting-ssl
3879 The initial setting is nil.
3880 If nil, @code{elmo-default-nntp-ssl} is evaluated.
3881 If non-nil, SSL is used for news submission.
3882 If 'starttls, STARTTLS (RFC2595) connection will be established.
3884 @item wl-pop-before-smtp-user
3885 @vindex wl-pop-before-smtp-user
3886 The initial setting is nil.
3887 This is the POP user name for POP-before-SMTP.
3888 If it is nil, @code{elmo-default-pop3-user} is used.
3890 @item wl-pop-before-smtp-server
3891 @vindex wl-pop-before-smtp-server
3892 The initial setting is nil.
3893 This is the POP server name for POP-before-SMTP.
3894 If it is nil, @code{elmo-default-pop3-server} is used.
3896 @item wl-pop-before-smtp-authenticate-type
3897 @vindex wl-pop-before-smtp-authenticate-type
3898 The initial setting is nil.
3899 This is the authentication method for POP-before-SMTP authentication.
3900 If it is nil, @code{elmo-default-pop3-authenticate} is used.
3902 @item wl-pop-before-smtp-port
3903 @vindex wl-pop-before-smtp-port
3904 The initial setting is nil.
3905 This is the POP port number for POP-before-SMTP.
3906 If it is nil, @code{elmo-default-pop3-port} is used.
3908 @item wl-pop-before-smtp-ssl
3909 @vindex wl-pop-before-smtp-ssl
3910 The initial setting is nil.
3911 This flag controls the use of SSL for POP-before-SMTP.
3912 If it is nil, @code{elmo-default-pop3-ssl} is used.
3914 @item wl-draft-queue-save-variables
3915 @vindex wl-draft-queue-save-variables
3916 Specifies a list of variable to which queued messages are saved on the
3917 off-line transmission.
3919 @item wl-draft-sendlog
3920 @vindex wl-draft-sendlog
3921 The initial setting is t.
3922 If t, transmission log is written in @file{~/.elmo/sendlog}.
3923 It is written when drafts are sent by smtp or qmail, and when they are
3924 saved into folders by fcc or queuing (it is written even if the
3925 transmission fails).
3926 But transmission by im-wl.el is not written in the sendlog and left to
3927 the logging function of imput.
3929 @item wl-draft-sendlog-max-size
3930 @vindex wl-draft-sendlog-max-size
3931 The initial setting is 20000 (in bytes).
3932 If @code{wl-draft-sendlog} is t, the log is rotated when it grows beyond
3933 the size specified by this variable.
3938 @c Disconnected Operations
3940 @node Disconnected Operations, Expire and Archive, Draft, Top
3941 @chapter Off-line Management
3942 @cindex Disconnected Operations
3944 @section Off-line State
3946 Wanderlust has on-line and off-line states.
3947 In the off-line state, you cannot access messages via network, unless
3950 @samp{[ON]} in the mode line indicates the on-line state.
3951 @samp{[--]} in the mode line indicates the off-line state.
3952 In folder or summary modes, press @kbd{M-t} to switch between off-
3955 You can invoke Wanderlust in the off-line state by setting
3956 @code{wl-plugged} to nil in @file{~/.wl} or anything appropriate.
3958 In the off-line mode, @kbd{n} and @kbd{p} command in the summary mode
3959 ignores uncached messages.
3961 Even in the off-line state, provided that relevant messages are cached,
3962 and the variable @code{elmo-enable-disconnected-operation} (described
3963 later) is non-nil, you can:
3966 @item transmit messages
3967 @item re-file and copy (IMAP4)
3968 @item create folders (IMAP4)
3970 @item pre-fetch (IMAP4, NNTP)
3973 As soon as Wanderlust becomes on-line, such operations invoked
3974 off-line are reflected in the servers via network.
3976 @section Transmission of Messages
3978 You can send mail/news messages off-line (if you are using im-wl.el, it
3979 is irrelevant). Messages sent off-line are accumulated in the queue
3980 folder, @samp{+queue}. These messages are transmitted at once when
3981 Wanderlust becomes on-line.
3983 You can visit @samp{+queue} in the off-line state and confirm content
3984 of messages in the queue. You can also remove messages. Removed messages
3985 are not transmitted even in the on-line state.
3987 @section Re-file and Copy (IMAP4)
3989 Re-file and copy operations to IMAP folders invoked during the off-line
3990 state are accumulated in the queue, and reflected in the server side
3991 when Wanderlust becomes on-line. If you visit destination folders after
3992 off-line re-file or copy, it looks as if messages were appended even in
3995 For the safety reasons, messages re-filed off-line are removed from
3996 source folders only if their Message-ID match messages on the servers.
3997 While the queue is processed, messages that failed to be re-filed or
3998 copied to the specified folders are appended to the folder
4001 @section Creation of Folders (IMAP4)
4003 You can create IMAP folders off-line. The creation of folders are
4004 reflected in the servers when Wanderlust becomes on-line. At that time,
4005 if folders failed to be created on the servers for any reasons, messages
4006 re-filed to such folders are appended to the folder "+lost+found".
4008 @section Marking (IMAP4)
4010 Off-line changes in unread/read and importance mark @samp{$} information
4011 are also reflected in the servers when Wanderlust becomes on-line.
4013 @section Pre-fetching (IMAP4, NNTP)
4015 You can make reservations for pre-fetching messages in IMAP or NNTP
4016 folders. Reserved messages are marked with @samp{!} but not cached
4017 yet. When Wanderlust becomes on-line, they are pre-fetched from
4020 If the variable @code{elmo-enable-disconnected-operation} is nil, these
4021 off-line operations for IMAP4 and NNTP do not take place, and off-line
4022 re-file, copy or suchlike simply results in error.
4024 Because off-line operations use cache files, it is a bad idea to erase
4025 them by hand; it may cause Wanderlust to malfunction.
4027 If you want to remove caches, be sure to execute
4028 @kbd{M-x elmo-cache-expire-by-size}.
4029 @code{elmo-cache-expire-by-size} does not remove caches for messages
4030 relevant to off-line operations.
4032 @section Switching On-line/Off-line per Server/Port
4034 @kbd{M-t} described above switches networking states as a whole, but you
4035 can switch on-line/off-line per server/port.
4037 Pressing @kbd{C-t} in the folder or summary modes brings you in
4038 wl-plugged-mode shown below, in which you can change the plugged state
4042 Queuing:[ON] AutoFlushQueue:[--] DisconnectedOperation:[ON]
4045 [--]smtp +queue: 2 msgs (1,2) @dots{}@r{sending queue}
4046 [--]nntp(119) +queue: 1 msg (3) @dots{}@r{sending queue}
4048 [--]imap4/cram-md5(143) %#mh/wl(prefetch-msgs:3,mark-as-important:1)
4049 %inbox(delete-msgids:1) @dots{}@r{dop queue}
4054 The first line indicates status of the following three variables, and
4055 simply pressing @kbd{@key{SPC}} or @kbd{@key{RET}} in each labelled
4056 column modifies the values of these variables.
4059 "Queuing" wl-draft-enable-queuing
4060 "AutoFlushQueue" wl-auto-flush-queue
4061 "DisconnectedOperation" elmo-enable-disconnected-operation
4064 where @samp{[ON]} means its value is t, and @samp{[--]} means nil.
4066 The second and after lines indicate on-line/off-line states of servers
4067 and ports, where @samp{[ON]} stands for on-line and @samp{[--]} for
4068 off-line (in XEmacs, they are shown with icons). Pressing
4069 @kbd{@key{SPC}} or @kbd{@key{RET}} in each line switches its state.
4071 "sending queue" means messages accumulated in the folder @samp{+queue}
4072 for off-line transmission, and "dop queue" means off-line operations
4073 when @code{elmo-enable-disconnected-operation} is t.
4074 @c If the variable @code{elmo-enable-disconnected-operation} is non-nil,
4075 @c off-line operations are enabled.
4077 They are displayed if there are any of them. In the example above,
4078 in the sending queue there are two messages (the first and the second
4079 in the queue folder) for smtp to hosta and one (the third) for nntp to
4080 hosta, and in the dop queue there are one for @samp{%inbox} and two for
4083 If you change (wl-plugged) in the second line, the variable
4084 @code{wl-plugged} is changed, so that the mode line indicator and
4085 plugged states of all ports are affected.
4086 If you change plugged states of any servers or ports, wl-plugged in the
4087 second line is affected depending on @code{elmo-plugged-condition}
4088 settings and the plugged state of each port.
4090 @section Invoking Wanderlust in the Off-line State
4092 As described before, if you set @code{wl-plugged} to nil in @file{~/.wl}
4093 or anything appropriate, you can invoke Wanderlust in the off-line
4094 state. You can specify off-line state on a per server or port basis.
4095 Refer to @code{wl-reset-plugged-alist} also.
4097 Usually, when Wanderlust starts up, the plugged state of each port is
4098 read from @file{~/.folder} and @code{wl-smtp-posting-server},
4099 @code{wl-nntp-posting-server} and so on. If you want to change the
4100 plugged state of these ports or to add other ports, configure
4101 @code{wl-make-plugged-hook} with a function.
4104 (add-hook 'wl-make-plugged-hook
4106 (elmo-set-plugged plugged-value(t/nil) server port)
4107 ;; @r{add or change plugged states of the port of the server}
4108 (elmo-set-plugged plugged-value(t/nil) server)
4109 ;; @r{if the port is omitted, all ports are affected}
4110 ;; @r{(you cannot omit the port if you newly add the server)}
4114 @section Customizable Variables
4119 If this variable is set to nil, Wanderlust starts up in off-line mode from
4122 @item wl-queue-folder
4123 @vindex wl-queue-folder
4124 The initial setting is "+queue".
4125 This is the folder in which messages in the transmission queue are
4128 @item wl-auto-flush-queue
4129 @vindex wl-auto-flush-queue
4130 The initial setting is t.
4131 This flag controls automatic transmission of the queue when Wanderlust
4132 becomes on-line. If non-nil, the queue is automatically transmitted
4133 (with confirmation by @code{y-or-n-p}). If you want to transmit it
4134 manually, press @kbd{F} in the folder mode.
4136 @item elmo-enable-disconnected-operation
4137 @vindex elmo-enable-disconnected-operation
4138 The initial setting is nil. Controls off-line operations regarding IMAP4.
4139 If non-nil, off-line operations are carried out.
4141 @item elmo-lost+found-folder
4142 @vindex elmo-lost+found-folder
4143 The initial setting is "+lost+found".
4144 This is the folder to which messages are saved when they fails to be
4145 appended while the off-line re-file/copy queue is processed.
4147 @item elmo-plugged-condition
4148 @vindex elmo-plugged-condition
4149 The initial setting is 'one.
4150 The value of @code{wl-plugged} reflects the return value of the function
4151 @code{elmo-plugged-p} (without arguments).
4152 This variable @code{elmo-plugged-condition} specifies the condition on
4153 which the return value of (elmo-plugged-p) should be t depending on the
4154 plugged state of each port.
4157 'one : plugged if one or more ports are plugged.
4158 'all : plugged if all ports are plugged.
4159 'independent : reflects wl-plugged (elmo-plugged) regardless of plugged
4160 states of the ports.
4161 function : reflects the return value of the function
4162 functions available per default
4163 'elmo-plug-on-by-servers
4164 : reflects the plugged state of the servers specified by the
4165 variable elmo-plug-on-servers.
4166 'elmo-plug-on-by-exclude-servers
4167 : reflects the plugged state of the servers that are not
4168 in elmo-plug-on-exclude-servers.
4169 elmo-plug-on-exclude-servers defaults to
4172 (system-name)without the domain part)
4177 (setq elmo-plugged-condition 'all)
4179 (setq elmo-plug-on-servers '("smtpserver" "newsserver"))
4180 (setq elmo-plugged-condition 'elmo-plug-on-by-servers)
4182 (setq elmo-plug-on-exclude-servers '("localhost" "myname"))
4183 (setq elmo-plugged-condition 'elmo-plug-on-by-exclude-servers)
4186 @item wl-reset-plugged-alist
4187 @vindex wl-reset-plugged-alist
4188 The initial setting is t. If non-nil, plugged states are initialized on
4189 a per server or port basis when Wanderlust starts up.
4191 If nil, plugged states are retained while Emacs is running.
4192 In other words, they are initialized when Emacs is restarted even if the
4197 @c Expire and Archive
4199 @node Expire and Archive, Scoring, Disconnected Operations, Top
4200 @chapter Automatic Expiration and Archiving of Messages
4201 @cindex Expire and Archive
4204 * Expire:: Expiration and Archiving
4205 * Archive:: Archiving All Messages
4209 @node Expire, Archive, Expire and Archive, Expire and Archive
4211 @cindex Expire Message
4213 Expiration means deletion of old messages which have outlasted a
4214 certain period of time.
4216 @code{wl-expire} supports not only simple deletion, but also moving to
4217 specified archiving folders.
4221 Configure @code{wl-expire-alist} and press @kbd{e} in the folder mode,
4222 or @kbd{M-e} in the summary mode.
4224 @subsection Configuring @code{wl-expire-alist}
4226 An example configuration of @code{wl-expire-alist} is shown below.
4227 Everything in this @code{wl-expire-alist} makes a great difference in
4228 expiration, so be careful.
4229 I advise you to set @code{wl-expire-use-log} to t, especially in the
4233 (setq wl-expire-alist
4234 '(("^\\+trash$" (date 14) remove)
4236 ("^\\+tmp$" (date 7) trash)
4237 ;; @r{re-file to @code{wl-trash-folder}}
4238 ("^\\+outbox$" (number 300) "$outbox;lha")
4239 ;; @r{re-file to the specific folder}
4241 ;; @r{do not expire}
4242 ("^\\+ml/wl$" (number 500 510) wl-expire-archive-number1 t)
4243 ;; @r{archive by message number (retaining numbers)}
4244 ("^\\+ml/.*" (number 300 310) wl-expire-archive-number2 t)
4245 ;; @r{archive by a fixed number (retaining numbers)}
4246 ("^\\+nikki$" (date 30) wl-expire-archive-date)
4247 ;; @r{archive by year and month (numbers discarded)}
4251 Items in the list has the format of:
4254 ("regexp_for_folders" (specification_of_messages_to_be_deleted) destination)
4258 The folder is examined if it matches "regexp_for_folders" from the
4259 beginning of the list. If you invoke expiration on the folder that does
4260 not match any of them, nothing will happen.
4261 And if either the second or the third element of the item is nil,
4262 expiration will not take place.
4264 You can use any one of the following for
4265 specification_of_message_to_be_deleted:
4268 @item (number n1 [n2])
4269 deletes messages depending on the number of messages in the folder.
4271 n1 is the number of messages which should survive deletion, for example
4272 if its value is 500, the newest 500 messages survive and the rests are
4275 n2 is the number of messages in the folder on which expiration should
4276 take place, which defaults to n1 + 1. For example if its value is 510,
4277 folders with 510 or more messages are expired.
4278 If you configured automatic expiration, frequently used folders may
4279 expire every time it receive messages, and you may be annoyed with the
4280 long delay in reading mail.
4281 In that case, you can set a wide margin between n2 and n1, so that
4282 expiration would not take place until a certain number of messages
4285 Messages with marks in @code{wl-summary-expire-reserve-marks} (marked
4286 with important/new/unread) are not deleted.
4287 If @code{wl-expire-number-with-reserve-marks} is non-nil, the folder
4288 will expire so as to have 500 messages including such ones.
4289 Otherwise, it will have 500 messages except such ones.
4292 deletes messages depending on the dates.
4294 Messages dated d1 or more days ago are deleted, for example if its value
4295 is seven, messages seven days old or more are deleted.
4296 Note that the date is the one in the Date field of the message, not when
4297 the message entered the folder.
4299 Messages with no or invalid Date field does not expire; you might have
4300 to delete them by hand.
4303 You can use any one of the following in the place of destination:
4307 deletes the messages instantly.
4310 moves the messages to @code{wl-trash-folder}.
4312 @item string(folder)
4313 moves the messages to the specified folder.
4315 It would be useful for specifying an archiving folder, but because this
4316 does not move important messages, it might be better to use the
4317 standard functions described below.
4320 invokes the specified function.
4322 To the function, three arguments are passed: a folder name, a list of
4323 messages to be deleted, and msgdb information of the summary.
4324 You can specify function-specific arguments after the name of the
4326 Note that the list contains messages with marks in
4327 @code{wl-summary-expire-reserve-marks}, be careful in writing your own
4330 These are three standard functions; they moves messages to an archive
4331 folder in the specified way. This means old messages can be compressed
4332 and saved in a file, being deleted from the original folder.
4335 @item wl-expire-archive-number1
4336 re-files to archiving folders corresponding to the message numbers of
4337 the messages being deleted.
4338 For example, a message numbered 102 will be re-filed to
4339 @file{wl-00100.zip}, 390 to @file{wl-00300.zip}, and so on.
4340 If @code{wl-expire-archive-files} is 200, messages will be re-filed to
4341 @file{wl-00000.zip}, @file{wl-00200.zip}, @file{wl-00400.zip}, @dots{}.
4343 The archiving folders to which messages are re-filed are determined by
4344 the name of the folder as follows
4345 (in this case, archiving folders are handled as if
4346 @code{elmo-archive-treat-file} were non-nil).
4349 @item If the folder type is localdir:
4351 @code{$ArchiveDir/foldername-xxxxx.zip}
4352 For example, @samp{+ml/wl} corresponds to @samp{$ml/wl;zip}
4353 (@file{~/Mail/ml/wl-00100.zip}).
4355 @item The folder type is other than localdir:
4356 @code{$ArchiveDir/foldertype/foldername-xxxxx.zip}
4358 For example, @samp{%#mh/ml/wl} corresponds to
4359 @samp{$imap4/#mh/ml/wl;zip} (@file{~/Mail/imap4/#mh/ml/wl-00100.zip}).
4362 As you can see, in the case of localdir, the folder type is not included
4363 in the path name, but otherwise it is included.
4364 And you can control the prefix to the archiving folder name by
4365 @code{wl-expire-archive-folder-prefix}.
4366 Refer to @code{wl-expire-archive-folder-prefix} for details.
4368 @item wl-expire-archive-number2
4369 re-files every certain number of messages to archiving folders.
4371 This differs from @samp{wl-expire-archive-number1} in that this re-files
4372 to the folder up to the specified number regardless of message numbers.
4373 The archiving folders to which messages are re-filed are determined in the
4374 same way as @code{wl-expire-archive-number1}.
4376 @item wl-expire-archive-date
4377 re-files messages depending on its date (year and month) to archive
4380 For example, a message dated December 1998 is re-filed to
4381 @code{$folder-199812;zip}.
4382 The name of the archiving folders except the date part are determined in
4383 the same way as @code{wl-expire-archive-number1}.
4386 You can set the first argument to these three standard functions to non-nil
4387 in @code{wl-expire-alist} so as to retain message numbers in the folder.
4388 For example, it can be specified just after the name of the function:
4391 ("^\\+ml/wl$" (number 300 310) wl-expire-archive-number1 t)
4394 If you omit the argument, consecutive numbers from 1 are assigned for
4395 each archiving folder.
4398 @subsection Treatment for Important or Unread Messages
4400 If you specify any of 'remove, 'trash, a folder name, or a standard
4401 function, messages with marks in @code{wl-summary-expire-reserve-marks}
4402 (which are called @dfn{reserved messages} thereafter) are retained.
4404 Per default, this variable include the important, new, and unread marks,
4405 so that messages with these marks are not removed.
4406 Note that you cannot include the temporary mark (i.e. temporary marks
4407 are removed anyway), and be sure to process temporary marks before you
4410 @subsection Auto Expiration
4412 The following setup invokes expiration when you move into the summary
4413 mode. There will be no confirmation, so make sure you made no mistake
4414 in regexp and other settings before you set up this.
4417 (add-hook 'wl-summary-prepared-pre-hook
4421 In the folder mode, you can invoke expiration per group as well as per
4422 folder. Therefore, if you specify @samp{Desktop} group, all folders
4423 matching @code{wl-expire-alist} expire.
4427 @subsection Treating archive folders.
4428 To treat archive folders created by @code{wl-expire-archive-number1} and so on,
4429 you must set non-nil value to @code{elmo-archive-treat-file}.
4431 @subsection Confirming
4433 If you are to use 'remove, try 'trash at first and see messages move to
4434 @code{wl-trash-folder} as expected, then replace it with 'remove.
4435 It would be dangerous to use 'remove from the beginning.
4437 If you are to use @code{wl-expire-archive-number1} and the like, try to
4438 make a folder of the archiver type ('zip or 'lha) and see if you can
4439 append messages to it.
4440 Even if settings in @code{wl-expire-alist} and @code{elmo-archive} are
4441 correct, messages would not be saved anywhere and disappeared in case
4442 the archiver program fails.
4444 After you make sure you can archive to the folder correctly, you can
4445 invoke expiration and utilize the log.
4447 If you set @code{wl-expire-use-log} to t, @file{~/.elmo/expired-log}
4448 should contain the log, for example:
4451 delete +ml/wl (593 594 595 596 597 598 599)
4452 move +ml/wl -> $ml/wl-00600;tgz;wl (600 601 602)
4455 The first column indicates the operation, i.e. delete, copy, or move.
4456 The next is the name of the folder that expired. In the case of copy
4457 and move, the destination folder is recorded after @samp{->}.
4458 The last is the list of message numbers that are actually deleted or
4459 moved (in the case of copy and move, the number is the one in the source
4460 folder, rather than the destination folder).
4462 @subsection Re-filing Reserved Messages
4464 The three standard functions copy reserved messages to the archive
4465 folder, but do not delete them from the source folder. Because
4466 reserved messages and the like always remain, they are recorded in
4467 @file{~/.elmo/expired-alist} so that they are not copied over and over
4468 again. They are not recorded if copied by @code{wl-summary-archive}.
4470 If you enabled logging, usually "move" is recorded for re-filing, but
4471 instead "copy" and "delete" are recorded separately if reserved messages
4473 This is because it actually copies messages including reserved, then
4474 deletes ones except reserved in that case.
4476 @section Customizable Variables
4479 @item wl-expire-alist
4480 @vindex wl-expire-alist
4481 The initial setting is nil.
4482 This variable specifies folders and methods to expire. For details,
4483 refer to @code{wl-expire-alist} settings above.
4485 @item wl-summary-expire-reserve-marks
4486 @vindex wl-summary-expire-reserve-marks
4487 The initial setting is the list below.
4490 (list wl-summary-important-mark
4492 wl-summary-unread-mark
4493 wl-summary-unread-uncached-mark
4494 wl-summary-unread-cached-mark)
4497 Messages with these marks are retained in the folder, even after
4499 Only permanent marks can be listed, not temporary marks.
4501 You can list marks one by one as in the default; you can use the
4502 following settings as well:
4506 All messages with permanent marks are retained,
4507 i.e. @code{wl-summary-read-uncached-mark} is included in addition to the
4511 All messages are handled as usual ones that are already read, no matter
4512 what marks they have; even important messages are deleted.
4515 @item wl-expire-archive-files
4516 @vindex wl-expire-archive-files
4517 The initial setting is 100.
4518 This variable specifies the number of messages to be retained in one
4521 @item wl-expire-number-with-reserve-marks
4522 @vindex wl-expire-number-with-reserve-marks
4523 The initial setting is nil.
4524 If non-nil, if expiring messages are specified by "number", messages
4525 with @code{wl-summary-expire-reserve-marks} are also retained.
4527 @item wl-expire-archive-get-folder-func
4528 @vindex wl-expire-archive-get-folder-func
4529 The initial setting is 'wl-expire-archive-get-folder.
4531 This variable specifies a function that returns the name of an archiving
4532 folder for standard functions in the place of destination.
4533 You can use the following three variables for simple modification of
4534 folder names; if you want more complex settings, define your own
4535 function in this variable.
4537 @code{wl-expire-archive-get-folder} can be customized by these
4540 @item wl-expire-archive-folder-name-fmt
4541 @item wl-expire-archive-folder-type
4542 @item wl-expire-archive-folder-prefix
4545 @item wl-expire-archive-folder-name-fmt
4546 @vindex wl-expire-archive-folder-name-fmt
4547 The initial setting is "%s-%%05d;%s".
4548 This is a format string for archiving folders used in
4549 @code{wl-expire-archive-number1} and @code{wl-expire-archive-number2}.
4550 Note that you must specify the message number by @samp{%%d}, because it
4551 is parsed twice by @code{format}.
4553 If you modify this, adjust @code{wl-expire-archive-folder-num-regexp} as
4556 @item wl-expire-archive-date-folder-name-fmt
4557 @vindex wl-expire-archive-date-folder-name-fmt
4558 The initial setting is "%s-%%04d%%02d;%s".
4559 This is a format string for archiving folders used in
4560 @code{wl-expire-archive-date}.
4561 Note that you must specify the message number by @samp{%%d}, because it
4562 is parsed twice by @code{format}.
4563 There should be @code{%%d} twice, one for the year and the other for the
4566 If you modify this, adjust
4567 @code{wl-expire-archive-date-folder-num-regexp} as well.
4569 @item wl-expire-archive-folder-type
4570 @vindex wl-expire-archive-folder-type
4571 The initial setting is 'zip.
4572 This variable specifies an archiver type of the archiving folders.
4574 @item wl-expire-archive-folder-prefix
4575 @vindex wl-expire-archive-folder-prefix
4576 The initial setting is nil.
4577 This variable specifies the prefix (directory structure) to archiving
4579 Exercise extreme caution in using this feature, as it has not been
4581 In the worst case, there is a fear of destructing archiving folders.
4585 There will be no prefix.
4588 For example, @samp{+ml/wl} will be prefixed by @samp{wl}, resulting in
4589 @samp{$ml/wl-00000;zip;wl}.
4592 For example, @samp{+ml/wl} will be prefixed by prefix @samp{ml/wl},
4595 @samp{$ml/wl-00000;zip;ml/wl}.
4598 @item wl-expire-archive-folder-num-regexp
4599 @vindex wl-expire-archive-folder-num-regexp
4600 The initial setting is "-\\([-0-9]+\\);".
4601 This variable specifies the regular expression to be used for getting
4602 message numbers from multiple archiving folders specified by
4603 @code{elmo-list-folders}.
4604 Set it in accordance with @code{wl-expire-archive-folder-name-fmt}.
4606 @item wl-expire-archive-date-folder-num-regexp
4607 @vindex wl-expire-archive-date-folder-num-regexp
4608 The initial setting is "-\\([-0-9]+\\);".
4609 This is the regular expression to be used for getting message numbers
4610 from multiple archiving folders specified by @code{elmo-list-folders}.
4611 Set it in accordance with @code{wl-expire-archive-date-folder-name-fmt}.
4613 @item wl-expire-delete-oldmsg-confirm
4614 @vindex wl-expire-delete-oldmsg-confirm
4615 The initial setting is t.
4616 If non-nil, messages older than the one with the largest number will be
4617 deleted with confirmation.
4618 If nil, they are deleted without confirmation.
4620 This feature is valid only if non-nil is specified as a argument to the
4621 standard functions so as to retain numbers.
4623 @item wl-expire-use-log
4624 @vindex wl-expire-use-log
4625 The initial setting is nil.
4626 If non-nil, expiration logs are recorded in @file{~/.elmo/expired-log}.
4627 They are appended but not truncated or rotated automatically; you might
4628 need to remove it manually.
4630 @item wl-expire-add-seen-list
4631 @vindex wl-expire-add-seen-list
4632 The initial setting is t.
4634 If non-nil, when messages are re-filed by expiration, read/unread
4635 information is passed to the destination folder.
4637 However if you do not read the destination folder from Wanderlust,
4638 @file{seen} under @file{~/.elmo/} grows larger and larger, so you might
4639 want to set this to nil if you are simply saving to some archiving
4640 folders. Even if its value is nil, messages in the archiving folders
4641 are simply treated as unread; it does not affect expiration itself.
4643 @item wl-expire-folder-update-msgdb
4644 @vindex wl-expire-folder-update-msgdb
4645 The initial setting is t.
4646 If t, in the folder mode, expiration is carried out after updating
4647 summary information.
4648 If you specified a list of regular expressions of folder names, summary
4649 information is updated for matching folders only.
4653 @node Archive, , Expire, Expire and Archive
4654 @section Archiving Messages
4656 @subsection Archiving Messages
4657 @kbd{M-x wl-summary-archive} copies the whole folder to archiving
4658 folders. If there are the archiving folders already, only new messages
4661 You can use @code{wl-archive-alist} in order to specify how messages are
4662 archived according to their folder names, as in @code{wl-expire-alist}.
4666 (setq wl-archive-alist
4667 '(("^\\+tmp$" wl-archive-date)
4668 ("^\\+outbox$" wl-archive-number2)
4669 (".*" wl-archive-number1)
4673 Each item in the list has the following format:
4676 ("folders_regexp" deleting_function)
4679 As you can see, you can only use a function after @samp{folders_regexp}.
4680 Per default, there are three functions:
4683 @item wl-archive-number1
4684 @item wl-archive-number2
4685 @item wl-archive-date
4688 As inferred from their names, they work similarly to "expire" versions,
4689 other than the following points:
4692 @item No messages are deleted
4693 @item Message numbers are retained even if invoked without arguments
4696 These functions are good to archive all messages in a folder by their
4697 numbers or by their dates.
4698 These are also useful for backup or confirmation purposes before
4700 If you try to re-file them after they are archived, they are deleted but
4703 Per default, the archiving folders to which messages are copied are
4704 determined automatically by @code{wl-expire-archive-get-folder-func}.
4705 You can copy to a specific folder by invoking with a prefix argument,
4706 i.e. @kbd{C-u M-x wl-summary-archive}.
4708 Note that this feature has not been seriously tested, because you can
4709 simply copy to an archiving folder, for example by
4710 @code{wl-summary-copy-region}.
4712 The archiving folders are determined by the same logic as in
4713 @code{wl-summary-expire}; the following customizable variables are
4717 @item wl-expire-archive-files
4718 @item wl-expire-archive-get-folder-func
4719 @item wl-expire-archive-folder-name-fmt
4720 @item wl-expire-archive-folder-type
4721 @item wl-expire-archive-folder-prefix
4722 @item wl-expire-archive-folder-num-regexp
4725 @subsection Customizable Variables
4728 @item wl-archive-alist
4729 @vindex wl-archive-alist
4730 The initial setting is '((".*" wl-archive-number1)).
4732 This variable specifies a function that copies to archiving folders.
4733 To the function, three arguments are passed: a folder name, a list of
4734 messages in the folder, and msgdb information of the summary.
4735 Needless to say, you can use your own function.
4742 @node Scoring, Customization, Expire and Archive, Top
4743 @chapter Score of the Messages
4745 @c @cindex Kill File
4747 Scoring is the function that associates a score (value) with each
4748 message, and marks as read or deletes from the summary according to it.
4750 You can put temp or important marks on essential messages, or read marks
4751 on the ones you do not want to read, for example spam articles.
4753 This scoring function has a capability and a format similar to the one
4754 that Gnus has, although there are some unsupported features and
4755 Wanderlust specifics.
4758 * Score Commands:: Score Commands
4759 * Score File Format:: Score File Format
4763 @node Score Commands, Score File Format, Scoring, Scoring
4764 @section Score Commands
4765 @cindex Score Commands
4767 @subsection Score File Specification
4769 @code{wl-score-folder-alist} specifies score files or variables in which
4770 scores are defined, corresponding to folder names.
4773 (setq wl-score-folder-alist
4781 If paths to the score files are omitted, the directory specified in the
4782 variable @code{wl-score-files-dir} is assumed.
4784 No matter what you write in @code{wl-score-folder-alist}, the default
4785 score file @code{wl-score-default-file} (@file{all.SCORE}) is always
4786 read (it does not have to exist).
4787 Therefore, in the example above, the three score files,
4788 @file{news.SCORE}, @file{my.SCORE}, and @file{all.SCORE} are read for
4789 the folders that matches @samp{^-.*}.
4791 @subsection Scored Messages
4793 Scores are attached to the messages that are specified by
4794 @code{wl-summary-score-marks} temporarily when the summary is updated;
4795 when you exit from the summary, the scores are removed and reverts to
4798 @subsection Creation of Score Files
4800 In the summary buffer, move to an appropriate message and type @kbd{L}.
4801 Then type @kbd{s}, @kbd{s}, and @kbd{p} at a prompt in a mini-buffer.
4802 The string in Subject is presented. Edit it and press @kbd{@key{RET}}.
4804 This makes -1000 are scored for messages with the same Subject as the
4805 string you entered. That is, such a score file is created
4808 Then, try typing @kbd{h} and @kbd{e} in the same summary buffer.
4809 The score file you just made appears.
4810 This buffer is called "score editing buffer" thereafter.
4811 When you type @kbd{C-c C-e} in it, you are prompted in the mini-buffer
4812 as you are previously; type @kbd{a}. Then a score entry for "From"
4814 In this way, you can create a score file easily either in the summary
4815 buffer or in the score editing buffer.
4817 By the way, you might be aware the numbers of key strokes are different
4818 between @kbd{s s p} and @kbd{a}.
4819 This is determined by @code{wl-score-header-default-entry}.
4820 This variable specifies the default score entries corresponding to
4822 For example, for "subject" field, a type and a time limit are prompted,
4823 but for "from" field, they are fixed upon automatically as substring and
4824 permanent respectively.
4825 However, score values can be modified by the prefix argument.
4826 Typing @kbd{?} at the mini-buffer shows a help on keys and corresponding
4829 At last, type @kbd{C-c C-c} in the score editing buffer. This saves the
4830 score file and terminates the edit mode. Typing @kbd{C-c C-c} after
4831 erasing contents of the buffer deletes the score file being edited.
4835 @subsubsection Selecting Score Files
4837 You can change score files to which scores are appended by
4838 @code{wl-summary-increase-score} and @code{wl-summary-lower-score} by
4839 @code{wl-score-change-score-file}.
4841 @subsubsection Summing Up the Score
4843 If you add the same entries by @code{wl-summary-increase-score},
4844 @code{wl-summary-lower-score}, and @code{wl-score-edit-insert-entry},
4845 scores for the entry is summed up.
4847 For example, if you create @samp{from} entry with the score of -1000 by
4848 @kbd{L a} and again @samp{from} with -200, one entry with the score of
4849 -1200 will be created as a result.
4851 @subsubsection Creating Thread Key
4853 Creating @samp{Thread} key by @code{wl-summary-increase-score} or
4854 @code{wl-summary-lower-score} appends @samp{Message-ID} of all children.
4856 @subsubsection Creating Followup Key
4858 Creating @samp{Followup} key by @code{wl-summary-increase-score} or
4859 @code{wl-summary-lower-score} appends @samp{Message-ID} of the message
4860 at the cursor to @samp{References} key.
4861 If @code{wl-score-auto-make-followup-entry} is non-nil,
4862 @samp{Message-ID} of all messages to be followed up within dates
4863 specified by @code{wl-score-expiry-days}.
4865 @subsection Key Bindings
4870 @findex wl-summary-increase-score
4871 Increases the score for the current message.
4872 And the score entry is appended to the score file at the same moment.
4873 You can specify the score value by a prefix argument.
4877 @findex wl-summary-lower-score
4878 Decreases the score for the current message.
4879 And the score entry is appended to the score file at the same moment.
4880 You can specify the score value by a prefix argument.
4883 @kindex h R (Summary)
4884 @findex wl-summary-rescore
4885 Re-applies the scoring.
4886 However, already scored messages are not scored anew.
4889 @kindex h c (Summary)
4890 @findex wl-score-change-score-file
4891 Changes the score file currently selected.
4894 @kindex h e (Summary)
4895 @findex wl-score-edit-current-scores
4896 Edits the score file currently selected.
4897 If there are multiple score files, the previously specified one is
4901 @kindex h f (Summary)
4902 @findex wl-score-edit-file
4903 Edits an arbitrary score file and selects it.
4906 @kindex h F (Summary)
4907 @findex wl-score-flush-cache
4908 Erases caches associated to the score files that are read.
4909 If you modified score files directly (from other than Wanderlust), you
4910 need to re-read them after erasing the cache.
4913 @kindex h m (Summary)
4914 @findex wl-score-set-mark-below
4915 Specifies the criterion for scores to be marked as read.
4916 Messages with scores less than this value are marked as read.
4919 @kindex h x (Summary)
4920 @findex wl-score-set-expunge-below
4921 Specifies the criterion for scores to be deleted from the summary.
4922 Messages with scores less than this value are deleted.
4923 "Deleted" means it is not shown; they are not removed from the summary
4924 information or the folder.
4925 The deleted messages can be shown by rescan-noscore again.
4928 @subsection Key Bindings in the Score Editing Buffer
4932 @kindex C-c C-k (Score Mode)
4933 @findex wl-score-edit-kill
4934 Abandons the file being edited.
4937 @kindex C-c C-c (Score Mode)
4938 @findex wl-score-edit-exit
4939 Saves the file being edited, and quits from the edit mode.
4942 @kindex C-c C-p (Score Mode)
4943 @findex wl-score-pretty-print
4947 @kindex C-c C-d (Score Mode)
4948 @findex wl-score-edit-insert-date
4949 Inserts the number of dates from Dec. 31, 1 B.C.
4950 It is used for creating the third factor of time-limited scores.
4953 @kindex C-c C-s (Score Mode)
4954 @findex wl-score-edit-insert-header
4955 Inserts the header of the message selected in the summary buffer.
4958 @kindex C-c C-e (Score Mode)
4959 @findex wl-score-edit-insert-entry
4960 Inserts the score entry of the message selected in the summary buffer.
4963 @subsection Customizable Variables
4966 @item wl-summary-default-score
4967 @vindex wl-summary-default-score
4968 The initial setting is zero.
4969 This variable specifies the default value of the score.
4970 The score is increased or decreased based upon this value.
4972 @item wl-summary-important-above
4973 @vindex wl-summary-important-above
4974 The initial setting is nil.
4975 Messages with scores larger than this value are attached with the
4976 important mark (@samp{$}).
4977 If nil, no important marks are attached.
4979 @item wl-summary-temp-above
4980 @vindex wl-summary-temp-above
4981 The initial setting is nil.
4982 Messages with scores larger than this value are attached with the temp
4984 If nil, no temp marks are attached.
4986 @item wl-summary-mark-below
4987 @vindex wl-summary-mark-below
4988 The initial setting is zero.
4989 Messages with scores smaller than this value are marked as read.
4991 @item wl-summary-expunge-below
4992 @vindex wl-summary-expunge-below
4993 The initial setting is nil.
4994 Messages with scores smaller than this value are deleted from the
4996 If nil, they are not deleted.
4998 @item wl-summary-score-marks
4999 @vindex wl-summary-score-marks
5000 The initial setting is '("N" "!" "U").
5001 Messages with these marks are scored.
5003 @item wl-use-scoring
5004 @vindex wl-use-scoring
5005 The initial setting is t.
5006 If non-nil, scoring is enabled.
5008 @item wl-score-files-dir
5009 @vindex wl-score-files-dir
5010 The initial setting is "~/.elmo/".
5011 The default directory for score files.
5013 @item wl-score-interactive-default-score
5014 @vindex wl-score-interactive-default-score
5015 The initial setting is 1000.
5016 This value is used as a score when a score factor is nil in the score
5018 It is also used in @code{wl-summary-increase-score} and
5019 @code{wl-summary-lower-score}, on condition that the value of
5020 @code{wl-score-header-default-entry} is nil.
5022 @item wl-score-expiry-days
5023 @vindex wl-score-expiry-days
5024 The initial setting is 7.
5025 This is the number of days before time-limited scores are deleted.
5027 @item wl-score-update-entry-dates
5028 @vindex wl-score-update-entry-dates
5029 The initial setting is t.
5030 If non-nil, it enables deletion of time-limited scores.
5032 @item wl-score-header-default-entry
5033 @vindex wl-score-header-default-entry
5034 Specifies the default value for each header field for score entries
5035 created by @code{wl-summary-increase-score},
5036 @code{wl-summary-lower-score}, and @code{wl-score-edit-insert-entry}.
5038 @item wl-score-simplify-fuzzy-regexp
5039 @vindex wl-score-simplify-fuzzy-regexp
5040 In the case of a type of a score entry is "fuzzy", this specifies a
5041 regular expression to be deleted from the string.
5042 Because this is usually used for Subject, the default is prefixes that
5043 are attached by mailing list programs.
5045 @item wl-summary-rescore-partial-threshold
5046 @vindex wl-summary-rescore-partial-threshold
5047 The initial setting is 200.
5048 When sync-all or rescan is executed, if there are messages more than
5049 this value, only the last same number of messages as this value are
5052 @item wl-summary-auto-sync-marks
5053 @vindex wl-summary-auto-sync-marks
5054 If non-nil, unread/important marks are synchronized when the summary
5056 Unread marks reflect information on the IMAP4 server.
5057 Important marks reflect information on the IMAP4 server (flagged or
5058 not), and contents of 'mark folder.
5059 The initial setting is t.
5063 @node Score File Format, , Score Commands, Scoring
5064 @section Score File Format
5065 @cindex Score File Format
5067 The format of score files are the same as Gnus, and basically you can
5068 use Gnus score files as they are. But they are not fully compatible
5069 because some keys are not supported and there are Wanderlust specifics.
5073 ("for sale" -1000 nil s)
5074 ("profit" -1000 nil s))
5076 ("spam@@spamspamspam" -10000 nil s))
5078 ("my@@address" 3001 nil s))
5080 (1000000 -10 nil >))
5089 If the key is a string, it is the name of the header to be matched.
5090 The following keys are available:
5091 @code{Subject}, @code{From}, @code{Date}, @code{Message-ID},
5092 @code{References}, @code{To}, @code{Cc}, @code{Chars}, @code{Lines},
5093 @code{Xref}, @code{Extra}, @code{Followup}, @code{Thread}
5094 @code{Chars} and @code{Lines} mean the size and the number of lines of
5095 the message, respectively. @code{Extra}, @code{Followup}, @code{Thread}
5096 are described later.
5097 The rest corresponds the field of the same name.
5099 Arbitrary numbers of core entries are specified after the key.
5100 Each score entry consists of these five factors:
5104 A factor that matches header. This should be a number in the cases of
5105 "lines" and "chars", otherwise a string.
5108 A score factor. When the first item matches, the score of the message
5109 is increased or decreased by this value.
5112 A time limiting factor. If nil, the score is permanent, and in the case
5113 of a number, the score is deleted if it does not match for days
5114 (@code{wl-score-expiry-days}) from the date specified by this.
5115 The date is since Dec. 31, 1 B.C.
5118 A type factor. This specifies the way the first factor matches.
5119 Available types depend on keys.
5122 @item From, Subject, References, Message-ID
5123 For these keys in string, @code{r} and @code{R} (regexp),
5124 @code{s} and @code{S} (substring), @code{e} and @code{E} (exact match),
5125 as well as @code{f} and @code{F} (fuzzy) can be used.
5126 @code{R}, @code{S}, @code{E}, and @code{F} are case sensitive.
5129 For these keys, the following five numerical relative operators can be
5130 used: @code{<}, @code{>}, @code{=}, @code{>=}, @code{<=}.
5133 This key matches @code{From} header, and scores all follow-ups to the
5135 For example, it would be useful for increasing scores for follow-ups to
5138 You can use the same types as @code{From} except for @code{f}.
5139 And a @samp{Followup} entry is automatically appended to the score file.
5142 This key scores (sub-)threads beginning with @code{Message-ID} @var{x}.
5143 A @samp{Thread} entry is automatically appended for each article that
5144 has @var{x} in the @code{References} header.
5145 You can make sure the whole thread including messages that does not have
5146 all ancestors @code{Message-ID} in @code{References} is scored.
5148 You can use the same types as @code{References} except for @code{f}.
5149 And a @samp{Thread} entry is automatically appended to the score file.
5153 A factor for extension header. This is meaningful only if the key is
5155 This specifies headers to be matched other than standard headers like
5156 @code{Subject} and @code{From}.
5157 Note that you should specify the header in
5158 @code{elmo-msgdb-extra-fields} also.
5159 Therefore it does not work in folders where extension headers cannot be
5164 The sum of these scores @emph{after all factors are applied} becomes the
5165 score of the message.
5167 @cindex Score File Atoms
5169 Messages with a score less than this value is marked as read.
5170 The default is @code{wl-summary-mark-below}.
5173 Messages with a score less than this value is deleted from the summary.
5174 The default is @code{wl-summary-expunge-below}.
5176 @item mark-and-expunge
5177 Both @code{mark} and @code{expunge} are applied,
5178 i.e. messages with a score less than this value is marked as read and
5179 deleted from the summary.
5182 Messages with a score greater than this value is attached with temp
5184 The default is @code{wl-summary-temp-above}.
5187 Messages with a score greater than this value is attached with important
5189 The default is @code{wl-summary-important-above}.
5194 Not to mention the @code{extra} key, if @code{lines} or @code{xref} keys
5195 are used, you need to set @code{elmo-msgdb-extra-fields}.
5198 (setq elmo-msgdb-extra-fields '("lines" "xref"))
5201 There are other restrictions as shown below:
5204 @item Because @samp{References} field in the summary information
5205 contains only the last @samp{Message-ID}, @code{references} key matches
5209 Keys that can be seen by folder of types:
5212 chars lines xref extra
5213 localdir,localnews Y E E E
5214 nntp (supporting xover) Y E E N
5220 N: cannot be seen (ignored)
5221 E: can be seen with @code{elmo-msgdb-extra-fields} settings
5228 @node Customization, Mailing List, Scoring, Top
5229 @chapter Customizing Wanderlust
5230 @cindex Customization
5233 * Living with other packages:: Living with other packages
5234 * Highlights:: Highlights
5235 * Advanced Settings:: Advanced Settings
5236 * Customizable Variables:: Customizable Variables
5240 @node Living with other packages, Highlights, Customization, Customization
5241 @section Living with other packages
5243 Examples with other packages.
5247 * supercite:: supercite.el
5248 * mu-cite:: mu-cite.el
5249 * x-face-mule:: x-face-mule.el
5250 * dired-dd:: dired-dd.el
5254 @node BBDB, supercite, Living with other packages, Living with other packages
5258 Place @file{util/bbdb-wl.el} on the load-path and do the following
5261 If BBDB is on the load-path at the installation, @file{bbdb-wl.el} is
5262 byte-compiled and installed.
5269 ;; @r{enable pop-ups}
5270 (setq bbdb-use-pop-up t)
5271 ;; @r{auto collection}
5272 (setq bbdb/mail-auto-create-p t)
5273 (setq signature-use-bbdb t)
5274 (setq bbdb-north-american-phone-numbers-p nil)
5275 ;; @r{shows the name of bbdb in the summary} :-)
5276 (setq wl-summary-from-func 'bbdb-wl-from-func)
5277 ;; @r{automatically add mailing list fields}
5278 (add-hook 'bbdb-notice-hook 'bbdb-auto-notes-hook)
5279 (setq bbdb-auto-notes-alist '(("X-ML-Name" (".*$" ML 0))))
5282 @node supercite, mu-cite, BBDB, Living with other packages
5283 @subsection sc.el(supercite), sc-register.el
5287 The same setting as usual mailers should be OK. The following is an
5288 example of settings.
5291 (autoload 'sc-cite-original "sc" nil t)
5292 (setq mail-yank-hooks 'sc-cite-original)
5293 (setq sc-preferred-header-style 1)
5294 (setq sc-electric-references-p nil)
5295 (setq sc-citation-leader "")
5296 (setq sc-load-hook '(lambda () (require 'sc-register)))
5297 (setq sc-preferred-attribution 'registeredname)
5301 @node mu-cite, x-face-mule, supercite, Living with other packages
5302 @subsection mu-cite.el
5305 The same setting as usual mailers should be OK. The following is an
5306 example of settings.
5308 If you use mu-cite version 8.0 or earlier:
5311 (autoload 'mu-cite/cite-original "mu-cite" nil t)
5312 (setq mail-citation-hook 'mu-cite/cite-original)
5315 If you use mu-cite version 8.1 or later:
5318 (autoload 'mu-cite-original "mu-cite" nil t)
5319 (add-hook 'mail-citation-hook (function mu-cite-original))
5322 @node x-face-mule, dired-dd, mu-cite, Living with other packages
5323 @subsection x-face-mule.el
5327 It depends on the version of x-face-mule.
5328 If you use x-face-mule 0.19 or older, do the following:
5331 (setq wl-highlight-x-face-func
5334 (x-face-mule:x-face-decode-message-header))))
5336 If you use x-face-mule 0.20 or later, try the following.
5338 (setq wl-highlight-x-face-func
5341 (x-face-mule-x-face-decode-message-header))))
5342 (require 'x-face-mule)
5345 Use these settings when you use @file{x-face-mule.el} attached to
5346 bitmap-mule 8.0 or later.
5349 (autoload 'x-face-decode-message-header "x-face-mule")
5350 (setq wl-highlight-x-face-func
5351 (function x-face-decode-message-header))
5354 If there is an encoded X-Face string in a file @file{~/.xface} (the value
5355 of the variable @code{wl-x-face-file}), it is inserted as a X-Face field
5356 in the draft buffer (if @code{wl-auto-insert-x-face} is non-nil).
5359 @node dired-dd, , x-face-mule, Living with other packages
5360 @subsection dired-dd(Dired-DragDrop)
5361 @pindex Dired-DragDrop
5363 @cindex Drag and Drop
5365 If you embed @file{dired-dd-mime.el} in the dired-dd package, you can
5366 compose multi-part by simple Drag&Drop from dired to the draft buffer
5367 being edited in GNU Emacs (this feature is not Wanderlust specific, but
5368 general-purpose for tm/SEMI).
5371 ;; @r{dired-dd:} http://www.asahi-net.or.jp/~pi9s-nnb/dired-dd-home.html
5377 ;; @r{Set dired-x variables here.}
5378 ;; @r{To and flo@dots{}}
5380 (progn (require 'dired-dd)
5381 (require 'dired-dd-mime))))))
5385 @node Highlights, Advanced Settings, Living with other packages, Customization
5388 @subsection Customizable Variables
5391 @item wl-summary-highlight
5392 @vindex wl-summary-highlight
5393 The initial setting is t.
5394 If non-nil, the summary is highlighted.
5396 @item wl-highlight-max-summary-lines
5397 @vindex wl-highlight-max-summary-lines
5398 The initial setting is 10000.
5399 The summary is not highlighted if it has more lines than this value.
5401 @item wl-summary-highlight-partial-threshold
5402 @vindex wl-summary-highlight-partial-threshold
5403 The initial setting is 1000.
5404 This is a threshold whether the whole summary is highlighted.
5405 If there are more lines of messages in the summary, it is partially
5408 @item wl-summary-partial-highlight-above-lines
5409 @vindex wl-summary-partial-highlight-above-lines
5410 The initial setting is 30.
5411 If there are more lines of messages than
5412 @code{wl-summary-highlight-partial-threshold} in the summary, messages
5413 after the point that is the same number of lines as this value above the
5414 cursor line are highlighted partially.
5415 (If this value is nil, the last same number of lines as the value of
5416 @code{wl-summary-highlight-partial-threshold} are highlighted.)
5418 @item wl-highlight-body-too
5419 @vindex wl-highlight-body-too
5420 The initial setting is t.
5421 If non-nil, bodies of drafts and messages are also highlighted.
5423 @item wl-highlight-message-header-alist
5424 @vindex wl-highlight-message-header-alist
5425 When highlighting headers of drafts and messages, this variable
5426 specifies which faces are allocated to important
5427 (@code{wl-highlight-message-important-header-contents}), secondly
5428 important (@code{wl-highlight-message-important-header-contents2}), and
5429 unimportant (@code{wl-highlight-message-unimportant-header-contents})
5431 Similarly, it can be used for allocating arbitrary faces to arbitrary
5432 regular expressions.
5434 @item wl-highlight-citation-prefix-regexp
5435 @vindex wl-highlight-citation-prefix-regexp
5436 Specifies a regular expression to which quoted lines in bodies of
5437 drafts and messages match.
5438 Bodies matching to this regular expression are highlighted by the faces
5439 specified by (@code{wl-highlight-message-cited-text-*}).
5441 @item wl-highlight-highlight-citation-too
5442 @vindex wl-highlight-highlight-citation-too
5443 The initial setting is nil.
5444 If non-nil, the quoting regular expression itself given by
5445 @code{wl-highlight-citation-prefix-regexp} is also highlighted.
5447 @item wl-highlight-citation-header-regexp
5448 @vindex wl-highlight-citation-header-regexp
5449 Specifies a regular expression that denotes beginning of quotation.
5450 Bodies matching to this regular expression are highlighted by the face
5451 specified by @code{wl-highlight-message-headers}.
5453 @item wl-highlight-max-message-size
5454 @vindex wl-highlight-max-message-size
5455 The initial setting is 10000.
5456 If a message is larger than this value, it will not be highlighted.
5457 With this variable, highlight is suppressed for uuencode or huge digest
5460 @item wl-highlight-signature-separator
5461 @vindex wl-highlight-signature-separator
5462 Specifies regular expressions that denotes the boundary of a signature.
5463 It can be a regular expression, or a list of ones.
5464 Messages after the place that matches this regular expression are
5465 highlighted by the face specified by
5466 @code{wl-highlight-message-signature}.
5468 @item wl-max-signature-size
5469 @vindex wl-max-signature-size
5470 The initial setting is 400.
5471 This is the largest size for a signature to be highlighted.
5473 @item wl-use-highlight-mouse-line
5474 @vindex wl-use-highlight-mouse-line
5475 The initial setting is t.
5476 If non-nil, the line pointed by the mouse is highlighted in the folder
5477 mode, summary mode, and the like.
5480 @subsection Setting Colors and Fonts of the Characters
5482 If you want to change colors or fonts of the characters, you need to
5483 modify faces defined in Wanderlust. Use set-face-font if you want to
5484 change fonts, and set-face-foreground for colors, and so on.
5485 You cannot write face settings in @file{.emacs}; write in @file{~/.wl}.
5487 For example, if you want to change the color for signatures to yellow,
5491 (set-face-foreground 'wl-highlight-message-signature "yellow")
5497 Faces defined in Wanderlust:
5500 @item wl-highlight-message-headers
5501 The face for field names of message headers.
5503 @item wl-highlight-message-header-contents
5504 The face for field bodies of message headers.
5506 @item wl-highlight-message-important-header-contents
5507 The face for important parts of message headers.
5508 Per default, this face is used for a body of Subject field.
5509 You can change its value by editing
5510 @code{wl-highlight-message-header-alist}.
5512 @item wl-highlight-message-important-header-contents2
5513 The face for secondly important parts of message headers.
5514 Per default, this face is used for bodies of From and To fields.
5515 You can change its value by editing
5516 @code{wl-highlight-message-header-alist}.
5518 @item wl-highlight-message-unimportant-header-contents
5519 The face for unimportant parts of message headers.
5520 Per default, this face is used for bodies of X- fields User-Agent fields.
5521 You can change its value by editing
5522 @code{wl-highlight-message-header-alist}.
5524 @item wl-highlight-message-citation-header
5525 The face for headers of quoted messages.
5527 @item wl-highlight-message-cited-text-*
5528 The face for texts of quoted messages.
5529 The last "*" is a single figure so that 10 different colors can be used
5530 according to citation levels.
5532 @item wl-highlight-message-signature
5533 The face for signatures of messages.
5534 The initial settings are khaki for light background colors, and
5535 DarkSlateBlue for dark background colors.
5537 @item wl-highlight-header-separator-face
5538 The face for header separators of draft messages.
5540 @item wl-highlight-summary-important-face
5541 The face for message lines with important marks in the summary.
5543 @item wl-highlight-summary-new-face
5544 The face for message lines with new marks in the summary.
5546 @item wl-highlight-summary-displaying-face
5547 The face for the message line that is currently displayed.
5548 This face is overlaid.
5550 @item wl-highlight-thread-indent-face
5551 The face for the threads that is currently displayed.
5553 @item wl-highlight-summary-unread-face
5554 The face for message lines with unread marks in the summary.
5556 @item wl-highlight-summary-deleted-face
5557 The face for message lines with delete marks in the summary.
5559 @item wl-highlight-summary-refiled-face
5560 The face for message lines with re-file marks in the summary.
5562 @item wl-highlight-refile-destination-face
5563 The face for re-file information part of message lines with re-file
5564 marks in the summary.
5566 @item wl-highlight-summary-copied-face
5567 The face for message lines with copy marks in the summary.
5569 @item wl-highlight-summary-target-face
5570 The face for message lines with temp marks @samp{*} in the summary.
5572 @item wl-highlight-summary-thread-top-face
5573 The face for message lines that are on the top of the thread in the
5576 @item wl-highlight-summary-normal-face
5577 The face for message lines that are not on top of the thread in the
5580 @item wl-highlight-folder-unknown-face
5581 The face for folders that are not known to have how many unsync messages
5584 @item wl-highlight-folder-zero-face
5585 The face for folders that have no unsync messages in the folder mode.
5587 @item wl-highlight-folder-few-face
5588 The face for folders that have some unsync messages in the folder mode.
5590 @item wl-highlight-folder-many-face
5591 The face for folders that have many unsync messages in the folder mode.
5592 The boundary between `some' and `many' is specified by the variable
5593 @code{wl-folder-many-unsync-threshold}.
5595 @item wl-highlight-folder-unread-face
5596 The face for folders that have no unsync but unread messages in the
5599 @item wl-highlight-folder-killed-face
5600 The face for folders that are deleted from the access group in the
5603 @item wl-highlight-folder-opened-face
5604 The face for open groups in the folder mode.
5605 It is meaningful when @code{wl-highlight-group-folder-by-numbers} is nil.
5607 @item wl-highlight-folder-closed-face
5608 The face for close groups in the folder mode.
5609 It is meaningful when @code{wl-highlight-group-folder-by-numbers} is nil.
5611 @item wl-highlight-folder-path-face
5612 The face for the path to the currently selected folder in the folder
5615 @item wl-highlight-logo-face
5616 The face for logo in the demo.
5618 @item wl-highlight-demo-face
5619 The face for strings (for example, a version number) in the demo.
5622 @node Advanced Settings, Customizable Variables, Highlights, Customization
5623 @section Advanced Settings
5626 * Draft for Reply:: Draft for Reply
5627 * Thread Format:: Appearance of Thread
5628 * User-Agent Header:: User-Agent Header
5632 @node Draft for Reply, Thread Format, Advanced Settings, Advanced Settings
5633 @subsection Draft for Replay
5635 If you want, when you replying to articles in mailing lists, the address
5636 in Reply-To field of the original message to be prepared to To field of
5637 the reply draft by simply pressing @kbd{a} in the summary mode, try the
5641 (setq wl-draft-reply-without-argument-list
5642 '(("Mail-Followup-To" . (("Mail-Followup-To") nil ("Newsgroups")))
5643 ("Followup-To" . (nil nil ("Followup-To")))
5644 (("X-ML-Name" "Reply-To") . (("Reply-To") nil nil))
5645 ("From" . (("From") ("To" "Cc") ("Newsgroups")))))
5649 (Only if there are both of "X-ML-Name" and "Reply-To" fields in the
5650 original message, Reply-To: field in the original is copied to To:
5653 @node Thread Format, User-Agent Header, Draft for Reply, Advanced Settings
5654 @subsection Appearance of Threads
5657 389 09/18(Fri)01:07 [ Teranishi ] wl-0.6.3
5658 390 09/18(Fri)07:25 +-[ Tsumura-san ]
5659 391 09/18(Fri)19:24 +-[ Murata-san ]
5660 392 09/20(Sun)21:49 +-[ Okunishi-san ]
5661 396 09/20(Sun)22:11 | +-[ Tsumura-san ]
5662 398 09/21(Mon)00:17 | +-[ Tsumura-san ]
5663 408 09/21(Mon)22:37 | +-[ Okunishi-san ]
5664 411 09/22(Tue)01:34 | +-[ Tsumura-san ]
5665 412 09/22(Tue)09:28 | +-[ Teranishi ]
5666 415 09/22(Tue)11:52 | +-[ Tsumura-san ]
5667 416 09/22(Tue)12:38 | +-[ Teranishi ]
5668 395 09/20(Sun)21:49 +-[ Okunishi-san ]
5669 397 09/21(Mon)00:15 +-[ Okunishi-san ]
5672 Settings to make appearance of threads like shown above:
5675 (setq wl-thread-indent-level 2)
5676 (setq wl-thread-have-younger-brother-str "+")
5677 (setq wl-thread-youngest-child-str "+")
5678 (setq wl-thread-vertical-str "|")
5679 (setq wl-thread-horizontal-str "-")
5680 (setq wl-thread-space-str " ")
5683 If you do not want to see branches, do the following:
5686 (setq wl-thread-indent-level 2)
5687 (setq wl-thread-have-younger-brother-str " ")
5688 (setq wl-thread-youngest-child-str " ")
5689 (setq wl-thread-vertical-str " ")
5690 (setq wl-thread-horizontal-str " ")
5691 (setq wl-thread-space-str " ")
5695 @node User-Agent Header, , Thread Format, Advanced Settings
5696 @subsection User-Agent
5698 If you are eccentric enough to elaborate X-Mailer or User-Agent fields,
5699 define a function that inserts appropriate strings as you like, and set
5700 it to @code{wl-generate-mailer-string-func}.
5702 The following is an example.
5705 (setq wl-generate-mailer-string-func
5708 (concat "X-Mailer: "
5709 (format "%s/%s (%s)" wl-appname wl-version wl-codename)))))
5712 @node Customizable Variables, , Advanced Settings, Customization
5713 @section Customizable Variables
5715 Customizable variables that have not been described yet:
5718 @item wl-default-folder
5719 @vindex wl-default-folder
5720 The initial setting is "%inbox". This is the default value for moving to
5721 a folder and the like.
5723 @item wl-draft-folder
5724 @vindex wl-draft-folder
5725 The initial setting is "+draft". It is the folder to which drafts are
5726 saved. It must be a localdir folder.
5728 @item wl-trash-folder
5729 @vindex wl-trash-folder
5730 The initial setting is "+trash". It is the wastebasket folder.
5731 If you changed this variable, you had better restart Wanderlust.
5733 @item wl-interactive-exit
5734 @vindex wl-interactive-exit
5735 The initial setting is t.
5736 If non-nil, you are asked for confirmation when Wanderlust terminates.
5738 @item wl-interactive-send
5739 @vindex wl-interactive-send
5740 The initial setting is nil.
5741 If non-nil, you are asked for confirmation when mail is sent.
5743 @item wl-folder-sync-range-alist
5744 @vindex wl-folder-sync-range-alist
5745 The initial setting is the list shown below:
5748 ("^\\+draft$\\|^\\+queue$" . "all"))
5750 This is an associative list of regular expressions of folder names and
5751 update range of the summary.
5752 Update range is one of the "all", "update", "rescan", "rescan-noscore", "first"
5753 and "last". If a folder do not match, "update" is used.
5756 @vindex wl-ask-range
5757 The initial setting is t.
5758 If nil, the value of @code{wl-folder-sync-range-alist} is used for
5759 updating the summary when you changed folders.
5761 @item wl-mime-charset
5762 @vindex wl-mime-charset
5763 The initial setting is 'x-ctext.
5764 This is the MIME charset for messages that are not MIME (e.g. without
5765 Content-Type). This value also used as default charset for summary.
5766 (If you want to share Summary on Nemacs and other Emacsen,
5767 set this value as 'iso-2022-jp.)
5769 @item wl-search-mime-charset
5770 @vindex wl-search-mime-charset
5771 The initial setting is 'iso-2022-jp.
5772 This is used as a MIME charset for searching.
5774 @item wl-highlight-folder-with-icon
5775 @vindex wl-highlight-folder-with-icon
5776 This is meaningful for XEmacs only. The initial setting depends on
5777 XEmacs (t for XEmacs with icons).
5779 @item wl-strict-diff-folders
5780 @vindex wl-strict-diff-folders
5781 This is a list of regular expressions of folders.
5782 Unread messages are checked, for example when you press @kbd{s} in
5783 the folder mode, usually in a brief way (rapidly processed but not
5785 The folders matching this variable are seriously checked.
5786 You may want to set this variable so as to match conditional filter
5787 folders for IMAP4 folders.
5788 The initial setting is nil.
5790 @item wl-folder-use-server-diff
5791 @vindex wl-folder-use-server-diff
5792 When unread messages are checked, for example when you press @kbd{s} in
5793 the folder mode, usually (the number of messages on the server) - (the
5794 number of local messages) will be the number of unread messages.
5795 However, if this variable is non-nil, the number of unread messages on
5796 the server is checked. This affects IMAP4 folders only, but IMAP4
5797 folders in mail boxes matching
5798 @code{elmo-imap4-disuse-server-flag-mailbox-regexp} are not checked for
5799 the number of unread messages on the server, even if they matches this
5800 variable. The initial setting is t.
5802 @item wl-auto-check-folder-name
5803 @vindex wl-auto-check-folder-name
5804 The initial setting is nil.
5805 If non-nil, the folder with the name of the value is checked for unread
5806 messages at the start.
5807 If it is 'none, no folders are checked.
5808 If it is a list, all folders in the list are checked at the start.
5810 @item wl-auto-uncheck-folder-list
5811 @vindex wl-auto-uncheck-folder-list
5812 The initial setting is '("\\$.*").
5813 Folders with the name matching this variable are not checked for unread
5814 messages at the start, even if they are included in the groups in
5815 @code{wl-auto-check-folder-name}.
5817 @item wl-auto-check-folder-list
5818 @vindex wl-auto-check-folder-list
5819 The initial setting is nil.
5820 Folders with the name matching this variable are always checked for
5821 unread messages at the start, if they are included in the groups in
5822 @code{wl-auto-check-folder-name}.
5823 This takes precedence over @code{wl-auto-uncheck-folder-list}.
5825 @item wl-no-save-folder-list
5826 @vindex wl-no-save-folder-list
5827 The initial setting is '("^/.*$").
5828 This is a list of regular expressions of folders not to be saved.
5830 @item wl-save-folder-list
5831 @vindex wl-save-folder-list
5832 The initial setting is nil.
5833 This is a list of regular expressions of folders to be saved.
5834 This takes precedence over @code{wl-no-save-folder-list}.
5836 @item wl-folder-mime-charset-alist
5837 @vindex wl-folder-mime-charset-alist
5838 The initial setting is the list shown below:
5841 '(("^-alt\\.chinese" . big5)
5842 ("^-relcom\\." . koi8-r)
5844 ("^-han\\." . euc-kr)
5848 This is an associative list of regular expressions of folder names and
5850 If a folder do not match, @code{wl-mime-charset} is used.
5852 @item wl-folder-init-load-access-folders
5853 @vindex wl-folder-init-load-access-folders
5854 The initial setting is nil.
5855 This is a list of access groups to be loaded specifically at the start.
5856 If it is nil, @code{wl-folder-init-no-load-access-folders} is referred.
5858 @item wl-folder-init-no-load-access-folders
5859 @vindex wl-folder-init-no-load-access-folders
5860 The initial setting is nil.
5861 This is a list of access groups not to be loaded specifically at the
5863 It is ignored if @code{wl-folder-init-load-access-folders} is non-nil.
5865 @item wl-delete-folder-alist
5866 @vindex wl-delete-folder-alist
5867 The initial setting is '(("^-" . remove)).
5868 This list determines disposition of messages with delete marks.
5869 Each item in the list is a folder and destination; you can specify any
5870 one of the following in the place of destination:
5873 'remove or 'null : deletes the messages instantly.
5874 string : moves the messages to the specific folder.
5875 'trash or others : moves the messages to `wl-trash-folder'.
5878 @item wl-refile-policy-alist
5879 @vindex wl-refile-policy-alist
5880 The initial setting is '(("^[-=]" . copy) (".*" . move)).
5881 This list determines whether messages with re-file marks are moved or
5883 Each item in the list is a cons cell of a folder and copy or move.
5885 @item wl-x-face-file
5886 @vindex wl-x-face-file
5887 The initial setting is "~/.xface".
5888 The name of the file that contains encoded X-Face strings.
5891 @item wl-demo-display-logo
5892 @vindex wl-demo-display-logo
5893 If non-nil, bitmap image is shown on the opening demo.
5895 @item elmo-use-database
5896 @vindex elmo-use-database
5897 This is meaningful for XEmacs only. The initial setting depends on
5898 XEmacs (t for XEmacs with dbm).
5899 If non-nil, Message-ID is controlled by dbm.
5901 @item elmo-passwd-alist-file-name
5902 @vindex elmo-passwd-alist-file-name
5903 The initial setting is "passwd".
5904 This is the name of the file in which passwords are saved.
5905 @code{elmo-passwd-alist-save} saves current passwords to the file.
5907 @item elmo-nntp-list-folders-use-cache
5908 @vindex elmo-nntp-list-folders-use-cache
5909 The initial setting is 600 (in seconds).
5910 This is period in seconds during which results of @samp{list} and
5911 @samp{list active} in NNTP are cached. If it is nil, they are not
5914 @item elmo-nntp-max-number-precedes-list-active
5915 @vindex elmo-nntp-max-number-precedes-list-active
5916 The initial setting is nil.
5917 If non-nil, the number of article obtained by @samp{list active} in NNTP
5918 are used as the maximum article number of the folder.
5919 Set this to t if you are using for example INN 2.3 as an NNTP server,
5920 and if the number of read messages is not correct.
5922 @item elmo-nntp-default-use-listgroup
5923 @vindex elmo-nntp-default-use-listgroup
5924 The initial setting is t.
5925 If non-nil, @samp{listgroup} is used for checking the total number of
5927 If it is nil, @samp{group} is used. In the latter case, the processing
5928 will be a little faster at the sacrifice of accuracy.
5930 @item elmo-pop3-send-command-synchronously
5931 @vindex elmo-pop3-send-command-synchronously
5932 The initial setting is nil.
5933 If non-nil, POP3 commands are issued synchronously. Some implementation
5934 of POP3 server fails to get summary information without this setting.
5935 You may have to set this variable to t, if the process hangs while
5938 @item elmo-dop-flush-confirm
5939 @vindex elmo-dop-flush-confirm
5940 The initial setting is t.
5941 If non-nil, you are asked for confirmation if accumulated off-line
5942 operations are executed.
5949 @node Mailing List, Addition, Customization, Top
5950 @chapter Wanderlust Mailing List
5953 Wanderlust Mailing List @t{<wl@@lists.airs.net>}
5956 Topics related to Wanderlust are discussed in the mailing list.
5957 The latest version is also announced there (in Japanese, sorry).
5959 A guide can be obtained automatically by sending mail to
5960 @t{wl-ctl@@lists.airs.net} with the body
5965 Please send bug reports or patches to the mailing list.
5966 You can post to the mailing list even though you are not a member of it.
5968 I would like to express my thanks to the members of the mailing list for
5969 valuable advice and many pieces of code they contributed.
5975 @node Addition, Index, Mailing List, Top
5976 @chapter Additional Information
5978 @section Brief History
5981 1998 3/05 Tried to make a prototype that displays MH messages in threads.
5982 3/10 Made a msgdb mechanism by elisp.
5983 3/26 IMAP and NNTP can be displayed in threads.
5984 4/13 Began to assemble thread display modules as elmo.
5985 5/01 Finished 0.1.0, initial version with many defects.
5986 6/12 I made a slip of the tongue and said I was writing elisp
5987 mailer supporting IMAP
5988 6/16 0.1.3 was announced at tm-ja, elisp ML.
5989 6/22 Thanks to Kitame-san, the mailing list started at northeye.org.
5990 7/01 Support for mm-backend (0.3.0).
5991 8/25 multi folder added (0.5.0).
5992 8/28 filter folder added (0.5.1).
5993 9/10 You can open/close threads (0.6.0).
5994 9/11 fldmgr by Murata-san made editing folders easy.
5995 9/18 lha folders added by Okunishi-san (0.6.3).
5996 9/24 Display of branches of threads (0.6.5).
5997 9/28 Compression folder supporting multiple archivers by Okunishi-san.
5998 10/28 Off-line operations (0.7.4).
5999 12/09 Becomes beta version.
6000 12/21 wl-expire by Murata-san.
6001 1999 2/03 auto-refile by Tsumura-san.
6002 4/28 wl-template by Murata-san.
6003 5/18 Released 1.0.0 stable.
6004 7/5 Scoring by Murata-san (2.1.0).
6007 See @file{ChangeLog} for details.
6011 According to a dictionary, Wanderlust has the meaning:
6015 n eager longing for or impulse towards travelling in distant lands
6016 [Ger, fr wandern to wander + lust desire, pleasure]
6020 but I had no profound intention.
6021 (if farfetched, IMAP @t{=>} you can read mail anywhere @t{=>} desire to
6024 Elmo is the abbreviation of @samp{Elisp Library for Message
6026 At first I meant the red puppet in the Sesame Street, but you may
6028 Wandering @t{=>} Drifting @t{=>} Guidepost @t{=>} St.@: Elmo's fire @t{=>} elmo.
6032 Each versions has code names (they are almost jokes).
6033 Currently they are picked up alphabetically from the top 40 hits of
6034 U.S. Billboard magazines in 1980s.
6036 (@samp{http://www.summer.com.br/~pfilho/html/top40/index.html})
6039 @node Index, , Addition, Top
6043 * Concept Index:: Concept Index
6044 * Key Index:: Key Index
6045 * Variable Index:: Variable Index
6046 * Function Index:: Function Index
6049 @node Concept Index, Key Index, Index, Index
6050 @unnumberedsec Concept Index
6053 @node Key Index, Variable Index, Concept Index, Index
6054 @unnumberedsec Key Index
6057 @node Variable Index, Function Index, Key Index, Index
6058 @unnumberedsec Variable Index
6061 @node Function Index, , Variable Index, Index
6062 @unnumberedsec Function Index