@c %**end of header
@documentlanguage en
@documentencoding us-ascii
-@set VERSION 2.3.92
+@include version.texi
@synindex pg cp
@finalout
This file documents Wanderlust, Yet another message interface on
Emacsen.
-Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi},
+Copyright @copyright{} 1998, 1999, 2000, 2001 @w{Yuuichi Teranishi},
@w{Fujikazu Okunishi}, @w{Masahiro Murata}, @w{Kenichi Okada},
@w{Kaoru Takahashi}, @w{Bun Mizuhara} and @w{Masayuki Osada}.
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1998, 1999, 2000 @w{Yuuichi Teranishi},
+Copyright @copyright{} 1998, 1999, 2000, 2001 @w{Yuuichi Teranishi},
@w{Fujikazu Okunishi}, @w{Masahiro Murata}, @w{Kenichi Okada},
@w{Kaoru Takahashi}, @w{Bun Mizuhara} and @w{Masayuki Osada}.
Wanderlust:
@itemize @bullet
-@item UW imapd 4.1--4.7, 4.7a, 4.7b, 4.7c
-@item Cyrus imapd 1.4, 1.5.19, 1.6.22, 2.0.5
+@item UW imapd 4.1--4.7, 4.7a, 4.7b, 4.7c, 2000 or later
+@item Cyrus imapd 1.4, 1.5.19, 1.6.22, 2.0.5 or later
@item AIR MAIL (AIRC imapd release 2.00)
@item Express Mail
@item Microsoft Exchange Server 5.5
@end group
@end example
-You have to install APEL, FLIM and SEMI in this order. Generally
+You have to install APEL, FLIM and SEMI in this order. Generally,
@samp{make install} will do the job. (In XEmacs 21, @samp{make
install-package}.)
Recommended combination of APEL, FLIM and SEMI are following:
@itemize @minus
-@item APEL 10.2, FLIM 1.13.2 and SEMI 1.13.7
+@item APEL 10.3, FLIM 1.14.2 and SEMI 1.14.3
@end itemize
You can also use many other FLIM/SEMI variants. Combination of the
-latest versions should work. For example, following combination is
+latest versions should work. For example, the following combination are
confirmed to work.
@itemize @minus
(setq wl-icon-dir "~/work/wl/etc")
;; @r{SMTP server for mail posting. Default: @code{nil}}
-(setq wl-smtp-posting-server "your.smtp.server.com")
+(setq wl-smtp-posting-server "your.smtp.example.com")
;; @r{NNTP server for news posting. Default: @code{nil}}
-(setq wl-nntp-posting-server "your.nntp.server.com")
+(setq wl-nntp-posting-server "your.nntp.example.com")
@end group
@end lisp
You can skip this section because it is possible to add/edit the
subscribe folders from the buffer for list of folders.
+@xref{Folder Manager}.
Define the folders you want to subscribe in file @file{~/.folders}. The
contents written in @file{~/.folders} become the folders which you
%inbox "Inbox"
+trash "Trash"
+draft "Drafts"
-%#mh/Backup@@my.imap.server.com "Sent"
+%#mh/Backup@@my.imap.example.com "Sent"
# Folder Group
Emacsen@{
%#mh/spool/wl "Wanderlust ML"
%#mh/spool/elips "ELIPS ML"
%#mh/spool/apel-ja "APEL Japanese ML"
%#mh/spool/xemacs-beta "XEmacs beta"
- -fj.news.reader.gnus@@other.nntp.server.com "Gnus Net news"
+ -fj.news.reader.gnus@@other.nntp.example.com "Gnus Net news"
*-fj.editor.xemacs,-fj.editor.mule,-fj.editor.emacs "fj's Emacsen"
@}
#
You can specify @code{login} (encoded password transmission),
@code{cram-md5} (CRAM-MD5 authentication), @code{digest-md5} (DIGEST-MD5
-authentication) or @code{plain} (or @code{nil}, plain password
+authentication) or @code{clear} (or @code{nil}, plain password
transmission) as @var{authenticate-type}. (To use CRAM-MD5 or
-DIGEST-MD5 authentication, you must install @file{utils/sasl} package.)
+DIGEST-MD5 authentication, you must install @file{utils/sasl} package if FLIM version is earlier than 1.14.0. If FLIM version is 1.14.0 or later, you need not install @file{utils/sasl})
default:
For example, you can specify a folder as @samp{foo%imap@@gateway} even
if you have to go through a firewall.
-SSL (Secure Socket Layer) connection will be used if a folder name
-ends with @samp{!}. Or, if the value of @code{elmo-default-imap4-ssl} is non-nil,
-SSL will be the default connection.
-If a folder name ends with @samp{!!}, STARTTLS connection will be established.
-If the value of @code{elmo-default-imap4-ssl} is 'starttls,
+@lisp
+;; Example: imap4.exaple.org as main IMAP server
+(setq elmo-default-imap4-server "imap4.example.org")
+@end lisp
+
+SSL (Secure Socket Layer) connection will be used if a folder name ends
+with @samp{!}. Or, if the value of @code{elmo-default-imap4-stream-type}
+is @code{ssl}, SSL will be the default connection. If a folder name
+ends with @samp{!!}, STARTTLS connection will be established. If the
+value of @code{elmo-default-imap4-stream-type} is @code{starttls},
STARTTLS will be the default connection.
+@lisp
+;; Example: Use SSL connection
+(setq elmo-default-imap4-stream-type 'ssl)
+@end lisp
+
If you specify @code{login}, @code{cram-md5} or @code{digest-md5} as
authentication method, the password is sent in encoded form. But, if
your server is unable to receive an encoded password, authentication
-will fall back to @code{plain} (that is, sending password in raw format)
+will fall back to @code{clear} (that is, sending password in raw format)
after confirmation to user. If @code{elmo-imap4-force-login} is non-nil,
-authentication will fall back to @code{plain} without confirmation
+authentication will fall back to @code{clear} without confirmation
(default value is @code{nil}).
+@lisp
+;; Example: password in raw format
+(setq elmo-default-imap4-authenticate-type 'clear)
+@end lisp
+
Example:
@example
%#mh/inbox -> IMAP mailbox "#mh/inbox"
%inbox:hoge -> IMAP mailbox "inbox" of user "hoge".
-%inbox:hoge/login@@server1
+%inbox:hoge/clear@@server1
-> server1's IMAP mailbox "inbox"
of user "hoge", with plain password authentication
- ('plain).
+ ('clear).
@end group
@end example
@end example
AUTHINFO is used as authentication method if the @var{username} is non-nil.
-SSL will be default method if @code{elmo-default-nntp-ssl} is non-nil even
+SSL will be default method if @code{elmo-default-nntp-stream-type} is non-nil even
if the folder name doesn't end with @samp{!}.
If a folder name ends with @samp{!!}, STARTTLS connection will be established.
-if the value of @code{elmo-default-nntp-ssl} is @code{starttls},
+if the value of @code{elmo-default-nntp-stream-type} is @code{starttls},
STARTTLS will be the default connection.
Example:
If the last character of the folder name is @samp{!}, Wanderlust
connects to the POP server via SSL (Secure Socket Layer). If you set
-non-nil value to @code{elmo-default-pop-ssl}, you don't have to put
+non-nil value to @code{elmo-default-pop3-stream-type}, you don't have to put
@samp{!} in the end of the folder name to use SSL. If a folder name ends
with @samp{!!}, STARTTLS connection will be established. if the value
-of @code{elmo-default-pop-ssl} is @code{starttls}, STARTTLS will be the
+of @code{elmo-default-pop3-stream-type} is @code{starttls}, STARTTLS will be the
default connection.
@node Multi Folder, Filter Folder, POP Folder, Folders
@item W
@kindex W (Folder)
-@findex wl-folder-write-current-newsgroup
-If the current cursor point is on the NNTP folder,
-create a new draft message which already has newsgroups field.
-(@code{wl-folder-write-current-newsgroup})
+@findex wl-folder-write-current-folder
+If the current cursor point is on the NNTP folder, create a new draft
+message which already has @samp{Newsgroups:} field. If the current
+cursor point is on the folder for mailing list (refile destination),
+create a new draft message which already has @samp{To:} field with
+guessed mailing list adderss (If @code{wl-subscribed-mailing-list} is
+valid list).
+(@code{wl-folder-write-current-folder})
@item C-c C-o
@kindex C-c C-o (Folder)
To operate multipart, you have to enter to the message buffer.
@xref{Message}.
+@subsection Pack the Message Numbers
+You can pack the message numbers in Summary by
+@kbd{M-x wl-summary-pack-number}. Note that only MH Folder,
+News Spool Folder and Maildir Folder are supported folder types.
+
@node Thread Operations, Cache, Usage of Summary Mode, Summary
@section Thread Operations
If you type @kbd{/} key once again, the thread is closed.
With prefix argument, @kbd{/} opens all children threads.
+If you type @kbd{[}, opens all threads in summary. @kbd{]} closes all
+threads.
+
Commands with the key binding that begins with @kbd{t} executes commands
on the messages in the thread.
+@xref{Key Bindings of Summary}.
+
+@subsection reconstruct thread by hand
+
+You can reconstruct the thread manually. In Summary, @kbd{M-w}
+(@code{wl-summary-save-current-message}) at the corresponding message,
+and @kbd{C-y} (@code{wl-summary-yank-saved-message}) at the new parent
+message then you have the reconstructed thread.
@node Cache, Auto Refile, Thread Operations, Summary
@findex wl-summary-down
Move cursor to the downward message which is unread or marked
as @samp{$}.
+In the offline mode, cursor is not moved to the messages which are not cached
+yet.
+If there are messages which have target mark @samp{*} in the summary,
+cursor is moved to the downward message which have a target mark.
+This behavior is changed according to the value of @code{wl-summary-move-order}.
(@code{wl-summary-down})
@item P
@findex wl-summary-up
Move cursor to the upward message which is unread or marked
as @samp{$}.
+In the offline mode, cursor is not moved to the messages which are not cached
+yet.
+If there are messages which have target mark @samp{*} in the summary,
+cursor is moved to the downward message which have a target mark.
+This behavior is changed according to the value of @code{wl-summary-move-order}.
(@code{wl-summary-up})
@item w
@item W
@kindex W (Summary)
-@findex wl-summary-write-current-newsgroup
-Prepare a new draft. If the current folder is netnews folder,
-@samp{Newsgroups:} field is completed.
-(@code{wl-summary-write-current-newsgroup})
+@findex wl-summary-write-current-folder
+Prepare a new draft. If the current folder is NNTP folder,
+@samp{Newsgroups:} field is completed. If the current folder is mailing
+list folder (refile destination), guess @samp{To:} field and completed
+(If @code{wl-subscribed-mailing-list} is valid list)
+(@code{wl-summary-write-current-folder})
@item H
@kindex H (Summary)
moved to one after another. If prefix argument is specified, load draft
folder's message to the draft buffer and jump to it.
(@code{wl-jump-to-draft-buffer})
+
+@item M-w
+@kindex M-w (Summary)
+@findex wl-summary-save-current-message
+Save the message at the current cursor point.
+(@code{wl-summary-save-current-message})
+
+@item C-y
+@kindex C-y (Summary)
+@findex wl-summary-yank-saved-message
+Regard the message at the current cursor point as
+parent, connect the message saved by
+@code{wl-summary-save-current-message}
+to the thread.
+(@code{wl-summary-yank-saved-message})
@end table
displays Deutsch.
@item wl-summary-fix-timezone
-@vindex wl-summary-fix-timezone
-The initial setting is @samp{JST}. Timezone to adjust summary's
-timezone. If @code{nil}, adjust to GMT.
+@vindex wl-summary-fix-timezone
+The initial setting is @samp{nil}.
+Time zone of the date string in summary mode is adjusted using this value.
+If @code{nil}, it is adjust to the default time zone information
+(system's default time zone or environment variable @samp{TZ}).
@item wl-use-petname
@vindex wl-use-petname
@code{wl-summary-jump-to-msg-by-message-id-via-nntp} and search message
from the NNTP server @code{elmo-default-nntp-server}. The value of
@code{elmo-default-nntp-user}, @code{elmo-default-nntp-port},
-@code{elmo-default-nntp-ssl} are used.
+@code{elmo-default-nntp-stream-type} are used.
If @code{confirm}, server name can be specified. You can specify NNTP
folder format like @samp{-:username@@servername:119!}.
@vindex elmo-pop3-use-cache
The initial setting is @code{t}. If non-nil, messages read via POP3 are
cached.
+
+@item wl-folder-process-duplicates-alist
+@vindex wl-folder-process-duplicates-alist
+The initial setting is @code{nil}.
+This list determines how to deal with duplicated messages in the same folder.
+Each item in the list is regexp of folder name and action; you can specify any
+one of the following in the place of action:
+
+@example
+@code{nil} : do nothing for duplicated messages.
+@code{hide} : hide duplicated messages from the summary.
+@code{read} : set duplicated messages as read.
+@end example
+
+@noindent
+Following is an example (hide duplicated messages in multi folders)
+
+@lisp
+@group
+(setq wl-folder-process-duplicates-alist
+ '(("^\\+draft$" . nil) ("^\\+trash$" . nil)
+ ("^\\*.*" . hide) (".*" . read)))
+@end group
+@end lisp
@end table
Initial setting is @code{'(1 . 4)}. It is a cons cell and the ratio of
its car and cdr value corresponds to the ratio of Summary and Message
windows.
+@item wl-message-ignored-field-list
+@vindex wl-message-ignored-field-list
+(SEMI only) Initial setting is nil.
+All fields that match this list will be hidden in message buffer.
+Each elements are regexp of field-name.
+If nil, the value of mime-view-ignored-field-list is used.
+@item wl-message-visible-field-list
+@vindex wl-message-visible-field-list
+(SEMI only) Initial setting is nil.
+All fields that match this list will be hidden in message buffer.
+Each elements are regexp of field-name. This value precedes
+wl-message-ignored-field-list.
+If nil, the value of mime-view-visible-field-list is used.
+@item wl-message-sort-field-list
+@vindex wl-message-sort-field-list
+(SEMI only) Initial setting is
+'("Return-Path" "Received" "^To" "^Cc" "Newsgroups" "Subject" "^From").
+Header fields in message buffer are orderd by this value.
+Each elements are regexp of field-name.
@end table
-
@node Draft, Disconnected Operations, Message, Top
@chapter Draft Buffer
@lisp
@group
(setq wl-draft-config-alist
- '(((string-match "aaa.ne.jp$" (system-name))
+ '(((string-match "aaa.example.com$" (system-name))
;; @r{applied if the expression is non-nil}
(wl-smtp-posting-server . "mailserver-B")
(wl-nntp-posting-server . "newsserver-B")
;; @r{settings of temporary variables}
)
- ("^To: .*user@@aaa.bbb.com"
+ ("^To: .*user@@aaa.bbb.example.com"
;; @r{applied if it matches the header of the draft buffer}
("Organization" . (format "Go %s" my-webpage)))
;; @r{you can write elisp expressions here (eval only)}
@code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked.
Therefore, if you want to apply @code{wl-draft-config-alist} again after
aborting transmission, execute @kbd{C-c C-e}
-(@code{wl-draft-config-exec}).
+(@code{wl-draft-config-exec}) explicitly.
+
+If you don't want to apply @code{wl-draft-config-alist} when
+@code{wl-draft-send-and-exit} or @code{wl-draft-send} is invoked,
+do the following:
+
+@lisp
+(remove-hook 'wl-draft-send-hook 'wl-draft-config-exec)
+@end lisp
If you want to apply @code{wl-draft-config-alist} when a draft buffer is
prepared, do the following:
(add-hook 'wl-mail-setup-hook 'wl-draft-config-exec)
@end lisp
+If you want to apply @code{wl-draft-config-alist} when you re-edit a mail
+from summary mode by typing @kbd{E}(@code{wl-summary-reedit}), do the
+following:
+
+@lisp
+(add-hook 'wl-draft-reedit-hook 'wl-draft-config-exec)
+@end lisp
+
@subsection Inserting Templates
@cindex Template
@cindex Apply Template
(body . "Hello.\n"))
("report"
(template . "default") ;; @r{(a)}
- ("To" . "jousi@@kaisha.jp")
+ ("To" . "boss@@example.com")
("Subject" . "Report")
(body-file . "~/work/report.txt")
)
The POP port number for POP-before-SMTP authentication.
If unset, @code{elmo-default-pop3-port} is used.
-@item wl-pop-before-smtp-ssl
+@item wl-pop-before-smtp-stream-type
If non-nil, POP connection is established using SSL. If
@code{starttls}, STARTTLS (RFC2595) connection will be established. If
-unset, @code{elmo-default-pop3-ssl} is used.
+unset, @code{elmo-default-pop3-stream-type} is used.
@end table
If variables for POP-before-SMTP (@code{wl-pop-before-smtp-*}) are
@item wl-draft-use-cache
@vindex wl-draft-use-cache
-The initial setting is @code{t}.
-If non-nil, cache the message which is sent.
+The initial setting is @code{nil}. If the value is non-nil and
+@code{wl-insert-message-id} is nil, cache the message which is sent.
@item wl-auto-flush-queue
@vindex wl-auto-flush-queue
(with confirmation by @code{y-or-n-p}). If you want to transmit it
manually, press @kbd{F} in the folder mode.
+@item wl-ignored-forwarded-headers
+@vindex wl-ignored-forwarded-headers
+Initial setting is @samp{\\(received\\|return-path\\|x-uidl\\)}.
+All headers that match this regexp will be deleted when forwarding a message.
+
+@item wl-ignored-resent-headers
+Initial setting is @samp{\\(return-receipt\\|[bdf]cc\\)}.
+All headers that match this regexp will be deleted when resending a message.
+
@item wl-draft-always-delete-myself
@vindex wl-draft-always-delete-myself
If non-nil, always removes your own address from @samp{To:} and
@samp{Cc:} when you are replying to the mail addressed to you.
+@item wl-draft-delete-myself-from-bcc-fcc
+@vindex wl-draft-delete-myself-from-bcc-fcc
+If any of @code{wl-subscribed-mailing-list} are contained in @samp{To:}
+or @samp{Cc:} field, do not insert @samp{Bcc:} or @samp{FCC:} field.
+
@item wl-smtp-posting-server
@vindex wl-smtp-posting-server
The initial setting is @code{nil}.
This is the port number of the NNTP server used for news submission.
If @code{nil}, @code{elmo-default-nntp-server} is used.
-@item wl-nntp-posting-ssl
-@vindex wl-nntp-posting-ssl
+@item wl-nntp-posting-stream-type
+@vindex wl-nntp-posting-stream-type
The initial setting is @code{nil}.
-If @code{nil}, @code{elmo-default-nntp-ssl} is evaluated. If non-nil,
+If @code{nil}, @code{elmo-default-nntp-stream-type} is evaluated. If non-nil,
SSL is used for news submission. If @code{starttls}, STARTTLS (RFC2595)
connection will be established.
This is the POP port number for POP-before-SMTP. If it is @code{nil},
@code{elmo-default-pop3-port} is used.
-@item wl-pop-before-smtp-ssl
-@vindex wl-pop-before-smtp-ssl
+@item wl-pop-before-smtp-stream-type
+@vindex wl-pop-before-smtp-stream-type
The initial setting is @code{nil}.
This flag controls the use of SSL for POP-before-SMTP. If it is
-@code{nil}, @code{elmo-default-pop3-ssl} is used. If @code{starttls},
+@code{nil}, @code{elmo-default-pop3-stream-type} is used. If @code{starttls},
STARTTLS (RFC2595) connection will be established.
@item wl-draft-queue-save-variables
@vindex wl-ldap-base
The initial setting is @samp{c=US}.
LDAP search starting point (base) for address completion.
+
+@item wl-draft-remove-group-list-contents
+@vindex wl-draft-remove-group-list-contents
+The initial setting is @code{t}.
+If non-nil, remove the group-lists' members in the recipients when
+sending the message (group-list means the description such as
+@samp{Group: foo@@gohome.org, bar@@gohome.org;} in the recipients).
@end table
@node Disconnected Operations, Expire and Archive, Draft, Top
@item @code{remove}
deletes the messages instantly.
+@item @code{hide}
+hide the messages from summary (messages are not deleted).
+
@item @code{trash}
moves the messages to @code{wl-trash-folder}.
* mu-cite:: mu-cite.el
* x-face-mule:: x-face-mule.el
* dired-dd:: dired-dd.el
+* MHC:: MHC
@end menu
@group
(setq wl-highlight-x-face-func
(function
- (lambda (beg end)
- (x-face-mule:x-face-decode-message-header))))
+ (lambda (&optional beg end)
+ (x-face-mule:x-face-decode-message-header))))
+(require 'x-face-mule)
@end group
@end lisp
@group
(setq wl-highlight-x-face-func
(function
- (lambda (beg end)
- (x-face-mule-x-face-decode-message-header))))
+ (lambda (&optional beg end)
+ (x-face-mule-x-face-decode-message-header))))
(require 'x-face-mule)
@end group
@end lisp
@code{wl-auto-insert-x-face} is non-nil).
-@node dired-dd, , x-face-mule, Living with other packages
+@node dired-dd, MHC, x-face-mule, Living with other packages
@subsection dired-dd(Dired-DragDrop)
@pindex Dired-DragDrop
@pindex Dired-DD
@end group
@end lisp
+@node MHC, , dired-dd, Living with other packages
+@subsection mhc.el
+@pindex MHC
+
+Message Harmonized Calendaring system
+(@uref{http://www.quickhack.net/mhc/})
+
+By using MHC, you can make a calendar from the messages.
+
+For mhc-0.25:
+
+@lisp
+@group
+(setq mhc-mailer-package 'wl)
+(autoload 'mhc-mode "mhc" nil t)
+(add-hook 'wl-summary-mode-hook 'mhc-mode)
+(add-hook 'wl-folder-mode-hook 'mhc-mode)
+@end group
+@end lisp
+
+For mhc-current:
+
+@lisp
+@group
+(autoload 'mhc-wl-setup "mhc-wl")
+(add-hook 'wl-init-hook 'mhc-wl-setup)
+@end group
+@end lisp
@node Highlights, Biff, Living with other packages, Customization
@section Highlights
@item wl-highlight-folder-opened-face
The face for open groups in the folder mode.
-It is meaningful when @code{wl-highlight-group-folder-by-numbers} is
+It is meaningful when @code{wl-highlight-folder-by-numbers} is
@code{nil} or a @var{number}.
@item wl-highlight-folder-closed-face
The face for close groups in the folder mode.
-It is meaningful when @code{wl-highlight-group-folder-by-numbers} is
+It is meaningful when @code{wl-highlight-folder-by-numbers} is
@code{nil} or a @var{number}.
@item wl-highlight-folder-path-face
@vindex wl-biff-check-interval
The initial setting is 40 (in seconds).
Check mail arrival in this period.
+
+@item wl-biff-notify-hook
+@vindex wl-biff-notify-hook
+The initial setting is @code{nil}.
+This is a hook run at the arrival of the new mail.
+To beep, set as:
+@lisp
+(setq wl-biff-notify-hook '(beep))
+@end lisp
@end table
@node Draft for Reply, Thread Format, Advanced Settings, Advanced Settings
@subsection Draft for Replay
+@vindex wl-draft-reply-with-argument-list
+@vindex wl-draft-reply-without-argument-list
+@vindex wl-draft-reply-myself-with-argument-list
+@vindex wl-draft-reply-myself-without-argument-list
If you want, when you replying to articles in mailing lists, the address
in Reply-To field of the original message to be prepared to To field of
Moreover, the behavior of @kbd{a} with prefix argument can
be directed by @code{wl-draft-reply-with-argument-list} as well.
+Note: To set the behavior when you reply to the message written by yourself, use
+@code{wl-draft-reply-myself-without-argument-list} and
+@code{wl-draft-reply-myself-with-argument-list}
+instead of them.
+
@node Thread Format, User-Agent Field, Draft for Reply, Advanced Settings
@subsection Appearance of Threads
7/11 killed message feature.
7/18 Use UIDL in POP3.
9/12 biff feature with Satata-san & Yamaoka-san.
+ 10/17 expire-hide by Okada-san.
+ 11/08 Released 2.4.0 stable.
@end example
See @file{ChangeLog} for details.