This commit was manufactured by cvs2svn to create branch 'elmo-imap4-new-
[elisp/wanderlust.git] / wl / wl-vars.el
index 1f91f9c..568be98 100644 (file)
 (defgroup wl nil
   "Wanderlust, a news and mail reading software."
   :tag "Wanderlust"
-  :link (` (custom-manual
-           (, (if (and (boundp 'current-language-environment)
-                       (string-equal "Japanese"
-                                     (symbol-value 'current-language-environment)))
-                  "(wl-ja)Top"
-                "(wl)Top"))))
+  :link `(custom-manual
+         ,(if (and (boundp 'current-language-environment)
+                   (string-equal "Japanese"
+                                 (symbol-value 'current-language-environment)))
+              "(wl-ja)Top"
+            "(wl)Top"))
   :group 'news
   :group 'mail)
 
@@ -211,14 +211,14 @@ 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-summary-mode-line-format "Wanderlust: %f {%t}(%n/%u/%a)[%m]"
+(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).
-%m The mime analysis status of the summary ('M' for MIME ON)
+%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."
@@ -274,6 +274,7 @@ which are replaced by the given information:
 %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).
+%l The number in the mailing list.
 %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 '<'.
@@ -287,10 +288,15 @@ which are replaced by the given information:
 %f The from: field string of the message.
 %s The subject: field string of the message.
 %S The size of the message (if available).
+%t The branch of the thread.
+%@ `@' only if the first MIME part is multipart/mixed.
 %~ If the previous spec is not zero-length, replaced with ' '.
+%#  mailing list information (`(' ML-name [ ` ' ML-number ] `)')
 
 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)
 
@@ -522,21 +528,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.
 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.
 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."
@@ -592,6 +599,14 @@ If nil, don't authenticate."
   :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.
@@ -621,7 +636,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
@@ -658,7 +674,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.
@@ -714,6 +731,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.
@@ -882,6 +905,16 @@ 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")
@@ -1024,7 +1057,8 @@ cdr of each cons cell is used for preparing headers of draft message."
   :type 'boolean
   :group 'wl-folder)
 
-(defcustom wl-summary-persistent-mark-priority-list '(flag
+(defcustom wl-summary-persistent-mark-priority-list '(killed
+                                                     flag
                                                      new
                                                      answered
                                                      forwarded
@@ -1051,6 +1085,11 @@ Example:
                               (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")
@@ -1125,6 +1164,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.
@@ -1180,7 +1225,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)
 
@@ -1634,6 +1679,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
@@ -1659,8 +1709,9 @@ which appear just before @."
            (wl-folder-get-petname wl-message-buffer-cur-folder)
          wl-message-buffer-cur-folder))
     (?m (upcase (symbol-name
-                (get-text-property (point-min)
-                                   'wl-message-display-mime-mode))))
+                (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.
@@ -1727,12 +1778,12 @@ This variable overwhelm `wl-message-ignored-field-list' settings."
   :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 ]*\\)>\\)"
-       1 wl-message-button-refer-article 3)))
+  '(("^\\(References\\|Message-Id\\|In-Reply-To\\):"
+     "<[^>\n ]+>"
+     0 wl-message-button-refer-article  0)
+    ("^[^:]+:"
+     "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)"
+     1 wl-message-button-refer-article 3))
   "Alist of headers and regexps to match buttons in message headers."
   :type '(repeat
          (list (regexp :tag "Header")
@@ -1977,21 +2028,28 @@ 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
@@ -2100,33 +2158,33 @@ Each elements are regexp of folder name."
 (defcustom wl-show-plug-status-on-modeline t
   "If it is non-nil, show plugged status in modeline."
   :type 'boolean
-  :group 'wl-highlight)
+  :group 'wl-setting)
 
 (defcustom wl-plug-state-indicator-on  " [ON] "
   "String used to show plugged status ON."
   :type 'string
-  :group 'wl-highlight)
+  :group 'wl-setting)
 
 (defcustom wl-plug-state-indicator-off " [--] "
   "String used to show plugged status OFF."
   :type 'string
-  :group 'wl-highlight)
+  :group 'wl-setting)
 
 (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"))
-  :group 'wl-highlight)
+  "All folders that include this list are automatically checked
+every intervals specified by `wl-biff-check-interval'."
+  :type '(repeat (string :tag "Folder"))
+  :group 'wl-setting)
 
 (defcustom wl-biff-check-interval 40
   "Number of seconds between updates of new mails in the mode line."
   :type 'integer
-  :group 'wl-highlight)
+  :group 'wl-setting)
 
 (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)
+  :group 'wl-setting)
 
 (defcustom wl-biff-state-indicator-on (if (and (featurep 'xemacs)
                                               (not (featurep 'mule)))
@@ -2139,7 +2197,7 @@ every intervals specified by wl-biff-check-interval."
                                           'iso-2022-jp)))
   "String used to show biff status ON."
   :type 'string
-  :group 'wl-highlight)
+  :group 'wl-setting)
 
 (defcustom wl-biff-state-indicator-off (if (and (featurep 'xemacs)
                                                (not (featurep 'mule)))
@@ -2148,7 +2206,7 @@ every intervals specified by wl-biff-check-interval."
                                         "[\e$B!>\e(B]")
   "String used to show biff status OFF."
   :type 'string
-  :group 'wl-highlight)
+  :group 'wl-setting)
 
 (defcustom wl-mode-line-display-priority-list '(biff plug title)
   "Displaying order of items to be shown in modeline.  The first item will
@@ -2167,7 +2225,7 @@ even if the value of this option is set to nil.  Here are some samples:
   :type '(repeat (radio (const :format "%v " biff)
                        (const :format "%v " plug)
                        (sexp :tag "Other" :value title)))
-  :group 'wl-highlight)
+  :group 'wl-setting)
 
 (defcustom wl-interactive-send t
   "*If non-nil, require your confirmation when sending draft message."
@@ -2224,6 +2282,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
@@ -2241,7 +2305,7 @@ and reserved buffer cache."
                      (const nntp)
                      (const pop3)
                      (const shimbun)
-                     (const nmz)
+                     (const search)
                      (const archive)
                      (const mark)
                      (const cache)))
@@ -2441,7 +2505,8 @@ 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)
@@ -2451,6 +2516,12 @@ Sender information in summary mode."
   :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 "#<removed>"
   "Mark for removed folder."
   :type 'string
@@ -2485,7 +2556,7 @@ ex.
                               (string :tag "Folder"))))
   :group 'wl-folder)
 
-(defcustom wl-folder-hierarchy-access-folders '("^-[^\\.]*\\(:\\|@\\|$\\)"
+(defcustom wl-folder-hierarchy-access-folders '("^-[^.]*\\(:\\|@\\|$\\)"
                                                "^@$" "^'$")
   "*Access group REGEXPs to make hierarchy structure."
   :type '(repeat (string :tag "Regexp"))
@@ -2817,7 +2888,7 @@ This variable can also be a regex."
 
 (defcustom wl-highlight-summary-line-help-echo-alist
   '((flag wl-highlight-flag-folder-help-echo)
-    (nmz elmo-message-file-name))
+    (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."
@@ -2875,6 +2946,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)
 
@@ -2934,14 +3040,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"
@@ -2975,6 +3083,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)