* wl.el (wl-check-type): New function.
authorokada <okada>
Thu, 17 Jan 2002 06:33:08 +0000 (06:33 +0000)
committerokada <okada>
Thu, 17 Jan 2002 06:33:08 +0000 (06:33 +0000)
(wl-check-type-variables): New variable.

wl/ChangeLog
wl/wl.el

index dcf0a17..3ced531 100644 (file)
@@ -1,5 +1,10 @@
 2002-01-17  Kenichi OKADA  <okada@opaopa.org>
 
+       * wl.el (wl-check-type): New function.
+       (wl-check-type-variables): New variable.
+
+2002-01-17  Kenichi OKADA  <okada@opaopa.org>
+
        * wl-vars.el (wl-pop-before-smtp-authenticate-type): Fix.
 
 2002-01-17  Kenichi OKADA  <okada@opaopa.org>
index 98035ca..a95c20d 100644 (file)
--- a/wl/wl.el
+++ b/wl/wl.el
@@ -758,6 +758,27 @@ Entering Plugged mode calls the value of `wl-plugged-mode-hook'."
            (make-directory wl-temporary-file-directory)
          (error "Temp directory is not created"))))))
 
+(defconst wl-check-type-variables
+  '((numberp . elmo-pop3-default-port)
+    (symbolp . elmo-pop3-default-authenticate-type)
+    (numberp . elmo-imap4-default-port)
+    (symbolp . elmo-imap4-default-authenticate-type)
+    (numberp . elmo-nntp-default-port)
+    (numberp . wl-pop-before-smtp-port)
+    (symbolp . wl-pop-before-smtp-authenticate-type)))
+
+(defun wl-check-type ()
+  (let ((type-variables wl-check-type-variables))
+    (while (setq type (car type-variables))
+      (if (and (eval (cdr type))
+              (not (funcall (car type)
+                            (eval (cdr type)))))
+         (error "%s must be %s: %S"
+                (cdr type)
+                (substring (format "%s" (car type)) 0 -1)
+                (eval (cdr type))))
+      (setq type-variables (cdr type-variables)))))
+
 ;;;###autoload
 (defun wl (&optional arg)
   "Start Wanderlust -- Yet Another Message Interface On Emacsen.