X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=wl%2Fwl-vars.el;h=329754ecb0c792adc530daed98345b9e83760106;hb=ec4e50677163a03593169c0d1a1c5ea833ff52df;hp=de39ea0e4037e9a02a0354078df1e01098457162;hpb=1a64541c3e7904c77e1c945af32517398df87fc1;p=elisp%2Fwanderlust.git diff --git a/wl/wl-vars.el b/wl/wl-vars.el index de39ea0..329754e 100644 --- a/wl/wl-vars.el +++ b/wl/wl-vars.el @@ -144,11 +144,20 @@ "*A list of user's mail addresses. This list is used to judge whether an address is user's or not. You should set this variable if you use multiple e-mail addresses. -If you don't have multiple e-mail addresses, you don't have to set this." +If you don't have multiple e-mail addresses, you don't have to set this. +NOTE: Non-nil value of `wl-user-mail-address-regexp' supersede this." :type '(repeat string) :group 'wl :group 'wl-setting) +(defcustom wl-user-mail-address-regexp nil + "*A regexp for user's mail addresses. +Supersede `wl-user-mail-address-list'." + :type '(choice (const :tag "Use wl-user-mail-address-list" nil) + string) + :group 'wl + :group 'wl-setting) + (defcustom wl-organization (getenv "ORGANIZATION") "Organization name." :type '(choice (const :tag "none" nil) @@ -192,9 +201,9 @@ If no match, `wl-summary-default-view' is used." 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: @@ -209,6 +218,7 @@ which are replaced by the given information: %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." @@ -280,7 +290,9 @@ which are replaced by the given information: %~ 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) @@ -406,12 +418,14 @@ EXEC-FUNCTION is a function called to execute the action. Its argument is a list of MARK-INFO. MARK-INFO is a list of (NUMBER MARK DATA). FACE is a face for highlighting." - :type '(repeat (string :tag "Temporary mark") - (symbol :tag "Set mark function") - (symbol :tag "Unset mark function") - (symbol :tag "Exec function") - (symbol :tag "Face symbol") - (string :tag "Document string")) + :type '(repeat (list + (string :tag "Temporary mark") + (symbol :tag "Action name") + (symbol :tag "Argument function") + (symbol :tag "Set mark function") + (symbol :tag "Exec function") + (symbol :tag "Face symbol") + (string :tag "Document string"))) :group 'wl-summary) ;; Important folders @@ -434,7 +448,7 @@ FACE is a face for highlighting." :group 'wl) (defcustom wl-default-spec "%" - "*Default spec" + "*Default prefix for folder name initially added in minibuffer" :type 'string :group 'wl) @@ -498,12 +512,6 @@ You had better set this variable if you set 'wl-insert-mail-followup-to' as t." :type '(repeat (cons symbol function)) :group 'wl-pref) -(defcustom wl-demo-background-color "#d9ffd9" - "The color name for demo background. -If nil, the default face background is used." - :type '(string :tag "Color name") - :group 'wl-pref) - (defcustom wl-envelope-from nil "*Envelope From used in SMTP. If nil, `wl-from' is used." @@ -516,19 +524,22 @@ If nil, `wl-from' is used." "*Additional headers in the draft." :type '(repeat (cons (symbol :tag "Field Name") (choice (string :tag "String") - (function :tag "Function"))))) + (function :tag "Function")))) + :group 'wl-draft) (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) + :group 'wl-draft) (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-draft) (defcustom wl-draft-cite-function 'wl-default-draft-cite "*A function for citation." @@ -546,6 +557,7 @@ references field of the current draft." If nil, default smtp connection type is used." :type '(choice (const :tag "default" nil) (const :tag "Use STARTTLS" starttls) + (const :tag "SMTP over SSL" ssl) symbol) :group 'wl) @@ -577,11 +589,20 @@ If nil, don't authenticate." :type '(choice (const :tag "none" nil) (const :tag "PLAIN" "plain") (const :tag "CRAM-MD5" "cram-md5") + (const :tag "DIGEST-MD5" "digest-md5") (const :tag "LOGIN" "login") (string :tag "Other")) :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. @@ -611,7 +632,8 @@ If nil, `elmo-pop3-default-port' is used." (defcustom wl-pop-before-smtp-stream-type nil "*Stream type for POP-before-SMTP. If nil, `elmo-pop3-default-stream-type' is used." - :type 'boolean + :type '(choice (const :tag "Use `elmo-pop3-default-stream-type'" nil) + symbol) :group 'wl) (defcustom wl-pop-before-smtp-authenticate-type nil @@ -648,7 +670,8 @@ If nil, `elmo-nntp-default-port' is used." (defcustom wl-nntp-posting-stream-type nil "*Stream type for posting Netnews. If nil, `elmo-nntp-default-stream-type' is used." - :type 'boolean + :type '(choice (const :tag "Use `elmo-nntp-default-stream-type'" nil) + symbol) :group 'wl) (defcustom wl-nntp-posting-function 'elmo-nntp-post "A function to post news. @@ -704,6 +727,12 @@ when `wl-prefetch-confirm' is non-nil." :type 'boolean :group 'wl-summary) +(defcustom wl-additional-search-condition-fields nil + "*A list of field name which is used for candidates of search condition." + :type '(repeat (string :tag "Field name")) + :group 'wl-pref + :group 'wl-setting) + ;;;; Hooks (defvar wl-folder-mode-hook nil "A hook called when wanderlust folder mode is started. @@ -747,8 +776,31 @@ the functions `wl-plugged-init-icons' and `wl-biff-init-icons' for 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) @@ -849,19 +901,36 @@ Prepared candidates are 'wl-draft-send-mail-with-smtp, (function :tag "Other")) :group 'wl-draft) +(defcustom wl-draft-send-confirm-type 'y-or-n-p + "*Confirmation type or function to use when send a message." + :type '(choice + (const :tag "y or n with scroll (j/k)" scroll-by-j/k) + (const :tag "y or n with scroll (SPC/BS)" scroll-by-SPC/BS) + (function-item y-or-n-p) + (function-item yes-or-no-p) + (function :tag "Other function")) + :group 'wl-draft) + (defcustom wl-draft-reply-with-argument-list '(("From" . (("Reply-To" "Mail-Reply-To" "From") ("Mail-Followup-To" "To" "Cc") ("Followup-To" "Newsgroups")))) "Alist of cons cell of -\('field-name' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) -'field-name' is a string. +\('condition' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) +'condition' is a header name string (non-nil if the header exists in original +message), a function (evaluated in original message buffer) or a list of those +\(means 'AND' condition). 'fields for ***' is a list of strings. -If car of each cons cell exists in original message, -cdr of each cons cell is used for draft message. +If car of each cons cell returns non-nil value, +cdr of each cons cell is used for preparing headers of draft message. Default is for 'reply-to-all'." :type '(repeat (cons (choice (string :tag "Field Name") - (repeat (string :tag "Field Name"))) + (symbol :tag "Function") + (const :tag "Replying to self" wl-draft-self-reply-p) + (repeat :tag "AND" + (choice (string :tag "Field Name") + (symbol :tag "Function") + (const :tag "Replying to self" wl-draft-self-reply-p)))) (list (repeat :tag "Fields For To" string) (repeat :tag "Fields For Cc" string) (repeat :tag "Fields For Newsgroups" string)))) @@ -876,20 +945,27 @@ Default is for 'reply-to-all'." (wl-draft-self-reply-p . (("To") ("Cc") nil)) ("From" . (("From") ("To" "Cc") nil))) "Alist of cons cell of -\('field-name' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) -'field-name' is a string. +\('condition' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) +'condition' is a header name string (non-nil if the header exists in original +message), a function (evaluated in original message buffer) or a list of those +\(means 'AND' condition). 'fields for ***' is a list of strings. -If car of each cons cell exists in original message, -cdr of each cons cell is used for draft message." +If car of each cons cell returns non-nil value, +cdr of each cons cell is used for preparing headers of draft message." :type '(repeat (cons (choice (string :tag "Field Name") - (repeat (string :tag "Field Name"))) + (symbol :tag "Function") + (const :tag "Replying to self" wl-draft-self-reply-p) + (repeat :tag "AND" + (choice (string :tag "Field Name") + (symbol :tag "Function") + (const :tag "Replying to self" wl-draft-self-reply-p)))) (list (repeat :tag "Fields For To" string) (repeat :tag "Fields For Cc" string) (repeat :tag "Fields For Newsgroups" string)))) :group 'wl-draft) (defcustom wl-draft-always-delete-myself nil - "*Always delete myself from reciepient if non-nil." + "*Always delete myself from recipient if non-nil." :type 'boolean :group 'wl-draft) @@ -977,20 +1053,50 @@ cdr of each cons cell is used for draft message." :type 'boolean :group 'wl-folder) -(defcustom wl-summary-flag-priority-list '(new important answered unread) - "List of flags reflected with the priority to a persistent mark." - :type '(repeat (radio (const :format "%v " new) - (const :format "%v " important) - (const :format "%v " answered) - (const :format "%v " unread))) +(defcustom wl-summary-persistent-mark-priority-list '(killed + flag + new + answered + forwarded + 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 global flags for the summary mode. +Each element is a form like: +\(SYMBOL-OF-FLAG COLOR [MARK]\) +Example: +\((important \"orange\"\) + \(todo \"red\" \"T\"\) + \(business \"green\" \"B\"\) + \(private \"blue\"\)\)" + :type '(repeat (list (symbol :tag "flag") + (string :tag "color") + (choice (string :tag "mark") + (const :tag "Default mark" nil)))) + :group 'wl-summary) + +(defcustom wl-summary-killed-mark "X" + "Mark for killed message." + :type '(string :tag "Mark") + :group 'wl-summary-marks) + +(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) @@ -1000,28 +1106,23 @@ cdr of each cons cell is used for draft message." :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) (defcustom wl-summary-answered-uncached-mark "A" - "Mark for answered but cached message." + "Mark for answered but uncached message." :type '(string :tag "Mark") :group 'wl-summary-marks) -(defcustom wl-summary-important-mark "$" - "Mark for important message." +(defcustom wl-summary-flag-mark "$" + "Mark for the messages which have tags." :type '(string :tag "Mark") :group 'wl-summary-marks) @@ -1036,10 +1137,21 @@ cdr of each cons cell is used for draft message." :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 @@ -1048,6 +1160,12 @@ If nil, it is adjust to the default time zone information string) :group 'wl-summary) +(defcustom wl-summary-message-ring-max 16 + "*Maximum size of message ring on summary buffer. +Start discarding off end if gets this big." + :type 'integer + :group 'wl-summary) + (defcustom wl-summary-default-score 0 "*Default message score level. All scores generated by the score files will be added to this score. @@ -1103,7 +1221,7 @@ In sync-all or rescan." (defcustom wl-score-files-directory (concat elmo-msgdb-directory elmo-path-sep) "*Name of the directory where score files will be stored. -(default \"~/.elmo\")." +\(default \"~/.elmo\")." :type 'directory :group 'wl) @@ -1266,7 +1384,10 @@ See also variable `wl-draft-parent-folder'." :group 'wl-draft) (defcustom wl-template-alist nil - "Alist of template." + "Alist of template. +First element of each list is a string specifies the name of the template. +Remaining elements indicate actions. The format of actions is same as that +of `wl-draft-config-alist'." :type '(repeat (list (string :tag "Name") (repeat :inline t @@ -1367,6 +1488,9 @@ You can also set it to a list of setting. (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") @@ -1392,7 +1516,8 @@ You can also set it to a list of setting. (defcustom wl-draft-sendlog-max-size 20000 "*Max file size of sendlog." - :type 'integer + :type '(choice (const :tag "Unlimited" nil) + integer) :group 'wl-draft) (defcustom wl-summary-default-number-column 5 @@ -1550,6 +1675,11 @@ which appear just before @." :type 'boolean :group 'wl-pref) +(defcustom wl-message-auto-reassemble-message/partial nil + "*Reassemble message/partial messages automatically on show when non-nil." + :type 'boolean + :group 'wl-pref) + (defcustom wl-message-use-header-narrowing t "Use header narrowing when non-nil." :type 'boolean @@ -1574,6 +1704,11 @@ which appear just before @." '((?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. Each element is a list of following: @@ -1581,13 +1716,15 @@ Each element is a list of following: 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 >>" +(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." +%n The number of the message. +%m The MIME analysis status. +%F The global flag indicator." :group 'wl-pref :type 'string) @@ -1622,21 +1759,23 @@ which are replaced by the given information: (defcustom wl-message-ignored-field-list nil "All fields that match this list will be hidden in message buffer. -Each elements are regexp of field-name." +Each elements are regexp of field-name. +You can specify exceptions by `wl-message-visible-field-list'." :type '(repeat (string :tag "Field Regexp")) :group 'wl-pref :group 'wl-setting) (defcustom wl-message-visible-field-list nil "All fields that match this list will be displayed in message buffer. -Each elements are regexp of field-name." +Each elements are regexp of field-name. +This variable overwhelm `wl-message-ignored-field-list' settings." :type '(repeat (string :tag "Field Regexp")) :group 'wl-pref :group 'wl-setting) (defcustom wl-message-header-button-alist (` (("^\\(References\\|Message-Id\\|In-Reply-To\\):" - "<[^>]+>" + "<[^>\n ]+>" 0 wl-message-button-refer-article 0) ("^[^:]+:" "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)" @@ -1654,7 +1793,7 @@ Each elements are regexp of field-name." (defcustom wl-message-body-button-alist '(("]+>" 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 @@ -1694,14 +1833,18 @@ Each elements are regexp of field-name." :group 'wl-pref) (defcustom wl-reply-subject-prefix "Re: " - "*Prefix of the subject of the replied message." - :type 'string + "*Prefix of the subject of the replied message. +The value is string or string valued function to be evalueted in the target +message buffer." + :type '(choice string function) :group 'wl-draft :group 'wl-pref) (defcustom wl-forward-subject-prefix "Forward: " - "*Prefix of the subject of the forwarded message." - :type 'string + "*Prefix of the subject of the forwarded message. +The value is string or string valued function to be evalueted in the target +message buffer." + :type '(choice string function) :group 'wl-draft :group 'wl-pref) @@ -1711,12 +1854,18 @@ Each elements are regexp of field-name." :group 'wl-pref :group 'wl-draft) -(defcustom wl-subject-prefix-regexp "^[ \t]*\\([Rr][Ee][:>][ \t]*\\)*[ \t]*" +(defcustom wl-subject-re-prefix-regexp "^[ \t]*\\([Rr][Ee][:>][ \t]*\\)*[ \t]*" "*Regexp matching \"Re: \" in the subject line." :type 'regexp :group 'wl-draft :group 'wl-pref) +(defcustom wl-subject-forward-prefix-regexp "^[ \t]*\\(\\([Ff][Oo][Rr][Ww][Aa][Rr][Dd]\\|[Ff][Ww][Dd]\\|[Ff][Ww]\\)[:>][ \t]*\\)*[ \t]*" + "*Regexp matching \"Forward: \", \"Fwd: \", or \"Fw: \" in the subject line." + :type 'regexp + :group 'wl-draft + :group 'wl-pref) + (defcustom wl-folder-many-unsync-threshold 70 "*Folders which contains messages more than this number are highlighted with wl-highlight-folder-many-face." @@ -1725,7 +1874,7 @@ with wl-highlight-folder-many-face." :group 'wl-pref) (defcustom wl-fcc nil - "*Folder Carbon Copy." + "*Folder Carbon Copy target initially added at creating draft buffer." :type '(choice (const :tag "disable" nil) string function) :group 'wl-draft @@ -1738,7 +1887,7 @@ with wl-highlight-folder-many-face." :group 'wl-pref) (defcustom wl-bcc nil - "*Blind Carbon Copy." + "*Blind Carbon Copy target initially added at creating draft buffer." :type '(choice (const :tag "disable" nil) string) :group 'wl-draft @@ -1806,7 +1955,7 @@ with wl-highlight-folder-many-face." (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 @@ -1862,27 +2011,41 @@ This wrapper is generated by the mail system when rejecting a letter." :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." :type 'boolean :group 'wl-draft) -(defcustom wl-draft-preview-attributes-list '(recipients - envelope-from - smtp-posting-server - smtp-posting-port) +(defcustom wl-draft-preview-attributes-list '((mail recipients + envelope-from + smtp-posting-server + smtp-posting-port) + (news newsgroups + nntp-posting-server + nntp-posting-port)) "*Attribute symbols to display in the draft preview. Candidates are following: `recipients' `envelope-from' `smtp-posting-server' `smtp-posting-port' +`newsgroups' `nntp-posting-server' `nntp-posting-port' Also variables which begin with `wl-' can be specified \(`wl-' have to be removed\)" - :type '(repeat symbol) + :type '(choice (repeat (cons (choice (const :tag "Mail" mail) + (const :tag "News" news)) + (repeat symbol))) + (repeat symbol)) :group 'wl-draft) (defcustom wl-draft-preview-attributes-buffer-lines 5 @@ -1933,8 +2096,7 @@ the message is skipped at cursor move." (defcustom wl-refile-rule-alist nil "Refile rule alist. e.x. -'( - (\"From\" +'((\"From\" (\"teranisi@isl.ntt.co.jp\" . \"+teranisi\")) (\"x-ml-name\" (\"^Wanderlust\" . \"+wl\") @@ -2007,7 +2169,7 @@ Each elements are regexp of folder name." (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 @@ -2015,6 +2177,11 @@ every intervals specified by wl-biff-check-interval." :type 'integer :group 'wl-highlight) +(defcustom wl-biff-use-idle-timer nil + "Non-nil to use idle timer instead of strict timer for wl-biff" + :type 'boolean + :group 'wl-highlight) + (defcustom wl-biff-state-indicator-on (if (and (featurep 'xemacs) (not (featurep 'mule))) "[Mail]" @@ -2069,8 +2236,8 @@ even if the value of this option is set to nil. Here are some samples: (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 @@ -2111,6 +2278,12 @@ See also variable `wl-summary-next-no-unread-command'." :group 'wl-pref :group 'wl-setting) +(defcustom wl-message-popup-buffers '(mime-echo-buffer-name epa-info-buffer) + "*List of buffer or name which is popped up with message buffer." + :type '(repeat (choice (symbol :tag "Variable") + (string :tag "Buffer name"))) + :group 'wl-setting) + (defcustom wl-message-buffer-name " *WL:Message*" "*Buffer name for message buffers." :group 'wl-pref @@ -2128,7 +2301,7 @@ and reserved buffer cache." (const nntp) (const pop3) (const shimbun) - (const nmz) + (const search) (const archive) (const mark) (const cache))) @@ -2165,6 +2338,14 @@ Each elements are regexp of folder name." (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." @@ -2232,8 +2413,7 @@ e.x. :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")) @@ -2321,11 +2501,23 @@ already existing summary." (defcustom wl-summary-showto-folder-regexp nil "Regexp specifying the folder that shows the To (or Newsgroups) field as -Sender information in summary mode." +Sender information in summary mode. It is effective when the value of +`wl-summary-from-function' is `wl-summary-default-from'" :type '(choice (const :tag "none" nil) regexp) :group 'wl-summary) +(defcustom wl-summary-save-file-suffix ".eml" + "Suffix for the saved file name." + :type 'string + :group 'wl-summary) + +(defcustom wl-summary-resend-use-cache nil + "*Non-nil to enable offline resending by using file cache. +Note that strict message identity is not guaranteed when cache is used." + :type 'boolean + :group 'wl-summary) + (defcustom wl-folder-removed-mark "#" "Mark for removed folder." :type 'string @@ -2360,18 +2552,8 @@ ex. (string :tag "Folder")))) :group 'wl-folder) -(defcustom wl-refile-policy-alist '(("^[-=']" . copy) - (".*" . move)) - "*List of refile policy. Each element is (FOLDER-REGEXP . POLICY). -POLICY is copy or move." - :type '(repeat (cons (regexp :tag "Folder Regexp") - (choice (const copy) - (const move)))) - :group 'wl-summary - :group 'wl-pref) - -(defcustom wl-folder-hierarchy-access-folders '("^-[^\\.]*\\(:\\|@\\|$\\)" - "^@$") +(defcustom wl-folder-hierarchy-access-folders '("^-[^.]*\\(:\\|@\\|$\\)" + "^@$" "^'$") "*Access group REGEXPs to make hierarchy structure." :type '(repeat (string :tag "Regexp")) :group 'wl-folder) @@ -2513,7 +2695,7 @@ ex. :group 'wl-expire) (defcustom wl-summary-expire-reserve-marks - (list wl-summary-important-mark + (list wl-summary-flag-mark wl-summary-new-uncached-mark wl-summary-new-cached-mark wl-summary-unread-uncached-mark @@ -2700,8 +2882,12 @@ This variable can also be a regex." :type 'boolean :group 'wl-highlight) -(defcustom wl-use-flag-folder-help-echo nil - "*Display help-echo in the flag folder if non-nil." +(defcustom wl-highlight-summary-line-help-echo-alist + '((flag wl-highlight-flag-folder-help-echo) + (search elmo-message-file-name)) + "*Alist to display help-echo in summary buffer. +Each element is (folder-type handler(function)). +Handler take two arguments elmo-folder and message number and return string." :type 'boolean :group 'wl-highlight) @@ -2713,6 +2899,7 @@ This variable can also be a regex." "*Highlight folder with icon(XEmacs or Emacs 21)." :type 'boolean :group 'wl-highlight) + (defcustom wl-highlight-folder-by-numbers t "Highlight folder lines by numbers. If it is a number, only numbers will be highlighted." @@ -2755,6 +2942,41 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format." :type 'string :group 'wl-pref) +(defcustom wl-use-pgp-module + (condition-case nil + (progn + (require 'epg-config) + (epg-check-configuration (epg-configuration)) + 'epg) + (error 'pgg)) + "*Which PGG library to be used." + :type '(choice (const :tag "EasyPG Library" epg) + (const :tag "PGG Library" pgg) + (const :tag "Don't use PGP" nil)) + :group 'wl-pref) + +(defcustom wl-display-progress-threshold + '((wl-folder-insert-entity . 100) + (elmo-retrieve-message . 3000) + (t . 20)) + "*Displaying progress message if number of total are more than this value." + :type '(choice (const :tag "No display" nil) + (const :tag "No limitation" 0) + (integer :tag "For all") + (repeat :tag "Each label" + (cons (choice (const :tag "Default" t) + (symbol :tag "Label")) + (choice (const :tag "No display" nil) + (const :tag "No limitation" 0) + (integer :tag "Threshold"))))) + :group 'wl-pref) + +(defcustom wl-display-progress-function #'wl-simple-display-progress + "*A function to display progress message" + :type '(choice (const :tag "No display" nil) + (function :tag "Function")) + :group 'wl-pref) + ;;; Internal variables (defvar wl-init nil) @@ -2814,12 +3036,16 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format." "*Icon file for archive folder.") (defvar wl-pipe-folder-icon "pipe.xpm" "*Icon file for pipe folder.") -(defvar wl-nmz-folder-icon "nmz.xpm" - "*Icon file for namazu folder.") +(defvar wl-search-folder-icon "nmz.xpm" + "*Icon file for search folder.") (defvar wl-shimbun-folder-icon "shimbun.xpm" "*Icon file for shimbun folder.") +(defvar wl-file-folder-icon "file.xpm" + "*Icon file for file folder.") (defvar wl-maildir-folder-icon "maildir.xpm" "*Icon file for maildir folder.") +(defvar wl-access-folder-icon "access.xpm" + "*Icon file for access folder.") (defvar wl-empty-trash-folder-icon "trash-e.xpm" "*Icon file for emptied trash folder.") (defvar wl-trash-folder-icon "trash.xpm" @@ -2853,6 +3079,10 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format." ;;;; Obsolete variables. +;; 2005-01-23 +(elmo-define-obsolete-variable 'wl-nmz-folder-icon + 'wl-search-folder-icon) + ;; 2003-11-05 (elmo-define-obsolete-variable 'wl-summary-new-mark 'wl-summary-new-uncached-mark)