X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=doc%2Fwl.texi;h=55ae6d2fa5ca9f1b8058368b58a64d4e50515015;hb=f21b45c308661acbfa4490f8a1ff61a4296bab65;hp=61e9cc127272af76067ae4c64a959c18bc25c932;hpb=1d22d84ca4e3933dbd1319dbfd351b486aa3d063;p=elisp%2Fwanderlust.git diff --git a/doc/wl.texi b/doc/wl.texi index 61e9cc1..55ae6d2 100644 --- a/doc/wl.texi +++ b/doc/wl.texi @@ -119,6 +119,7 @@ This manual is for Wanderlust @value{VERSION}. * Disconnected Operations:: Off-Line management * Expire and Archive:: Automatic expiration and archiving of messages * Scoring:: Score of the messages +* Split messages:: Splitting messages * Address Book:: Management of Address Book * Customization:: Customizing Wanderlust * Terminology:: Terminologies @@ -254,7 +255,7 @@ may help you.}. Recommended combination of APEL, FLIM and SEMI are following: @itemize @minus -@item APEL 10.3, FLIM 1.14.3 and SEMI 1.14.3 +@item APEL 10.4, FLIM 1.14.4 and SEMI 1.14.4 @end itemize You can also use many other FLIM/SEMI variants. Combination of the @@ -262,8 +263,8 @@ latest versions should work. For example, the following combination are confirmed to work. @itemize @minus -@item APEL 10.2, Chao 1.14.1, REMI 1.14.2 -@item APEL 10.2, SLIM 1.14.3, EMY 1.13.9 +@item APEL 10.4, SLIM 1.14.9, SEMI 1.14.4 +@item APEL 10.4, CLIME 1.14.5, EMIKO 1.14.1 @end itemize You have to re-install Wanderlust if you upgraded APEL, FLIM or SEMI. @@ -4130,6 +4131,9 @@ Basically it is Emacs-standard mail mode. @node Editing Header, Editing Message Body, Usage of Draft Mode, Usage of Draft Mode @subsection Editing Message Header +You can freely edit header region above @samp{--text follows this line--}, +until you invoke the sending operation. + Initially, the cursor is at the @samp{To:} field. Fill in recipients addresses. @kbd{@key{TAB}} completes them. @@ -4178,6 +4182,11 @@ the draft when it is prepared. @node Editing Message Body, Dynamical Message Re-arrangement, Editing Header, Usage of Draft Mode @subsection Editing Messages +As a matter of course, editing message body can be performed in the same +way as usual writing. You may write message body under +@samp{--text follows this line--} line. (NOTE: Be sure to leave the line +@samp{--text follows this line--} intact.) + Multi-part editing utilize MIME edit mode of SEMI. For procedures of editing, refer to respective documents. @xref{MIME-Edit, , ,mime-ui-en, a MIME user interface for GNU Emacs}. @@ -5822,7 +5831,7 @@ Needless to say, you can use your own function. @end table -@node Scoring, Address Book, Expire and Archive, Top +@node Scoring, Split messages, Expire and Archive, Top @chapter Score of the Messages @cindex Scoring @c @cindex Kill File @@ -6320,7 +6329,105 @@ pop3 N E E E @end example -@node Address Book, Customization, Scoring, Top +@node Split messages, Address Book, Scoring, Top +@chapter Message splitting +@cindex Split messages + +You can use @code{elmo-split} to split message in folder +@code{elmo-split-folder} a la @command{procmail} according to some +specified rules. To use this feature, set as follows in your +@file{~/.emacs} at first. + +@lisp +(autoload 'elmo-split "elmo-split" "Split messages on the folder." t) +@end lisp + +Then you can invoke @kbd{M-x elmo-split} to split messages according to +@code{elmo-split-rule}. On the other hand, invoke @kbd{C-u M-x elmo-split} +to do a rehearsal (do not split actually). + +We will describe how to specify the rule. First of all, see following +example, please. + +@lisp +@group +(setq elmo-split-rule + ;; @r{Store messages from spammers into @samp{+junk}} + '(((or (address-equal from "i.am@@spammer") + (address-equal from "dull-work@@dull-boy") + (address-equal from "death-march@@software") + (address-equal from "ares@@aon.at") + (address-equal from "get-money@@richman")) + "+junk") + ;; @r{Store messages from mule mailing list into @samp{%mule}} + ((equal x-ml-name "mule") "%mule") + ;; @r{Store messages from wanderlust mailing list into @samp{%wanderlust}} + ;; @r{and continue evaluating following rules} + ((equal x-ml-name "wanderlust") "%wanderlust" continue) + ;; @r{Store messages from Yahoo user into @samp{+yahoo-@{username@}}} + ((match from "\\(.*\\)@@yahoo\\.com") + "+yahoo-\\1") + ;; @r{Store unmatched mails into @samp{+inbox}} + (t "+inbox"))) +@end group +@end lisp + +The basic unit of the rule is a combination like + +@lisp +(@samp{CONDITION} @samp{FOLDER} [@code{continue}]) +@end lisp + +The 1st element @samp{CONDITION} is a balanced expression (sexp). Its +grammar will be explained below. The 2nd element @samp{FOLDER} is the +name of the folder to split messages into. When the 3rd element +@code{continue} is specified as symbol, evaluating rules is not stopped +even when the condition is satisfied. + +The grammar for @samp{CONDITION} is as follows. See example above to +learn how to write the condition practically. + +@enumerate +@item +Functions which accept argument @samp{FIELD-NAME} and @samp{VALUE}. +(@samp{FIELD-NAME} is a symbol that describes the field name) + +@table @code +@item @code{equal} +True if the field value equals to @samp{VALUE}. +Case of the letters are ignored. +@item @code{match} +True if the field value matches to VALUE. +@samp{VALUE} can contain @code{\&} and @code{\N} which will substitute +from matching @code{\(\)} patterns in the previous @samp{VALUE}. +@item @code{address-equal} +True if one of the addresses in the field equals to +@samp{VALUE}. Case of the letters are ignored. +@item @code{address-match} +True if one of the addresses in the field matches to +@samp{VALUE}. +@samp{VALUE} can contain @code{\&} and @code{\N} which will substitute +from matching @code{\(\)} patterns in the previous @samp{VALUE}. +@end table + +@item +Functions which accept any number of arguments. + +@table @code +@item @code{or} +True if one of the argument returns true. +@item @code{and} +True if all of the arguments return true. +@end table + +@item +A symbol. + +When a symbol is specified, it is evaluated. +@end enumerate + + +@node Address Book, Customization, Split messages, Top @chapter Address Book @cindex Address Book