wl-summary-buffer-elmo-folder))
(elmo-folder-name-internal wl-summary-buffer-elmo-folder)))
(?t (if (eq wl-summary-buffer-view 'thread) "T" "S"))
+ (?m (upcase (symbol-name wl-summary-buffer-display-mime-mode)))
(?n wl-summary-buffer-new-count)
- (?u (+ wl-summary-buffer-new-count
- wl-summary-buffer-unread-count))
+ (?u wl-summary-buffer-unread-count)
(?a (length wl-summary-buffer-number-list)))
"An alist of format specifications that can appear in summary mode-lines.
Each element is a list of following:
%f The folder name.
%t The thread status of the summary ('T' for thread, 'S' for sequential).
+%m The mime analysis status of the summary ('MIME' for MIME ON)
%n The number of new messages.
%u The number of unread messages (includes new messages).
%a The number of all messages."
%~ If the previous spec is not zero-length, replaced with ' '.
If the format string contains the specifiers %( and %), the text between
-them will have the specified number of columns."
+them will have the specified number of columns.
+
+See also variable `wl-summary-width'."
:group 'wl-summary
:type 'string)
(defcustom wl-draft-add-in-reply-to t
"*If non-nil, message-id of the cited message is inserted to the
-in-reply-to field of the current draft."
+in-reply-to field of the current draft.
+Note: default value follows RFC2822."
:type 'boolean
:group 'wl)
(defcustom wl-draft-add-references nil
"*If non-nil, message-id of the cited message is inserted to the
-references field of the current draft."
+references field of the current draft.
+Note: default value follows RFC2822."
:type 'boolean
:group 'wl)
:group 'wl
:group 'wl-setting)
+(defcustom wl-smtp-authenticate-realm nil
+ "*SMTP Authentication realm.
+If you don't need to specify realm, set as nil."
+ :type '(choice (const :tag "none" nil)
+ string)
+ :group 'wl
+ :group 'wl-setting)
+
(defcustom wl-pop-before-smtp-user nil
"*POP3 user name to send mail using POP-before-SMTP.
If nil, `elmo-pop3-default-user' is used.
reasons of system internal to accord facilities for the Emacs variants.")
(defvar wl-hook nil
"A hook called when Wanderlust is invoked.")
-(defvar wl-reply-hook nil
- "A hook called when replied.")
+
+(defvar wl-draft-reply-hook
+ '((lambda () (wl-draft-setup-parent-flag 'answered)))
+ "A hook called when replied.
+This hook runs on the draft buffer.")
+
+(defvar wl-draft-forward-hook
+ '((lambda () (wl-draft-setup-parent-flag 'forwarded)))
+ "A hook called when forwarded.
+This hook runs on the draft buffer.")
+
+(defvar wl-draft-kill-pre-hook nil
+ "A hook called just before the draft buffer is killed.")
+
+(defvar wl-summary-reply-hook nil
+ "A hook called when `wl-summary-reply' is called.
+This hook runs on the summary buffer.")
+
+(defvar wl-summary-forward-hook nil
+ "A hook called when `wl-summary-forward' is called.
+This hook runs on the summary buffer.")
+
+(defvar wl-summary-resend-hook nil
+ "A hook runs on the resent message buffer before sending process starts.")
+
(defvar wl-mail-setup-hook nil
"A hook called when Draft is prepared.")
(defvar wl-draft-reedit-hook '(wl-draft-remove-text-plain-tag)
(defcustom wl-summary-persistent-mark-priority-list '(flag
new
answered
+ forwarded
unread)
- "List of flags reflected with the priority to persistent marks and faces."
- :type '(repeat (radio (const :format "%v " new)
- (const :format "%v " flag)
- (const :format "%v " answered)
- (const :format "%v " unread)))
+ "List of preserved flag symbols to define the priority to map \
+to the persistent mark.
+Special symbol `flag' means the user defined flag."
+ :type '(repeat (symbol :tag "preserved flag"))
:group 'wl-summary)
(defcustom wl-summary-flag-alist
'((important "orange"))
- "An alist to define the flags for the summary mode.
+ "An alist to define the global flags for the summary mode.
Each element is a form like:
\(SYMBOL-OF-FLAG COLOR [MARK]\)
Example:
(const :tag "Default mark" nil))))
:group 'wl-summary)
+(defcustom wl-summary-uncached-mark "!"
+ "Mark for uncached message with no flag."
+ :type '(string :tag "Mark")
+ :group 'wl-summary-marks)
+
(defcustom wl-summary-new-uncached-mark "N"
"Mark for new and uncached message."
:type '(string :tag "Mark")
:group 'wl-summary-marks)
-(defcustom wl-summary-new-cached-mark "?"
+(defcustom wl-summary-new-cached-mark "n"
"Mark for new but already cached message."
:type '(string :tag "Mark")
:group 'wl-summary-marks)
:type '(string :tag "Mark")
:group 'wl-summary-marks)
-(defcustom wl-summary-unread-cached-mark "!"
+(defcustom wl-summary-unread-cached-mark "u"
"Mark for unread but already cached message."
:type '(string :tag "Mark")
:group 'wl-summary-marks)
-(defcustom wl-summary-read-uncached-mark "u"
- "Mark for read but uncached message."
- :type '(string :tag "Mark")
- :group 'wl-summary-marks)
-
-(defcustom wl-summary-answered-cached-mark "&"
+(defcustom wl-summary-answered-cached-mark "a"
"Mark for answered and cached message."
:type '(string :tag "Mark")
:group 'wl-summary-marks)
:group 'wl-summary-marks)
(defcustom wl-summary-no-mime-folder-list nil
- "*All folders that match this list don't analysis mime."
+ "*All folders that match this list don't analyze mime."
:type '(repeat string)
:group 'wl-summary)
+(defcustom wl-summary-display-mime-mode-list '(mime as-is)
+ "*Display mime mode list toggled by `wl-summary-toggle-mime'.
+Candidates are following:
+`mime' ... header and body are decoded
+`header-only' ... only header is decoded
+`as-is' ... header and body are not decoded"
+ :type '(repeat (choice (const :tag "MIME" mime)
+ (const :tag "HEADER-ONLY" header-only)
+ (const :tag "AS-IS" as-is)))
+ :group 'wl-summary)
+
(defcustom wl-summary-fix-timezone nil
"*Time zone of the date string in summary mode.
If nil, it is adjust to the default time zone information
(const "Newsgroups")
(const "Subject")
(string :tag "Header Name")))
+ (const :tag "Top of body" body)
+ (const :tag "Bottom of body" bottom)
+ (const :tag "Top of header" top)
(const "To")
(const "Newsgroups")
(const "Subject")
'((?f (if (memq 'modeline wl-use-folder-petname)
(wl-folder-get-petname wl-message-buffer-cur-folder)
wl-message-buffer-cur-folder))
+ (?m (upcase (symbol-name
+ (wl-message-display-type-property
+ wl-message-buffer-cur-display-type
+ :mime))))
(?F wl-message-buffer-flag-indicator)
(?n wl-message-buffer-cur-number))
"An alist of format specifications for message buffer's mode-lines.
SPEC is a character for format specification.
STRING-EXP is an expression to get string to insert.")
-(defcustom wl-message-mode-line-format "Wanderlust: << %f / %n %F>>"
+(defcustom wl-message-mode-line-format "Wanderlust: << %f / %n %F>> [%m]"
"*A format string for message buffer's mode-line of Wanderlust.
It may include any of the following format specifications
which are replaced by the given information:
%f The folder name.
%n The number of the message.
+%m The MIME analysis status.
%F The global flag indicator."
:group 'wl-pref
:type 'string)
(defcustom wl-message-header-button-alist
(` (("^\\(References\\|Message-Id\\|In-Reply-To\\):"
- "<[^>]+>"
+ "<[^>\n ]+>"
0 wl-message-button-refer-article 0)
("^[^:]+:"
"\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)"
(defcustom wl-message-body-button-alist
'(("<mailto:[^>]+>" 0 'ignore 0 1024)
- ("<[^>]+@[^>]+>" 0 wl-message-button-refer-article 0 1024))
+ ("<[^>\n ]+@[^>\n ]+>" 0 wl-message-button-refer-article 0 1024))
"Alist of regexps to match buttons in message body."
:type '(repeat
(list regexp
(string :tag "Other"))
:group 'wl-summary)
-(defcustom wl-mime-charset 'x-ctext
+(defcustom wl-mime-charset (if wl-on-mule 'x-ctext 'iso-8859-1)
"*MIME Charset for summary and message."
:type 'symbol
:group 'wl-summary
:type 'regexp
:group 'wl-draft)
+(defcustom wl-auto-save-drafts-interval 1
+ "Idle interval in seconds to save draft buffers automatically.
+If you don't want to use this feature, set this to nil."
+ :type '(choice (const :tag "Don't use this feature" nil)
+ (number :tag "Secs"))
+ :group 'wl-draft)
+
(defcustom wl-draft-preview-attributes t
"Non-nil forces to preview the attributes in the `wl-draft-preview-message'.
Attributes specified in the `wl-draft-preview-attributes-list' are displayed."
(defcustom wl-biff-check-folder-list nil
"All folders that match this list are automatically checked
every intervals specified by wl-biff-check-interval."
- :type '(repeat (regexp :tag "Folder Regexp"))
+ :type '(repeat (regexp :tag "Folder"))
:group 'wl-highlight)
(defcustom wl-biff-check-interval 40
(defcustom wl-summary-move-order 'unread
"*The order of priority when move in summary mode.
-If this variable is `unread', precede \"U\", \"!\", \"N\" mark.
-If this variable is `new', precede \"N\" mark."
+If this variable is `unread', precede \"U\", \"u\", \"N\", \"n\" mark.
+If this variable is `new', precede \"N\", \"n\" mark."
:type '(radio (const new)
(const unread))
:group 'wl-summary
(repeat (regexp :tag "Folder Regexp")))
:group 'wl-pref)
+(defcustom wl-summary-force-prefetch-folder-list nil
+ "All folders that match this list are prefetched.
+Each elements are regexp of folder name."
+ :type '(radio (const :tag "none" nil)
+ (const :tag "all" t)
+ (repeat (regexp :tag "Folder Regexp")))
+ :group 'wl-pref)
+
(defcustom wl-no-save-folder-list '("^/.*$" "^\\[.*$")
"All folders that match this list won't save its msgdb.
Each elements are regexp of folder name."
:group 'wl-pref)
(defcustom wl-folder-sync-range-alist
- (list (cons 'wl-require-update-all-folder-p "all")
- (cons "^'flag" "all"))
+ (list (cons 'wl-require-update-all-folder-p "all"))
"*Default sync range alist. If no matches, `wl-default-sync-range' is used."
:type '(repeat (cons (choice (regexp :tag "Folder Regexp")
(symbol :tag "A function"))