* elmo-util.el (elmo-file-field-primitive-condition-match): Fixed
[elisp/wanderlust.git] / wl / wl-vars.el
index 0b5bd54..85b895d 100644 (file)
@@ -32,6 +32,7 @@
 ;;
 
 (require 'elmo-vars)
+(require 'elmo-util)
 
 (if (module-installed-p 'custom)
     (require 'custom))
 (defgroup wl nil
   "Wanderlust, a news and mail reading software."
   :tag "Wanderlust"
-  :link '(custom-manual "(wl-ja)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)
 
   (and wl-on-mule (or wl-on-xemacs
                      (> emacs-major-version 19))))
 
-(require 'elmo-vars)
-
 (eval-when-compile
   (defun-maybe locate-data-directory (a)))
 
 (defvar wl-use-semi (module-installed-p 'mime-view) ; If nil, use tm.
   "*Use SEMI or not.")
 
-(defcustom wl-from (if (boundp 'user-mail-address)
-                      user-mail-address)
+(defcustom wl-from (and user-mail-address
+                       (concat (and user-full-name
+                                    (concat (elmo-address-quote-specials
+                                             user-full-name)
+                                            " "))
+                               "<" user-mail-address ">"))
   "*From string used in draft."
-  :type 'string
+  :type  'string
   :group 'wl)
 
 (defcustom wl-user-mail-address-list nil
@@ -141,7 +149,7 @@ If you don't have multiple e-mail addresses, you don't have to set this."
   :type '(repeat string)
   :group 'wl)
 
-(defcustom wl-organization nil
+(defcustom wl-organization (getenv "ORGANIZATION")
   "Organization name."
   :type '(choice (const :tag "none" nil)
                  string)
@@ -163,17 +171,17 @@ If you don't have multiple e-mail addresses, you don't have to set this."
                 string)
   :group 'wl)
 
-(defcustom wl-summary-from-function 'wl-summary-default-from
+(defcustom wl-summary-from-func 'wl-summary-default-from
   "*A function for displaying sender (From: field) information."
   :type 'function
   :group 'wl-summary)
 
-(defcustom wl-summary-subject-function 'wl-summary-default-subject
+(defcustom wl-summary-subject-func 'wl-summary-default-subject
   "*A function for displaying subject."
   :type 'function
   :group 'wl-summary)
 
-(defcustom wl-summary-subject-filter-function 'wl-summary-default-subject-filter
+(defcustom wl-summary-subject-filter-func 'wl-summary-default-subject-filter
   "*A filter function for comparing subjects."
   :type 'function
   :group 'wl-summary)
@@ -301,36 +309,36 @@ 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-pop3-default-user' is used.
+If nil, `elmo-default-pop3-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-func 'wl-draft-send-mail-with-pop-before-smtp)"
   :type '(choice (const :tag "none" nil)
                  string)
   :group 'wl)
 
 (defcustom wl-pop-before-smtp-server nil
   "*POP3 server for POP-before-SMTP.
-If nil, `elmo-pop3-default-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-pop3-default-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-pop3-default-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-pop3-default-authenticate-type' is used."
+If nil, `elmo-default-pop3-authenticate-type' is used."
   :type '(choice (const :tag "none" nil)
                 (const :tag "APOP" "apop")
                 (const :tag "POP3" "user"))
@@ -338,26 +346,26 @@ If nil, `elmo-pop3-default-authenticate-type' is used."
 
 (defcustom wl-nntp-posting-server nil
   "*NNTP server name to post news.
-If nil, `elmo-nntp-default-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-nntp-default-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-nntp-default-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-nntp-default-stream-type' is used."
+If nil, `elmo-default-nntp-stream-type' is used."
   :type 'boolean
   :group 'wl)
 
@@ -468,8 +476,10 @@ reasons of system internal to accord facilities for the Emacs variants.")
   "A hook called when exit wanderlust.")
 (defvar wl-folder-suspend-hook nil
   "A hook called when suspend wanderlust.")
-(defvar wl-biff-notify-hook nil
+(defvar wl-biff-notify-hook '(ding)
   "A hook called when a biff-notification is invoked.")
+(defvar wl-biff-unnotify-hook nil
+  "A hook called when a biff-notification is removed.")
 (defvar wl-auto-check-folder-pre-hook nil
   "A hook called before auto check folders.")
 (defvar wl-auto-check-folder-hook nil
@@ -506,24 +516,22 @@ reasons of system internal to accord facilities for the Emacs variants.")
   "A hook called when score mode is started.")
 (defvar wl-make-plugged-hook nil
   "A hook called when make plugged alist.")
-(defvar wl-biff-notify-hook '(beep)
-  "A hook called when a biff-notification is invoked.")
 
 (defvar wl-plugged-exit-hook nil
   "A hook called when exit plugged mode.")
 
 ;;;; functions for draft
-(defcustom wl-draft-send-function 'wl-draft-normal-send-func
+(defcustom wl-draft-send-func 'wl-draft-normal-send-func
   "A function to send message."
   :type 'function
   :group 'wl-draft)
 
-(defcustom wl-draft-send-news-function 'wl-draft-elmo-nntp-send
+(defcustom wl-draft-send-news-func 'wl-draft-elmo-nntp-send
   "A function to send news."
   :type 'function
   :group 'wl-draft)
 
-(defcustom wl-draft-send-mail-function 'wl-draft-send-mail-with-smtp
+(defcustom wl-draft-send-mail-func 'wl-draft-send-mail-with-smtp
   "A function to send mail.
 Prepared candidates are 'wl-draft-send-mail-with-smtp,
 'wl-draft-send-mail-with-qmail and 'wl-draft-send-mail-with-pop-before-smtp."
@@ -674,6 +682,11 @@ Default is for 'followup-to-me'."
   :type '(string :tag "Base")
   :group 'wl)
 
+(defcustom wl-ldap-objectclass "person"
+  "*LDAP objectclass."
+  :type 'string
+  :group 'wl)
+
 (defcustom wl-use-ldap nil
   "*If non-nil, use LDAP for address completion."
   :type 'boolean
@@ -723,9 +736,12 @@ Default is for 'followup-to-me'."
   :type '(repeat string)
   :group 'wl-summary)
 
-(defcustom wl-summary-fix-timezone "JST"
-  "Non-nil forces to fix timezone of summary date."
-  :type 'string
+(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\)."
+  :type '(choice (const :tag "Default time zone" nil)
+                string)
   :group 'wl-summary)
 
 (defcustom wl-summary-default-score 0
@@ -1048,12 +1064,12 @@ Available if only `wl-summary-lazy-highlight' is nil."
   :type 'file
   :group 'wl-summary)
 
-(defcustom wl-print-buffer-function 'lpr-buffer
+(defcustom wl-print-buffer-func 'lpr-buffer
   "A function to print current buffer."
   :type 'function
   :group 'wl-pref)
 
-(defcustom wl-ps-print-buffer-function
+(defcustom wl-ps-print-buffer-func
   (if window-system 'ps-print-buffer-with-faces 'ps-print-buffer)
   "A function to print current buffer with ps-print."
   :type 'function
@@ -1111,6 +1127,17 @@ Set this if (system-name) does not return FQDN."
   :type 'boolean
   :group 'wl-pref)
 
+(defcustom wl-message-truncate-lines default-truncate-lines
+  "*Truncate lines in Message Buffer."
+  :type 'boolean
+  :group 'wl-pref)
+
+(defcustom wl-draft-truncate-lines default-truncate-lines
+  "*Truncate lines in Draft Buffer."
+  :type 'boolean
+  :group 'wl-draft
+  :group 'wl-pref)
+
 (defcustom wl-message-scroll-amount 5
   "*Scroll amount by SPC key."
   :type 'integer
@@ -1152,6 +1179,16 @@ Each elements are regexp of field-name."
   :group 'wl-summary
   :group 'wl-pref)
 
+(defcustom wl-folder-use-frame nil
+  "*Use dedicated frame for folder mode if non-nil."
+  :type 'boolean
+  :group 'wl-pref)
+
+(defcustom wl-summary-use-frame nil
+  "*Use dedicated frame for each folder summary if non-nil."
+  :type 'boolean
+  :group 'wl-pref)
+
 (defcustom wl-stay-folder-window nil
   "*Stay folder window when folder is selected if non-nil."
   :type 'boolean
@@ -1185,7 +1222,7 @@ with wl-highlight-folder-many-face."
 (defcustom wl-fcc nil
   "*Folder Carbon Copy."
   :type '(choice (const :tag "disable" nil)
-                 string)
+                 string function)
   :group 'wl-draft
   :group 'wl-pref)
 
@@ -1225,7 +1262,8 @@ with wl-highlight-folder-many-face."
 
 (defcustom wl-summary-width 80
   "*Set summary line width if non nil."
-  :type 'integer
+  :type '(choice (const :tag "Don't truncate" nil)
+                integer)
   :group 'wl-summary
   :group 'wl-pref)
 
@@ -1263,7 +1301,7 @@ with wl-highlight-folder-many-face."
   :group 'wl-summary
   :group 'wl-pref)
 
-(defcustom wl-generate-mailer-string-function 'wl-generate-user-agent-string
+(defcustom wl-generate-mailer-string-func 'wl-generate-user-agent-string
   "A function to create X-Mailer field string ."
   :type 'function
   :group 'wl-draft)
@@ -1276,7 +1314,7 @@ with wl-highlight-folder-many-face."
                (const light))
   :group 'wl-highlight)
 
-(defcustom wl-highlight-x-face-function nil
+(defcustom wl-highlight-x-face-func nil
   "A function to display X-Face."
   :type 'function
   :group 'wl-highlight)
@@ -1431,12 +1469,24 @@ every intervals specified by wl-biff-check-interval."
   :type 'integer
   :group 'wl-highlight)
 
-(defcustom wl-biff-state-indicator-on "[\e$B")\e(B]"
+(defcustom wl-biff-state-indicator-on (if (and (featurep 'xemacs)
+                                              (not (featurep 'mule)))
+                                         "[Mail]"
+                                       (decode-coding-string
+                                        ;; Youbin mark
+                                        (read "\"[\e$B\\\")\e(B]\"")
+                                        (if (boundp 'MULE)
+                                            '*iso-2022-jp*
+                                          'iso-2022-jp)))
   "String used to show biff status ON."
   :type 'string
   :group 'wl-highlight)
 
-(defcustom wl-biff-state-indicator-off "[\e$B!>\e(B]"
+(defcustom wl-biff-state-indicator-off (if (and (featurep 'xemacs)
+                                               (not (featurep 'mule)))
+                                          "[--]"
+                                        ;; Japanese short hyphen
+                                        "[\e$B!>\e(B]")
   "String used to show biff status OFF."
   :type 'string
   :group 'wl-highlight)
@@ -1460,7 +1510,7 @@ even if the value of this option is set to nil.  Here are some samples:
                        (sexp :tag "Other" :value title)))
   :group 'wl-highlight)
 
-(defcustom wl-interactive-send nil
+(defcustom wl-interactive-send t
   "*If non-nil, require your confirmation when sending draft message."
   :type 'boolean
   :group 'wl-pref)
@@ -1525,6 +1575,16 @@ e.x.
   :type '(repeat (regexp :tag "Folder Regexp"))
   :group 'wl-pref)
 
+(defcustom wl-cache-prefetch-get-next-func 'wl-summary-default-get-next-msg
+  "*A function to get message number when prefetch next message."
+  :type 'function
+  :group 'wl-pref)
+
+;; obsolete
+;(defvar wl-no-cache-folder-list '("^\\$.*")
+;  "All folders that match this list won't be cached when reading messages.
+;Each elements are regexp of folder name.")
+
 (defcustom wl-summary-always-sticky-folder-list nil
   "All folders that match this list has sticky summary.
 Each elements are regexp of folder name."
@@ -1533,7 +1593,7 @@ Each elements are regexp of folder name."
                (repeat (regexp :tag "Folder Regexp")))
   :group 'wl-pref)
 
-(defcustom wl-no-save-folder-list '("^/.*$" "^\\[.*$")
+(defcustom wl-no-save-folder-list '("^/.*$")
   "All folders that match this list won't save its msgdb.
 Each elements are regexp of folder name."
   :type '(repeat (regexp :tag "Folder Regexp"))
@@ -1773,7 +1833,7 @@ ex.
   :type 'string
   :group 'wl-folder)
 
-(defcustom wl-fldmgr-sort-function 'wl-fldmgr-sort-standard
+(defcustom wl-fldmgr-sort-func 'wl-fldmgr-sort-standard
   "*A function to sort folder."
   :type 'function
   :group 'wl-folder)
@@ -1899,7 +1959,7 @@ list  : reserved specified permanent marks."
   :group 'wl-expire)
 
 ;; for wl-expire-archive-{number1|number2|date}
-(defcustom wl-expire-archive-get-folder-function
+(defcustom wl-expire-archive-get-folder-func
   'wl-expire-archive-get-folder
   "*A function to get archive folder name."
   :type 'function
@@ -2076,7 +2136,7 @@ If it is a number, only numbers will be highlighted."
                 (const :tag "don't highlight" nil))
   :group 'wl-highlight)
 
-(defcustom wl-highlight-signature-search-function 'wl-highlight-signature-search
+(defcustom wl-highlight-signature-search-func 'wl-highlight-signature-search
   "Function to search signature area in the message body."
   :type 'function
   :group 'wl-highlight)
@@ -2163,8 +2223,6 @@ 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 localdir folder.")
 (defvar wl-maildir-folder-icon "maildir.xpm"
   "*Icon file for maildir folder.")
 (defvar wl-empty-trash-folder-icon "trash-e.xpm"
@@ -2210,34 +2268,6 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format."
 (defvar wl-plugged-port-indent 4)
 (defvar wl-plugged-queue-status-column 25)
 
-;; Obsolete variables.
-(elmo-define-obsolete-variable 'wl-summary-from-func
-                              'wl-summary-from-function)
-(elmo-define-obsolete-variable 'wl-summary-subject-func
-                              'wl-summary-subject-function)
-(elmo-define-obsolete-variable 'wl-summary-subject-filter-func
-                              'wl-summary-subject-filter-function)
-(elmo-define-obsolete-variable 'wl-draft-send-func
-                              'wl-draft-send-function)
-(elmo-define-obsolete-variable 'wl-draft-send-news-func
-                              'wl-draft-send-news-function)
-(elmo-define-obsolete-variable 'wl-draft-send-mail-func
-                              'wl-draft-send-mail-function)
-(elmo-define-obsolete-variable 'wl-print-buffer-func
-                              'wl-print-buffer-function)
-(elmo-define-obsolete-variable 'wl-ps-print-buffer-func
-                              'wl-ps-print-buffer-function)
-(elmo-define-obsolete-variable 'wl-generate-mailer-string-func
-                              'wl-generate-mailer-string-function)
-(elmo-define-obsolete-variable 'wl-highlight-x-face-func
-                              'wl-highlight-x-face-function)
-(elmo-define-obsolete-variable 'wl-fldmgr-sort-func
-                              'wl-fldmgr-sort-function)
-(elmo-define-obsolete-variable 'wl-expire-archive-get-folder-func
-                              'wl-expire-archive-get-folder-function)
-(elmo-define-obsolete-variable 'wl-highlight-signature-search-func
-                              'wl-highlight-signature-search-function)
-
 (require 'product)
 (product-provide (provide 'wl-vars) (require 'wl-version))