2001-02-23 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
[elisp/wanderlust.git] / wl / wl-vars.el
index 5172c31..c541e1c 100644 (file)
@@ -1,8 +1,10 @@
 ;;; wl-vars.el -- Variable definitions for Wanderlust.
 
-;; Copyright 1998,1999,2000 Yuuichi Teranishi <teranisi@gohome.org>
+;; Copyright (C) 1998,1999,2000,2001 Yuuichi Teranishi <teranisi@gohome.org>
+;; Copyright (C) 1998,1999,2000,2001 Masahiro MURATA <muse@ba2.so-net.ne.jp>
 
 ;; Author: Yuuichi Teranishi <teranisi@gohome.org>
+;;     Masahiro MURATA <muse@ba2.so-net.ne.jp>
 ;; Keywords: mail, net news
 
 ;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen).
 (defvar wl-cs-cache wl-cs-local)
 
 (defvar wl-use-semi (module-installed-p 'mime-view) ; If nil, use tm.
-  "*Use SEMI or not")
+  "*Use SEMI or not.")
 
 (defcustom wl-from (if (boundp 'user-mail-address)
                       user-mail-address)
@@ -189,7 +191,7 @@ If you don't have multiple e-mail addresses, you don't have to set this."
 
 ;; Important folders
 (defcustom wl-default-folder "%inbox"
-  "*Default folder used in wl-summary-goto-folder."
+  "*Default folder used in `wl-summary-goto-folder'."
   :type 'string
   :group 'wl)
 (defcustom wl-draft-folder "+draft"
@@ -226,19 +228,19 @@ If you don't have multiple e-mail addresses, you don't have to set this."
   :group 'wl-draft)
 
 (defcustom wl-auto-insert-x-face t
-  "*Insert X-Face: field automatically"
+  "*Insert X-Face: field automatically."
   :type 'boolean
   :group 'wl-draft)
 
 (defcustom wl-x-face-file "~/.xface"
-  "*If file exists and `wl-auto-insert-x-face' is non-nil,
-X-Face field is inserted using its contents."
+  "*X-Face field is inserted using its contents.
+If file exists and `wl-auto-insert-x-face' is non-nil."
   :type 'file
   :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."
+  "*Subscribed mailing list.
+You had better set this variable if you set 'wl-insert-mail-followup-to' as t."
   :type '(repeat string)
   :group 'wl-pref)
 
@@ -249,7 +251,7 @@ if you set wl-insert-mail-followup-to as t."
 
 (defcustom wl-envelope-from nil
   "*Envelope From used in SMTP.
-If nil, wl-from is used."
+If nil, `wl-from' is used."
   :type '(choice (const :tag "Same as 'From' field." nil)
                 string)
   :group 'wl)
@@ -269,7 +271,7 @@ If nil, default smtp connection type is used."
   :group 'wl)
 
 (defcustom wl-smtp-posting-user nil
-  "*SMTP authentication user. "
+  "*SMTP authentication user."
   :type '(choice (const :tag "none" nil)
                  string)
   :group 'wl)
@@ -299,7 +301,7 @@ If nil, don't authenticate."
 
 (defcustom wl-pop-before-smtp-user nil
   "*POP3 user name to send mail using POP-before-SMTP.
-If nil, elmo-default-pop3-user is used.
+If nil, `elmo-default-pop3-user' is used.
 To use POP-before-SMTP,
 (setq wl-draft-send-mail-func 'wl-draft-send-mail-with-pop-before-smtp)"
   :type '(choice (const :tag "none" nil)
@@ -308,27 +310,27 @@ To use POP-before-SMTP,
 
 (defcustom wl-pop-before-smtp-server nil
   "*POP3 server for POP-before-SMTP.
-If nil, elmo-default-pop3-server is used."
+If nil, `elmo-default-pop3-server' is used."
   :type '(choice (const :tag "none" nil)
                  string)
   :group 'wl)
 
 (defcustom wl-pop-before-smtp-port nil
   "*POP3 port for POP-before-SMTP.
-If nil, elmo-default-pop3-port is used."
+If nil, `elmo-default-pop3-port' is used."
   :type '(choice (const :tag "none" nil)
                 integer string)
   :group 'wl)
 
 (defcustom wl-pop-before-smtp-stream-type nil
   "*Stream type for POP-before-SMTP.
-If nil, elmo-default-pop3-stream-type is used."
+If nil, `elmo-default-pop3-stream-type' is used."
   :type 'boolean
   :group 'wl)
 
 (defcustom wl-pop-before-smtp-authenticate-type nil
-  "*Default Authentication type for POP-before-SMTP
-If nil, elmo-default-pop3-authenticate-type is used."
+  "*Default Authentication type for POP-before-SMTP.
+If nil, `elmo-default-pop3-authenticate-type' is used."
   :type '(choice (const :tag "none" nil)
                 (const :tag "APOP" "apop")
                 (const :tag "POP3" "user"))
@@ -336,26 +338,26 @@ If nil, elmo-default-pop3-authenticate-type is used."
 
 (defcustom wl-nntp-posting-server nil
   "*NNTP server name to post news.
-If nil, elmo-default-nntp-server is used."
+If nil, `elmo-default-nntp-server' is used."
   :type '(choice (const :tag "none" nil)
                  string)
   :group 'wl)
 (defcustom wl-nntp-posting-user nil
   "*NNTP user name to post news for authinfo.
-If nil, elmo-default-nntp-user is used.
+If nil, `elmo-default-nntp-user' is used.
 If nil, don't authenticate."
   :type '(choice (const :tag "none" nil)
                  string)
   :group 'wl)
 (defcustom wl-nntp-posting-port nil
   "*NNTP port to post news.
-If nil, elmo-default-nntp-port is used."
+If nil, `elmo-default-nntp-port' is used."
   :type '(choice (const :tag "none" nil)
                 integer string)
   :group 'wl)
 (defcustom wl-nntp-posting-stream-type nil
   "*Stream type for posting Netnews.
-If nil, elmo-default-nntp-stream-type is used."
+If nil, `elmo-default-nntp-stream-type' is used."
   :type 'boolean
   :group 'wl)
 
@@ -395,9 +397,10 @@ when `wl-prefetch-confirm' is non-nil."
 
 ;;;; Hooks
 (defvar wl-folder-mode-hook nil
-  "A hook called when wanderlust folder mode is started.  This hook may
-contain the functions `wl-folder-init-icons' and `wl-setup-folder' for
-reasons of system internal to accord facilities for the Emacs variants.")
+  "A hook called when wanderlust folder mode is started.
+This hook may contain the functions `wl-folder-init-icons' and
+`wl-setup-folder' for reasons of system internal to accord facilities
+for the Emacs variants.")
 (defvar wl-summary-toggle-disp-on-hook nil
   "A hook called when message is toggled.")
 (defvar wl-summary-toggle-disp-off-hook nil
@@ -409,9 +412,9 @@ reasons of system internal to accord facilities for the Emacs variants.")
 (defvar wl-summary-toggle-disp-folder-message-resumed-hook nil
   "A hook called when message window is resumed when folder is toggled.")
 (defvar wl-summary-mode-hook nil
-  "A hook called when summary mode is started.  This hook may contain
-the function `wl-setup-summary' for reasons of system internal to
-accord facilities for the Emacs variants.")
+  "A hook called when summary mode is started.
+This hook may contain the function `wl-setup-summary' for reasons of
+system internal to accord facilities for the Emacs variants.")
 
 (defvar wl-summary-prepared-pre-hook nil
   "A hook called before the summary buffer has been generated.")
@@ -430,7 +433,9 @@ accord facilities for the Emacs variants.")
 (defvar wl-summary-divide-thread-when-subject-changed nil
   "Divide thread when subject is changed.")
 (defvar wl-init-hook nil
-  "A hook called when initialization is finished.")
+  "A hook called when initialization is finished.  This hook may contain
+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
@@ -439,7 +444,7 @@ accord facilities for the Emacs variants.")
   "A hook called when Draft is prepared.")
 (defvar wl-draft-reedit-hook nil
   "A hook called when Draft is re-edited.")
-(defvar wl-draft-send-hook nil
+(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
   "A hook called just before the mail sending process starts.")
@@ -457,10 +462,14 @@ accord facilities for the Emacs variants.")
   "A hook called when header is highlighted.")
 (defvar wl-highlight-message-hook nil
   "A hook called when message is highlighted.")
+(defvar wl-save-hook nil
+  "A hook called when save summary and folder status.")
 (defvar wl-exit-hook nil
   "A hook called when exit wanderlust.")
 (defvar wl-folder-suspend-hook nil
   "A hook called when suspend wanderlust.")
+(defvar wl-biff-notify-hook nil
+  "A hook called when a biff-notification is invoked.")
 (defvar wl-auto-check-folder-pre-hook nil
   "A hook called before auto check folders.")
 (defvar wl-auto-check-folder-hook nil
@@ -496,9 +505,7 @@ accord facilities for the Emacs variants.")
 (defvar wl-score-mode-hook nil
   "A hook called when score mode is started.")
 (defvar wl-make-plugged-hook nil
-  "A hook called when make plugged alist.  This hook may contain the
-functions `wl-plugged-init-icons' and `wl-biff-init-icons' for reasons
-of system internal to accord facilities for the Emacs variants.")
+  "A hook called when make plugged alist.")
 
 (defvar wl-plugged-exit-hook nil
   "A hook called when exit plugged mode.")
@@ -545,7 +552,7 @@ Default is for 'reply-to-author'."
 (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") ("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'))
@@ -602,8 +609,14 @@ Default is for 'followup-to-me'."
   :type 'boolean
   :group 'wl-draft)
 
+(defcustom wl-draft-delete-myself-from-bcc-fcc nil
+  "*Do not insert bcc or fcc if To and Cc fields is a member of
+`wl-subscribed-mailing-list'"
+  :type 'boolean
+  :group 'wl-draft)
+
 (defcustom wl-draft-resume-folder-window t
-  "*Resume folder window in wl-draft-hide"
+  "*Resume folder window in `wl-draft-hide'."
   :type 'boolean
   :group 'wl-draft)
 
@@ -618,7 +631,7 @@ Default is for 'followup-to-me'."
   :group 'wl-draft)
 
 (defcustom wl-draft-remove-group-list-contents t
-  "*If non-nil, remove group list contents in `wl-draft-send-mail-with-smtp'"
+  "*If non-nil, remove group list contents in `wl-draft-send-mail-with-smtp'."
   :type 'boolean
   :group 'wl-draft)
 
@@ -629,17 +642,17 @@ Default is for 'followup-to-me'."
   :group 'wl)
 
 (defcustom wl-folders-file "~/.folders"
-  "*Folders file"
+  "*Folders file."
   :type 'file
   :group 'wl)
 
 (defcustom wl-address-file "~/.addresses"
-  "*Addresses file"
+  "*Addresses file."
   :type 'file
   :group 'wl)
 
 (defcustom wl-alias-file "~/.im/Aliases"
-  "*Alias file for completion"
+  "*Alias file for completion."
   :type 'file
   :group 'wl)
 
@@ -761,13 +774,14 @@ This variable is local to the summary buffers."
   :group 'wl-pref)
 
 (defcustom wl-summary-rescore-partial-threshold 200
-  "*Summary is not scored entirely if there are messages more than this value
-in sync-all or rescan."
+  "*Summary is not scored entirely if there are messages more than this value.
+In sync-all or rescan."
   :type 'integer
   :group 'wl-score)
 
 (defcustom wl-score-files-dir (concat elmo-msgdb-dir elmo-path-sep)
-  "*Name of the directory where score files will be stored (default \"~/.elmo\")."
+  "*Name of the directory where score files will be stored.
+(default \"~/.elmo\")."
   :type 'directory
   :group 'wl)
 
@@ -919,7 +933,7 @@ ex.
   :group 'wl-draft
   :group 'wl-pref)
 
-(defcustom wl-draft-use-cache t
+(defcustom wl-draft-use-cache nil
   "*If non-nil, sending message is cached."
   :type 'boolean
   :group 'wl-draft
@@ -932,7 +946,7 @@ ex.
   :group 'wl-pref)
 
 (defcustom wl-draft-reply-buffer-style 'split
-  "'split or 'full"
+  "'split or 'full."
   :type '(radio (const split)
                (const full))
   :group 'wl-draft)
@@ -940,7 +954,7 @@ ex.
 (defcustom wl-draft-queue-save-variables
   '(wl-envelope-from wl-from
     wl-smtp-posting-server wl-smtp-posting-user wl-smtp-posting-port
-    wl-smtp-authenticate-type wl-smtp-connection-type 
+    wl-smtp-authenticate-type wl-smtp-connection-type
     wl-pop-before-smtp-server wl-pop-before-smtp-user wl-pop-before-smtp-port
     wl-pop-before-smtp-stream-type wl-pop-before-smtp-authenticate-type
     wl-nntp-posting-server wl-nntp-posting-server
@@ -960,7 +974,7 @@ ex.
   :group 'wl-draft)
 
 (defcustom wl-summary-default-number-column 5
-  "number of columns in summary buffer."
+  "Number of columns in summary buffer."
   :type 'integer
   :group 'wl-summary)
 
@@ -979,16 +993,24 @@ ex.
   :group 'wl-summary
   :group 'wl-highlight)
 
+(defcustom wl-summary-lazy-highlight (and (boundp 'window-scroll-functions)
+                                         (not wl-on-xemacs))
+  "Non-nil forces lazy summary highlighting using `window-scroll-functions'."
+  :type 'boolean
+  :group 'wl-summary
+  :group 'wl-highlight)
+
 (defcustom wl-summary-highlight-partial-threshold 1000
-  "Summary is not highlighted entirely
-if there are lines more than this value."
+  "Summary is not highlighted entirely if there are lines more than this value.
+Available if only `wl-summary-lazy-highlight' is nil."
   :type 'integer
   :group 'wl-summary
   :group 'wl-highlight)
 
 (defcustom wl-summary-partial-highlight-above-lines 30
-  "If Summary has lines more than wl-summary-highlight-partial-threshold,
-Summary lines are highlighted partialy above current position."
+  "If Summary has lines more than `wl-summary-highlight-partial-threshold',
+Summary lines are highlighted partialy above current position.
+Available if only `wl-summary-lazy-highlight' is nil."
   :type 'integer
   :group 'wl-summary
   :group 'wl-highlight)
@@ -1008,19 +1030,19 @@ Summary lines are highlighted partialy above current position."
   :type 'file
   :group 'wl-summary)
 (defcustom wl-summary-view-file ".wl-summary-view"
-  "*current summary view."
+  "*Current summary view."
   :type 'file
   :group 'wl-summary)
 (defcustom wl-thread-top-file ".wl-thread-top"
-  "*current thread top entity... obsolete."
+  "*Current thread top entity... obsolete."
   :type 'file
   :group 'wl-summary)
 (defcustom wl-thread-entity-file ".wl-thread-entity"
-  "*thread entities."
+  "*Thread entities."
   :type 'file
   :group 'wl-summary)
 (defcustom wl-thread-entity-list-file ".wl-thread-entity-list"
-  "*thread top entity list."
+  "*Thread top entity list."
   :type 'file
   :group 'wl-summary)
 
@@ -1043,8 +1065,8 @@ Summary lines are highlighted partialy above current position."
 
 (defcustom wl-use-folder-petname
   '(modeline)
-  "*List of situation using folder petname. Allowed situations are:
-
+  "*List of situation using folder petname.
+Allowed situations are:
   modeline    : displayed on modeline.
   ask-folder  : displayed on minibuffer when ask folder.
   read-folder : can used for completion at `wl-summary-read-folder'."
@@ -1055,7 +1077,7 @@ Summary lines are highlighted partialy above current position."
   :group 'wl-pref)
 
 (defcustom wl-folder-petname-alist nil
-  "A list of (realname . petname)"
+  "A list of (realname . petname)."
   :type '(repeat (cons (string :tag "Realname") (string :tag "Petname")))
   :group 'wl-folder)
 
@@ -1093,13 +1115,13 @@ Set this if (system-name) does not return FQDN."
   :group 'wl-pref)
 
 (defcustom wl-message-window-size '(1 . 4)
-  "*Size of summary and message window. cons cell of (Summary : Message)."
+  "*Size of summary and message window.  cons cell of (Summary : Message)."
   :type '(cons integer integer)
   :group 'wl-pref)
 
 (defcustom wl-message-sort-field-list '("Return-Path" "Received" "^To" "^Cc"
                                        "Newsgroups" "Subject" "^From")
-  "*Sort order of header fields. Each elements are regexp of field name.
+  "*Sort order of header fields.  Each elements are regexp of field name.
 (Not valid on tm.)"
   :type '(repeat (string :tag "Field Regexp"))
   :group 'wl-pref)
@@ -1123,7 +1145,7 @@ Each elements are regexp of field-name."
   :group 'wl-pref)
 
 (defcustom wl-summary-recenter t
-  "*Recenter on redisplay"
+  "*Recenter on redisplay."
   :type 'boolean
   :group 'wl-summary
   :group 'wl-pref)
@@ -1145,6 +1167,12 @@ Each elements are regexp of field-name."
   :group 'wl-pref
   :group 'wl-draft)
 
+(defcustom wl-subject-prefix-regexp "^[ \t]*\\([Rr][Ee][:>][ \t]*\\)*[ \t]*"
+  "*Regexp matching \"Re: \" 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."
@@ -1241,7 +1269,7 @@ with wl-highlight-folder-many-face."
 (defcustom wl-highlight-background-mode  (if (boundp 'hilit-background-mode)
                                             (or hilit-background-mode 'dark)
                                           'dark)
-  "*Background mode of highlight (for Old Emacsen). 'dark or 'light"
+  "*Background mode of highlight (for Old Emacsen).  'dark or 'light."
   :type '(radio (const dark)
                (const light))
   :group 'wl-highlight)
@@ -1269,7 +1297,7 @@ might set this variable to '(\"-f\" \"you@some.where\")."
 (defcustom wl-rejected-letter-start
   "^[\t ]*-+[\t ]+\\(original\\|\\(\\(the \\)?unsent\\)\\) message\\( follows\\)?[\t ]+-+[\t ]*$"
   "Regexp specifying the beginning of the wrapper around a returned letter.
-  This wrapper is generated by the mail system when rejecting a letter."
+This wrapper is generated by the mail system when rejecting a letter."
   :type 'regexp
   :group 'wl-draft)
 
@@ -1313,7 +1341,7 @@ the message is skipped at cursor move."
 (defcustom wl-summary-incorporate-marks
   (list wl-summary-new-mark
        wl-summary-unread-uncached-mark)
-  "Persistent marks to prefetch at `wl-summary-incorporate'"
+  "Persistent marks to prefetch at `wl-summary-incorporate'."
   :type '(repeat (string :tag "Mark"))
   :group 'wl-summary)
 
@@ -1392,7 +1420,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. "
+every intervals specified by wl-biff-check-interval."
   :type '(repeat (regexp :tag "Folder Regexp"))
   :group 'wl-highlight)
 
@@ -1465,7 +1493,7 @@ It uses wl-summary-move-direction-downward as a direction flag."
 (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
-that no unread message exists. If the value is the symbol `skip-no-unread',
+that no unread message exists.  If the value is the symbol `skip-no-unread',
 skip the folder that no unread message exists.
 
 See also variable `wl-summary-next-no-unread-command'."
@@ -1530,7 +1558,7 @@ Each elements are regexp of folder name."
     ("^-relcom\\." . koi8-r)
     ("^-tw\\." . big5)
     ("^-han\\." . euc-kr))
-  "Charset alist. If no match, wl-mime-charset is used."
+  "Charset alist.  If no match, `wl-mime-charset' is used."
   :type '(repeat (cons (regexp :tag "Folder Regexp") (symbol :tag "Charset")))
   :group 'wl-summary
   :group 'wl-pref)
@@ -1540,8 +1568,8 @@ Each elements are regexp of folder name."
     ("^-relcom\\." . "en")
     ("^-tw\\." . "en")
     ("^-han\\." . "en"))
-  "Weekday name lang alist. If no match, wl-summary-weekday-name-lang
-is used.
+  "Weekday name lang alist.
+If no match, `wl-summary-weekday-name-lang' is used.
 e.x.
 '((\"xemacs-beta$\" . \"en\")
   (\"^-fj\" . \"ja\"))"
@@ -1581,7 +1609,7 @@ e.x.
   (list (cons (concat "^" (regexp-quote wl-draft-folder) "$\\|^"
                      (regexp-quote wl-queue-folder) "$")
              "all"))
-  "*Default sync range alist. If no matches, `wl-default-sync-range' is used."
+  "*Default sync range alist.  If no matches, `wl-default-sync-range' is used."
   :type '(repeat (cons (regexp :tag "Folder Regexp")
                       (choice (const "update")
                               (const "all")
@@ -1640,7 +1668,7 @@ or 'skip-no-unread."
   :group 'wl-summary)
 
 (defcustom wl-summary-search-via-nntp 'confirm
-  "*Non-nil, search message via nntp after `wl-summary-jump-to-msg-by-message-id'. If the value is 'confirm, confirm before search."
+  "*Non-nil, search message via nntp after `wl-summary-jump-to-msg-by-message-id'.  If the value is 'confirm, confirm before search."
   :type 'boolean
   :group 'wl-summary)
 
@@ -1693,7 +1721,7 @@ ex.
 
 (defcustom wl-refile-policy-alist '(("^[-=']" . copy)
                                    (".*" . move))
-  "*List of refile policy. Each element is (FOLDER-REGEXP . POLICY).
+  "*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)
@@ -1790,7 +1818,7 @@ Each element is (folder-regexp (number or date) policy).
 
 The policy is one of the followings:
 'remove  : remove messsage.
-'trash   : refile wl-trash-folder.
+'trash   : refile `wl-trash-folder'.
 string   : refile string folder.
 function : call function.
 
@@ -1940,7 +1968,7 @@ list  : reserved specified permanent marks."
 
 ;; highilght about draft and message
 (defcustom wl-highlight-body-too t
-  "*In addition to header, highlight the body too. if non nil."
+  "*In addition to header, highlight the body too.  if non nil."
   :type 'boolean
   :group 'wl-highlight)
 
@@ -1977,7 +2005,7 @@ list  : reserved specified permanent marks."
 
 (defcustom wl-highlight-highlight-citation-too nil
   "*Whether the whole citation line should go in the
-  `wl-highlight-citation-face' face.
+`wl-highlight-citation-face' face.
 If nil, the text matched by `wl-highlight-citation-prefix-regexp' is in the
 default face, and the remainder of the line is in the
 wl-highlight-message-cited-text face."
@@ -2002,6 +2030,12 @@ the `wl-highlight-message-headers' face."
   :type 'regexp
   :group 'wl-highlight)
 
+(defcustom wl-highlight-max-header-size nil
+  "*If the message header is larger than this many chars, don't highlight it.
+If this is nil, all headers will be highlighted."
+  :type 'integer
+  :group 'wl-highlight)
+
 (defcustom wl-highlight-max-message-size 10000
   "*If the message body is larger than this many chars, don't highlight it.
 This is to prevent us from wasting time trying to fontify things like
@@ -2018,7 +2052,7 @@ It will be verified from head to tail looking for a separator.
 Verification will be done from the end of the buffer.
 No need to specify \"^-- $\" in this list,
 because it is verified by default.
-This variable can also be a regex. "
+This variable can also be a regex."
   :type '(repeat regexp)
   :group 'wl-highlight)
 
@@ -2043,8 +2077,8 @@ This variable can also be a regex. "
   :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."
+  "Highlight folder lines by numbers.
+If it is a number, only numbers will be highlighted."
   :type '(choice (const :tag "whole line" t)
                 (const :tag "only numbers" 1)
                 (const :tag "don't highlight" nil))
@@ -2066,19 +2100,17 @@ will be highlighted."
   :type 'boolean
   :group 'wl-pref)
 
-(defcustom wl-demo-display-logo (or (and (featurep 'xemacs)
-                                        (if (featurep 'xpm)
-                                            'xpm 'xbm))
-                                   (and (module-installed-p 'image)
-                                        (if (image-type-available-p 'xpm)
-                                            'xpm 'xbm))
-                                   (and (module-installed-p 'bitmap)
-                                        'xbm))
-  "If non-nil, show graphic logo in the startup screen.  You can set it to
-a symbol `xbm' to limit the image format to XBM even if XPM can be shown."
-  :type '(radio (const :tag "OFF" nil)
-               (const :tag "XBM (possibly BITMAP-MULE)" xbm)
-               (sexp :format "ON  (any format)" :value t))
+(defcustom wl-demo-display-logo (if (or (featurep 'xemacs)
+                                       (module-installed-p 'image)
+                                       (module-installed-p 'bitmap))
+                                   t)
+  "If it is T, show graphic logo in the startup screen.  You can set it to
+a symbol `bitmap', `xbm' or `xpm' in order to force the image format."
+  :type '(radio (const :tag "Off" nil)
+               (const :tag "On (any format)" t)
+               (const xpm)
+               (const xbm)
+               (const :tag "bitmap (using BITMAP-MULE)" bitmap))
   :group 'wl-pref)
 
 ;;; Internal variables
@@ -2101,15 +2133,15 @@ a symbol `xbm' to limit the image format to XBM even if XPM can be shown."
 (defvar wl-thread-indent-level 1
   "*Indent level for thread.")
 (defvar wl-thread-have-younger-brother-str "\e$B(2\e(B"
-  "*A string for thread branch line. It should contain one character.")
+  "*A string for thread branch line.  It should contain one character.")
 (defvar wl-thread-youngest-child-str       "\e$B(1\e(B"
-  "*A string for thread branch line. It should contain one character.")
+  "*A string for thread branch line.  It should contain one character.")
 (defvar wl-thread-vertical-str             "\e$B(-\e(B"
-  "*A string for thread branch line. It should contain one character.")
+  "*A string for thread branch line.  It should contain one character.")
 (defvar wl-thread-horizontal-str           "\e$B(,\e(B"
-  "*A string for thread branch line. It should contain one character.")
+  "*A string for thread branch line.  It should contain one character.")
 (defvar wl-thread-space-str                "\e$B!!\e(B"
-  "*A string for thread branch line. It should contain one character.")
+  "*A string for thread branch line.  It should contain one character.")
 
 (defvar wl-highlight-thread-indent-string-regexp "[^[<]*"
   "* A regexp string for thread indent...for highlight.")
@@ -2158,10 +2190,10 @@ a symbol `xbm' to limit the image format to XBM even if XPM can be shown."
 (defvar wl-biff-nomail-icon "no-letter.xpm"
   "*Icon file for no mail existed state.")
 (defvar wl-prog-uudecode "uudecode"
-  "*uudecode program name")
-(defvar wl-prog-uudecode-arg '("-p") ;; outout is stdout.
-  "*arguments for uudecode program")
-(defvar wl-prog-uudecode-no-stdout-option nil
+  "*uudecode program name.")
+(defvar wl-prog-uudecode-arg nil
+  "*Arguments for uudecode program.")
+(defvar wl-prog-uudecode-no-stdout-option t
   "*If non-nil, uudecode program don't have option for output to stdout.")
 
 ;; Obsolete variables. for compatibility.