Fixed docstring.
[elisp/wanderlust.git] / wl / wl-vars.el
index e974d64..02cb26a 100644 (file)
@@ -174,6 +174,20 @@ 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 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
@@ -229,7 +243,8 @@ which are replaced by the given information:
     (?l (wl-summary-line-list-count))
     (?T (or wl-temp-mark " "))
     (?P (or wl-persistent-mark " "))
-    (?n (wl-summary-line-number)))
+    (?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\)
@@ -281,6 +296,18 @@ e.x.
                       (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
@@ -298,8 +325,10 @@ e.x.
 
 (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
@@ -510,6 +539,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'."
@@ -686,7 +742,7 @@ Prepared candidates are 'wl-draft-send-mail-with-smtp,
     ("Mail-Reply-To" . (("Mail-Reply-To") nil nil))
     ("From" . (("From") nil 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,
@@ -705,7 +761,7 @@ Default is for 'reply-to-author'."
     ("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,
@@ -723,7 +779,7 @@ Default is for 'reply-to-all'."
     ("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' .  ('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,
@@ -741,7 +797,7 @@ Default is for 'reply-to-me'."
     ("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' .  ('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,
@@ -806,9 +862,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)
 
@@ -819,15 +876,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)
 
@@ -1046,15 +1098,49 @@ This can either be a regular expression or list of regular expressions."
   :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 <hogehoge@aaa.ne.jp>\")
-   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 <hogehoge@aaa.ne.jp>\")
+   my-draft-config-function-hogehoge))
+
+See also variable `wl-draft-parent-folder'."
   :type '(repeat (list (sexp :tag "Match")
                       (repeat
                        :inline t
@@ -1312,6 +1398,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
@@ -1323,9 +1430,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)
@@ -1419,6 +1527,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
@@ -1507,14 +1621,6 @@ with wl-highlight-folder-many-face."
                (string :tag "Other"))
   :group 'wl-summary)
 
-(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
@@ -1555,7 +1661,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
@@ -1786,7 +1892,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)
@@ -1812,12 +1923,12 @@ 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)
@@ -2412,6 +2523,11 @@ 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)
 
@@ -2523,10 +2639,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-subject-length-limit
-                              'wl-summary-subject-length-limit)
-
 ;; 2001-12-10
 (elmo-define-obsolete-variable 'wl-summary-update-confirm-threshold
                               'elmo-folder-update-threshold)