X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=wl%2Fwl-vars.el;h=e851257df7e48f8745bcccd99d795890beb5111b;hb=52061841b6997afec3a3108019c9362c35e4864b;hp=9382d3a04a904efe9b3171fd3590255c5b80c8ef;hpb=995d98d372867536b51b00689b62814f0e012564;p=elisp%2Fwanderlust.git diff --git a/wl/wl-vars.el b/wl/wl-vars.el index 9382d3a..e851257 100644 --- a/wl/wl-vars.el +++ b/wl/wl-vars.el @@ -132,9 +132,9 @@ "*Use SEMI or not.") (defcustom wl-from (and user-mail-address - (concat (and user-full-name + (concat (and (user-full-name) (concat (elmo-address-quote-specials - user-full-name) + (user-full-name)) " ")) "<" user-mail-address ">")) "*From string used in draft." @@ -174,6 +174,140 @@ If you don't have multiple e-mail addresses, you don't have to set this." string) :group 'wl) +(defcustom wl-summary-default-view 'thread + "Default status of summary view, thread or sequential view." + :type '(choice (const :tag "Thread" thread) + (const :tag "Sequential" sequence)) + :group 'wl-summary) + +(defcustom wl-summary-default-view-alist nil + "An alist of regexp for folder name and summary default view. +If no match, `wl-summary-default-view' is used." + :type '(repeat (cons (regexp :tag "Folder Regexp") + (choice (const :tag "Thread" thread) + (const :tag "Sequential" sequence)))) + :group 'wl-summary) + +(defvar wl-summary-mode-line-format-spec-alist + '((?f (if (memq 'modeline wl-use-folder-petname) + (wl-folder-get-petname (elmo-folder-name-internal + wl-summary-buffer-elmo-folder)) + (elmo-folder-name-internal wl-summary-buffer-elmo-folder))) + (?t (if (eq wl-summary-buffer-view 'thread) "T" "S")) + (?n wl-summary-buffer-new-count) + (?u (+ wl-summary-buffer-new-count + 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: +\(SPEC STRING-EXP) +SPEC is a character for format specification. +STRING-EXP is an expression to get string to insert.") + +(defcustom wl-summary-mode-line-format "Wanderlust: %f {%t}(%n/%u/%a)" + "*A format string for summary mode-line of Wanderlust. +It may include any of the following format specifications +which are replaced by the given information: + +%f The folder name. +%t The thread status of the summary ('T' for thread, 'S' for sequential). +%n The number of new messages. +%u The number of unread messages (includes new messages). +%a The number of all messages." + :group 'wl-summary + :type 'string) + +(defvar wl-summary-line-format-spec-alist + '((?Y (wl-summary-line-year)) + (?M (wl-summary-line-month)) + (?D (wl-summary-line-day)) + (?W (wl-summary-line-day-of-week)) + (?h (wl-summary-line-hour)) + (?m (wl-summary-line-minute)) + (?\[ (if wl-thr-linked "<" "[")) + (?\] (if wl-thr-linked ">" "]")) + (?t (or wl-thr-indent-string "")) + (?s (wl-summary-line-subject)) + (?S (wl-summary-line-size)) + (?C (if wl-thr-children-number + (concat "[+" (number-to-string wl-thr-children-number) "] ") + (if wl-parent-message-entity + (if wl-thr-linked ">>" ">") + ""))) + (?~ (if (zerop (length wl-line-string)) "" " ")) + (?c (if wl-thr-children-number + (concat "+" (number-to-string wl-thr-children-number) ":") + "")) + (?f (wl-summary-line-from)) + (?# (wl-summary-line-list-info)) + (?l (wl-summary-line-list-count)) + (?T (or wl-temp-mark " ")) + (?P (or wl-persistent-mark " ")) + (?n (wl-summary-line-number)) + (?@ (wl-summary-line-attached))) + "An alist of format specifications that can appear in summary lines. +Each element is a list of following: +\(SPEC STRING-EXP) +SPEC is a character for format specification. +STRING-EXP is an expression to get string to insert.") + +(defcustom wl-summary-line-format "%n%T%P%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s" + "*A default format string for summary line of Wanderlust. +It may include any of the following format specifications +which are replaced by the given information: + +%n The number of the message. + The width is decided using `wl-summary-default-number-column' and + `wl-summary-number-column-alist'. +%T The temporal mark (*, D, o, O). +%P The persistent mark (status of the message). +%Y The year of the date field of the message (zero padded). +%M The month of the date field of the message (zero padded). +%D The day of the date field of the message (zero padded). +%W The weekday name of the date field of the message (zero padded). +%h The hour of the date field of the message (zero padded). +%m The minute of the date field of the message (zero padded). +%[ An open bracket. If the message thread is linked, + it is replaced with '<'. +%] A close bracket. If the message thread is linked, + it is replaced with '>'. +%c The children number of the closed message thread. + Children number is printed like '+??:'. +%C The children number of the closed message thread. + Children number is printed like '[+??] '. + If the message is opened, '>' or '>>' (linked) is displayed. +%f The from: field string of the message. +%s The subject: field string of the message. +%S The size of the message (if available). +%~ 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." + :group 'wl-summary + :type 'string) + +(defcustom wl-folder-summary-line-format-alist nil + "An alist of folder name and a summary line format. +If no match, `wl-summary-line-format' is used. +e.x. + '((\"^%\" . \"%n%T%P%M/%D(%W)%h:%m %t%[%14(%c %f%) %](%S) %s\") + (\"^@2ch\" . \"%n%T%P%M%/%D/%h:%m %t[%9(%c %f%) ]%s\")))" + :type '(repeat (cons (regexp :tag "Folder Regexp") + (string :tag "line format"))) + :group 'wl-summary) + +(defcustom wl-summary-check-line-format t + "*Check summary line format change if non-nil. +When summary line format is changed, current summary cache is discarded. +It is highly recommended to set this value to t." + :type 'boolean + :group 'wl-summary) + +(defcustom wl-summary-line-format-file ".wl-summary-line-format" + "*Cache file for summary line format." + :type 'file + :group 'wl-summary) + (defcustom wl-summary-from-function 'wl-summary-default-from "*A function for displaying sender (From: field) information." :type 'function @@ -191,8 +325,10 @@ If you don't have multiple e-mail addresses, you don't have to set this." (defcustom wl-summary-search-parent-by-subject-regexp "^[ \t]*\\(\\[[^:]+[,: ][0-9]+\\]\\)?[ \t]*re[\\^[:> ]" "*If message does not have in-reply-to field nor references field and - subject matches this regexp, search parent message by subject matching." - :type 'string +subject matches this regexp, search parent message by subject matching. +If nil, never search search parent by subject." + :type '(choice string + (const :tag "Don't search parent" nil)) :group 'wl-summary) ;; Important folders @@ -245,6 +381,11 @@ If file exists and `wl-auto-insert-x-face' is non-nil." :type 'file :group 'wl-draft) +(defcustom wl-draft-write-file-function 'wl-draft-save + "Save function for draft message." + :type 'function + :group 'wl-draft) + (defcustom wl-subscribed-mailing-list nil "*Subscribed mailing list. You had better set this variable if you set 'wl-insert-mail-followup-to' as t." @@ -265,6 +406,12 @@ If nil, `wl-from' is used." :group 'wl :group 'wl-setting) +(defcustom wl-draft-additional-header-alist nil + "*Additional headers in the draft." + :type '(repeat (cons (symbol :tag "Field Name") + (choice (string :tag "String") + (function :tag "Function"))))) + (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." @@ -333,7 +480,7 @@ If nil, don't authenticate." "*POP3 user name to send mail using POP-before-SMTP. If nil, `elmo-pop3-default-user' is used. To use POP-before-SMTP, -\(setq wl-draft-send-mail-function 'wl-draft-send-mail-with-pop-before-smtp\)" +\(setq wl-draft-send-mail-function 'wl-draft-send-mail-with-pop-before-smtp)" :type '(choice (const :tag "none" nil) string) :group 'wl @@ -397,6 +544,33 @@ If nil, `elmo-nntp-default-port' is used." If nil, `elmo-nntp-default-stream-type' is used." :type 'boolean :group 'wl) +(defcustom wl-nntp-posting-function 'elmo-nntp-post + "A function to post news. +Prepared candidate is 'elmo-nntp-post." + :type '(radio (function-item elmo-nntp-post) + (function :tag "Other")) + :group 'wl-draft) +(defcustom wl-nntp-posting-config-alist nil + "*Alist of configuration on nntp posting. +ex. +'((\",?local.test\" . \"news.media.kyoto-u.ac.jp\") + (\",?ku\\.\" . + ((server . \"news.media.kyoto-u.ac.jp\") + (user . \"newsmaster\") + (port . 119) + (function . elmo-nntp-post)) + (\".*\" . \"newsfeed.kuee.kyoto-u.ac.jp\")))" + :type '(repeat (cons (sexp :tag "Match") + (choice (string :tag "Server") + (repeat :inlie t + (cons (choice (const server) + (const user) + (const port) + (const stream-type) + (const function)) + (sexp :tag "Value")))))) + :group 'wl-draft + :group 'wl-setting) (defcustom wl-prefetch-confirm t "*Confirm prefetching if message size is larger than `wl-prefetch-threshold'." @@ -413,11 +587,6 @@ when `wl-prefetch-confirm' is non-nil." :group 'wl-pref :group 'wl-setting) -(defcustom wl-cache-prefetch-threshold 30000 - "*Quit forward cache prefetching if message size is larger than this value." - :type 'integer - :group 'wl-pref) - (defcustom wl-thread-insert-opened nil "*Non-nil forces to insert thread as opened in updating." :type 'boolean @@ -476,8 +645,9 @@ reasons of system internal to accord facilities for the Emacs variants.") "A hook called when replied.") (defvar wl-mail-setup-hook nil "A hook called when Draft is prepared.") -(defvar wl-draft-reedit-hook nil - "A hook called when Draft is re-edited.") +(defvar wl-draft-reedit-hook '(wl-draft-remove-text-plain-tag) + "A hook called when Draft is re-edited. +The cursor point is located at top of the body.") (defvar wl-draft-send-hook '(wl-draft-config-exec) "A hook called on the draft editing buffer before sending process starts.") (defvar wl-mail-send-pre-hook nil @@ -574,30 +744,11 @@ Prepared candidates are 'wl-draft-send-mail-with-smtp, :group 'wl-draft) (defcustom wl-draft-reply-with-argument-list - '(("Reply-To" . (("Reply-To") nil nil)) - ("Mail-Reply-To" . (("Mail-Reply-To") nil nil)) - ("From" . (("From") nil nil))) + '(("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. -'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. -Default is for 'reply-to-author'." - :type '(repeat (cons (choice (string :tag "Field Name") - (repeat (string :tag "Field Name"))) - (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-reply-without-argument-list - '(("Followup-To" . (nil nil ("Followup-To"))) - ("Mail-Followup-To" . (("Mail-Followup-To") nil ("Newsgroups"))) - ("Reply-To" . (("Reply-To") ("To" "Cc" "From") ("Newsgroups"))) - ("From" . (("From") ("To" "Cc") ("Newsgroups")))) - "Alist of cons cell of -('field-name' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) +\('field-name' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) 'field-name' is a string. 'fields for ***' is a list of strings. If car of each cons cell exists in original message, @@ -610,35 +761,20 @@ Default is for 'reply-to-all'." (repeat :tag "Fields For Newsgroups" string)))) :group 'wl-draft) -(defcustom wl-draft-reply-myself-with-argument-list - '(("Followup-To" . (("To") ("Cc") ("Followup-To"))) - ("Newsgroups" . (("To") ("Cc") ("Newsgroups"))) - ("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. -'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. -Default is for 'reply-to-me'." - :type '(repeat (cons (choice (string :tag "Field Name") - (repeat (string :tag "Field Name"))) - (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-reply-myself-without-argument-list - '(("Followup-To" . (("To") ("Cc") ("Followup-To"))) - ("Newsgroups" . (("To") ("Cc") ("Newsgroups"))) - ("From" . (("To") ("Cc") nil))) +(defcustom wl-draft-reply-without-argument-list + '(("Followup-To" . (("Mail-Followup-To" "Mail-Reply-To" "Reply-To") nil ("Followup-To"))) + ("Mail-Followup-To" . (("Mail-Followup-To") nil nil)) + ("Newsgroups" . (("Mail-Reply-To" "Reply-To" "To") ("Cc") ("Newsgroups"))) + ("Mail-Reply-To" . (("Mail-Reply-To" "Reply-To") ("To" "Cc") nil)) + ("Reply-To" . (("Reply-To") ("To" "Cc") nil)) + (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' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) 'field-name' is a string. '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. -Default is for 'followup-to-me'." +cdr of each cons cell is used for draft message." :type '(repeat (cons (choice (string :tag "Field Name") (repeat (string :tag "Field Name"))) (list (repeat :tag "Fields For To" string) @@ -698,9 +834,10 @@ Default is for 'followup-to-me'." :type 'file :group 'wl) -(defcustom wl-ldap-server "localhost" +(defcustom wl-ldap-server nil "*LDAP server." - :type '(string :tag "Server") + :type '(choice (const :tag "Default server(localhost)" nil) + (string :tag "Server")) :group 'wl :group 'wl-setting) @@ -711,15 +848,10 @@ Default is for 'followup-to-me'." :group 'wl :group 'wl-setting) -(defcustom wl-ldap-base "c=US" +(defcustom wl-ldap-base nil "*LDAP base." - :type '(string :tag "Base") - :group 'wl - :group 'wl-setting) - -(defcustom wl-ldap-objectclass "person" - "*LDAP objectclass." - :type 'string + :type '(choice (const :tag "Default base" nil) + (string :tag "Base")) :group 'wl :group 'wl-setting) @@ -772,8 +904,7 @@ Default is for 'followup-to-me'." :type '(string :tag "Mark") :group 'wl-summary-marks) -(defcustom wl-summary-no-mime-folder-list - (list (concat "^" (regexp-quote wl-draft-folder) "$")) +(defcustom wl-summary-no-mime-folder-list nil "*All folders that match this list don't analysis mime." :type '(repeat string) :group 'wl-summary) @@ -781,7 +912,7 @@ Default is for 'followup-to-me'." (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 -\(system's default time zone or environment variable TZ\)." +\(system's default time zone or environment variable TZ)." :type '(choice (const :tag "Default time zone" nil) string) :group 'wl-summary) @@ -933,21 +1064,55 @@ This can either be a regular expression or list of regular expressions." :group 'wl-score) (defcustom wl-draft-fields - '("To:" "Cc:" "Bcc:" "FCC:" "Distribution:" "Organization:" + '("To:" "Cc:" "Bcc:" "Fcc:" "Distribution:" "Organization:" "Newsgroups:" "Followup-To:" "Mail-Followup-To:" "From:" "Reply-To:") "Fields used in draft mode." :type '(repeat (string :tag "Field")) :group 'wl-draft) +;; MIME Bcc. +(defcustom wl-draft-mime-bcc-field-name "Ecc" + "Field name for MIME-encapsulated Bcc." + :type '(string :tag "Field Name") + :group 'wl-draft) + +(defcustom wl-draft-mime-bcc-body nil + "Body string for MIME-encapsulated Bcc. +If nil, a string `This is a blind carbon copy.' is used." + :type '(string :tag "Body") + :group 'wl-draft) + +(defcustom wl-draft-disable-bcc-for-mime-bcc t + "Disable Bcc while MIME-encapsulated Bcc." + :type 'boolean + :group 'wl-draft) + +(defcustom wl-draft-disable-fcc-for-mime-bcc t + "Disable Fcc while MIME-encapsulated Bcc." + :type 'boolean + :group 'wl-draft) + (defcustom wl-draft-config-alist nil - "Alist of configuration field on draft. + "Alist of condition and actions for dynamical draft modification. +First element of each list is some condition for the draft buffer (regular +expression for header or elisp expression) and remaining elements indicate +actions. +If the first element is `reply' keyword, the next element be the condition +for the message being replied, and remaining elements are actions. + +The configuration is applied when `wl-draft-config-exec' is called, or +applied automatically before sending message. + ex. '((\"^To: .*wl@lists.airs.net\" - (\"From\" . wl-from2) - (\"Organization\" . wl-organization2)) - (\"^To: .*hogehoge@\" - (\"From\" . \"Anonymous \") - wl-my-draft-config-func-hoge))" + (\"From\" . my-from-address-for-wl-list) + (\"Organization\" . my-organization-for-wl-list)) + (reply + \"^To: .*hogehoge@aaa.ne.jp\" + (\"From\" . \"Alternative Address \") + my-draft-config-function-hogehoge)) + +See also variable `wl-draft-parent-folder'." :type '(repeat (list (sexp :tag "Match") (repeat :inline t @@ -1031,10 +1196,49 @@ ex. :group 'wl-draft :group 'wl-pref) +(defcustom wl-draft-buffer-style 'full + "Style of draft buffer except for `wl-summary-reply' and `wl-summary-forward' +'keep is to use current window, 'full is to use full frame window and +'split is to split current window. +If it is a function, it is called with the draft buffer as an argument." + :type '(choice (const :tag "Keep window" keep) + (const :tag "Split window" split) + (const :tag "Full window" full) + (sexp :tag "Use Function")) + :group 'wl-draft) + (defcustom wl-draft-reply-buffer-style 'split - "'split or 'full." - :type '(radio (const split) - (const full)) + "Style of draft buffer for `wl-summary-reply' and `wl-summary-forward' +'keep is to use message buffer window, 'full is to use full frame window and +'split is to split message buffer window. +If it is a function, it is called with the draft buffer as an argument." + :type '(choice (const :tag "Keep window" keep) + (const :tag "Split window" split) + (const :tag "Full window" full) + (sexp :tag "Use Function")) + :group 'wl-draft) + +(defcustom wl-draft-reply-default-position 'body + "Begining position of reply buffer. +'body means the top of body. +'bottom means the bottom of body. +'top means the top of header. +\"To\", \"Newsgroups\", \"Subject\" means the position of the header field. +You can also set it to a list of setting. +" + :type '(choice (repeat + (choice + (const :tag "Top of body" body) + (const :tag "Bottom of body" bottom) + (const :tag "Top of header" top) + (const "To") + (const "Newsgroups") + (const "Subject") + (string :tag "Header Name"))) + (const "To") + (const "Newsgroups") + (const "Subject") + (string :tag "Header Name")) :group 'wl-draft) (defcustom wl-draft-queue-save-variables @@ -1079,8 +1283,7 @@ ex. :group 'wl-summary :group 'wl-highlight) -(defcustom wl-summary-lazy-highlight (and (boundp 'window-scroll-functions) - (not wl-on-xemacs)) +(defcustom wl-summary-lazy-highlight (boundp 'window-scroll-functions) "Non-nil forces lazy summary highlighting using `window-scroll-functions'." :type 'boolean :group 'wl-summary @@ -1167,7 +1370,11 @@ Allowed situations are: :type '(repeat (cons (string :tag "Realname") (string :tag "Petname"))) :group 'wl-folder) -(defcustom wl-summary-weekday-name-lang "ja" +(defcustom wl-summary-weekday-name-lang + (if (and (boundp 'current-language-environment) + (string-equal "Japanese" + (symbol-value 'current-language-environment))) + "ja" "en") "*Language to display week day." :type '(choice (const "ja") (const "en") @@ -1206,6 +1413,27 @@ which appear just before @." :type 'boolean :group 'wl-pref) +(defvar wl-message-mode-line-format-spec-alist + '((?f (if (memq 'modeline wl-use-folder-petname) + (wl-folder-get-petname wl-message-buffer-cur-folder) + wl-message-buffer-cur-folder)) + (?n wl-message-buffer-cur-number)) + "An alist of format specifications for message buffer's mode-lines. +Each element is a list of following: +\(SPEC STRING-EXP) +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 >>" + "*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." + :group 'wl-pref + :type 'string) + (defcustom wl-message-truncate-lines default-truncate-lines "*Truncate lines in Message Buffer." :type 'boolean @@ -1217,9 +1445,10 @@ which appear just before @." :group 'wl-draft :group 'wl-pref) -(defcustom wl-message-scroll-amount 5 +(defcustom wl-message-scroll-amount nil "*Scroll amount by SPC key." - :type 'integer + :type '(choice (const :tag "scrolling by screenfuls" nil) + integer) :group 'wl-pref) (defcustom wl-message-window-size '(1 . 4) @@ -1313,6 +1542,12 @@ Each elements are regexp of field-name." :group 'wl-draft :group 'wl-pref) +(defcustom wl-forward-subject-prefix "Forward: " + "*Prefix of the subject of the forwarded message." + :type 'string + :group 'wl-draft + :group 'wl-pref) + (defcustom wl-draft-reply-use-address-with-full-name t "*Use address with full-name in the draft of replied message." :type 'boolean @@ -1365,6 +1600,13 @@ with wl-highlight-folder-many-face." :group 'wl-summary :group 'wl-pref) +(defcustom wl-summary-max-thread-depth 30 + "*If thread depth of the message is larger than this value, divide it." + :type '(choice (const :tag "Unlimited" nil) + integer) + :group 'wl-summary + :group 'wl-pref) + (defcustom wl-summary-no-from-message "nobody@nowhere?" "*A string displayed in summary when no from field exists." :type 'string @@ -1401,20 +1643,6 @@ with wl-highlight-folder-many-face." (string :tag "Other")) :group 'wl-summary) -(defcustom wl-summary-from-width 17 - "*From width in summary." - :type 'integer - :group 'wl-summary - :group 'wl-pref) - -(defcustom wl-summary-subject-length-limit nil - "*Set subject width in summary when wl-summary-width is nil. -Nil means unlimited" - :type '(choice (const :tag "Unlimited" nil) - integer) - :group 'wl-summary - :group 'wl-pref) - (defcustom wl-mime-charset 'x-ctext "*MIME Charset for summary and message." :type 'symbol @@ -1422,7 +1650,7 @@ Nil means unlimited" :group 'wl-pref) (defcustom wl-generate-mailer-string-function 'wl-generate-user-agent-string - "A function to create X-Mailer field string ." + "A function for creating User-Agent field string." :type 'function :group 'wl-draft) @@ -1455,7 +1683,7 @@ might set this variable to '(\"-f\" \"you@some.where\")." :group 'wl-draft) (defcustom wl-rejected-letter-start - "^[\t ]*-+[\t ]+\\(original\\|\\(\\(the \\)?unsent\\)\\) message\\( follows\\)?[\t ]+-+[\t ]*$" + "^[\t ]*-+[\t ]+\\(\\(original\\|\\(\\(the \\)?unsent\\)\\) message\\( follows\\)?[\t ]+-+[\t ]*\\|Below this line is a copy of the message\\..*\\)$" "Regexp specifying the beginning of the wrapper around a returned letter. This wrapper is generated by the mail system when rejecting a letter." :type 'regexp @@ -1666,6 +1894,12 @@ It uses wl-summary-move-direction-downward as a direction flag." :group 'wl-pref :group 'wl-setting) +(defcustom wl-auto-prefetch-first nil + "*If non-nil, prefetch selected first message when enter summary." + :type 'boolean + :group 'wl-pref + :group 'wl-setting) + (defcustom wl-auto-select-next nil "*If non-nil, offer to go to the next folder from the end of the previous. If the value is the symbol `unread', go to the next folder @@ -1680,7 +1914,12 @@ See also variable `wl-summary-next-no-unread-command'." :group 'wl-pref :group 'wl-setting) -(defcustom wl-message-buffer-prefetch-folder-type-list t +(defcustom wl-message-buffer-name " *WL:Message*" + "*Buffer name for message buffers." + :group 'wl-pref + :group 'wl-setting) + +(defcustom wl-message-buffer-prefetch-folder-type-list '(imap4 nntp) "*All folder types that match this list prefetch next message, and reserved buffer cache." :type `(choice (const :tag "all" t) @@ -1706,16 +1945,21 @@ e.x. :type '(repeat (regexp :tag "Folder Regexp")) :group 'wl-pref) -(defcustom wl-message-buffer-prefetch-depth 3 +(defcustom wl-message-buffer-prefetch-depth 1 "*Depth of buffer prefetch in summary mode." :type 'integer :group 'wl-pref) -(defcustom wl-message-buffer-prefetch-idle-time 0.2 +(defcustom wl-message-buffer-prefetch-idle-time 1 "*Idle time of buffer prefetch." :type 'number :group 'wl-pref) +(defcustom wl-message-buffer-prefetch-threshold 30000 + "*Quit forward cache prefetching if message size is larger than this value." + :type 'integer + :group 'wl-pref) + (defcustom wl-summary-always-sticky-folder-list nil "All folders that match this list has sticky summary. Each elements are regexp of folder name." @@ -1741,7 +1985,8 @@ Each elements are regexp of folder name." ("^-relcom\\." . koi8-r) ("^-tw\\." . big5) ("^-han\\." . euc-kr) - ("@sponichi" . shift_jis)) + ("@sponichi" . shift_jis) + ("@2ch" . shift_jis)) "Charset alist. If no match, `wl-mime-charset' is used." :type '(repeat (cons (regexp :tag "Folder Regexp") (symbol :tag "Charset"))) :group 'wl-summary @@ -1772,7 +2017,7 @@ e.x. ("^-han\\." . (2 "+" "+" "|" "-" " "))) "Thread indent set alist. If no match, following indent set is used. -(wl-thread-indent-level +\(wl-thread-indent-level wl-thread-have-younger-brother-str wl-thread-youngest-child-str wl-thread-vertical-str @@ -1926,8 +2171,8 @@ POLICY is copy or move." :group 'wl-summary :group 'wl-pref) -(defcustom wl-folder-hierarchy-access-folders '("-" "-alt") - "*Access group folders to make hierarchy structure." +(defcustom wl-folder-hierarchy-access-folders '("^-$" "^-alt$") + "*Access group REGEXPs to make hierarchy structure." :type '(repeat (string :tag "Folder")) :group 'wl-folder) @@ -2300,13 +2545,22 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format." (const :tag "bitmap (using BITMAP-MULE)" bitmap)) :group 'wl-pref) +(defcustom wl-invalid-character-message "(WL:Invalid characters.)" + "*A string displayed when invalid character exists." + :type 'string + :group 'wl-pref) + ;;; Internal variables (defvar wl-init nil) ;; For disconnected operations. (defvar wl-plugged-hook nil) (defvar wl-unplugged-hook nil) -(defvar wl-plugged t) +(defcustom wl-plugged t + "*Plugged state at the startup. Nil means off-line." + :type 'boolean + :group 'wl + :group 'wl-setting) ;; Internal variables used to modeline identifiers. (defvar wl-modeline-plug-status nil) @@ -2397,6 +2651,12 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format." ;;;; Obsolete variables. +;; 2002-12-25 +(elmo-define-obsolete-variable 'wl-draft-reply-myself-with-argument-list + 'wl-draft-reply-with-argument-list) +(elmo-define-obsolete-variable 'wl-draft-reply-myself-without-argument-list + 'wl-draft-reply-without-argument-list) + ;; 2001-12-11: *-dir -> *-directory (elmo-define-obsolete-variable 'wl-icon-dir 'wl-icon-directory) @@ -2407,12 +2667,6 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format." (elmo-define-obsolete-variable 'wl-tmp-dir 'wl-temporary-file-directory) -;; 2001-12-07 -(elmo-define-obsolete-variable 'wl-from-width - 'wl-summary-from-width) -(elmo-define-obsolete-variable 'wl-subject-length-limit - 'wl-summary-subject-length-limit) - ;; 2001-12-10 (elmo-define-obsolete-variable 'wl-summary-update-confirm-threshold 'elmo-folder-update-threshold)