- (if (not (eq (elmo-folder-get-type wl-draft-folder) 'localdir))
- (error "%s is not allowed for draft folder" wl-draft-folder))
- (unless (elmo-folder-exists-p wl-draft-folder)
- (if (y-or-n-p
- (format "Draft Folder %s does not exist, create it?"
- wl-draft-folder))
- (elmo-create-folder wl-draft-folder)
- (error "Draft Folder is not created")))
- (if (and wl-draft-enable-queuing
- (not (elmo-folder-exists-p wl-queue-folder)))
- (if (y-or-n-p
- (format "Queue Folder %s does not exist, create it?"
- wl-queue-folder))
- (elmo-create-folder wl-queue-folder)
- (error "Queue Folder is not created")))
- (unless (elmo-folder-exists-p wl-trash-folder)
- (if (y-or-n-p
- (format "Trash Folder %s does not exist, create it?"
- wl-trash-folder))
- (elmo-create-folder wl-trash-folder)
- (error "Trash Folder is not created")))
- (unless (elmo-folder-exists-p elmo-lost+found-folder)
- (elmo-create-folder elmo-lost+found-folder)))
- (unless (file-exists-p wl-tmp-dir)
- (if (y-or-n-p
- (format "Temp directory (to save multipart) %s does not exist, create it now?"
- wl-tmp-dir))
- (make-directory wl-tmp-dir)
- (error "Temp directory is not created"))))
+ (let ((draft-folder (wl-folder-get-elmo-folder wl-draft-folder))
+ (queue-folder (wl-folder-get-elmo-folder wl-queue-folder))
+ (lost+found-folder (wl-folder-get-elmo-folder
+ elmo-lost+found-folder)))
+ (unless (elmo-folder-exists-p draft-folder)
+ (if (y-or-n-p
+ (format "Draft Folder %s does not exist, create it? "
+ wl-draft-folder))
+ (elmo-folder-create draft-folder)
+ (error "Draft Folder is not created")))
+ (if (and wl-draft-enable-queuing
+ (not (elmo-folder-exists-p queue-folder)))
+ (if (y-or-n-p
+ (format "Queue Folder %s does not exist, create it? "
+ wl-queue-folder))
+ (elmo-folder-create queue-folder)
+ (error "Queue Folder is not created")))
+ (when (not (eq no-check-folder 'wl-draft))
+ (unless (elmo-folder-exists-p lost+found-folder)
+ (elmo-folder-create lost+found-folder)))
+ ;; tmp dir
+ (unless (file-exists-p wl-temporary-file-directory)
+ (if (y-or-n-p
+ (format "Temp directory (to save multipart) %s does not exist, create it now? "
+ wl-temporary-file-directory))
+ (make-directory wl-temporary-file-directory)
+ (error "Temp directory is not created"))))))
+
+(defconst wl-check-variables-alist
+ '((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-variables ()
+ (let ((type-variables wl-check-variables-alist)
+ type)
+ (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)))))
+
+(defun wl-check-variables-2 ()
+ (if (< wl-message-buffer-cache-size 1)
+ (error "`wl-message-buffer-cache-size' must be larger than 0"))
+ (when wl-message-buffer-prefetch-depth
+ (if (not (< wl-message-buffer-prefetch-depth
+ wl-message-buffer-cache-size))
+ (error (concat
+ "`wl-message-buffer-prefetch-depth' must be smaller than "
+ "`wl-message-buffer-cache-size' - 1.")))))