-;;; SMTP binding by Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
-(defvar wl-smtp-features
- '(((smtp-authenticate-type
- (if wl-smtp-authenticate-type
- (intern (downcase (format "%s" wl-smtp-authenticate-type)))))
- ((smtp-authenticate-user wl-smtp-posting-user)
- ((smtp-authenticate-passphrase
- (elmo-get-passwd
- (format "%s@%s"
- smtp-authenticate-user
- smtp-server))))))
- (smtp-connection-type))
- "Additional SMTP features.")
-
-(eval-when-compile
- (defun wl-smtp-parse-extension (exts parents)
- (let (bindings binding feature)
- (dolist (ext exts)
- (setq feature (if (listp (car ext)) (caar ext) (car ext))
- binding
- (` ((, feature)
- (or (, (if (listp (car ext))
- (cadar ext)
- (let ((wl-feature
- (intern
- (concat "wl-" (symbol-name feature)))))
- (if (boundp wl-feature)
- wl-feature))))
- (and (boundp '(, feature)) (, feature))))))
- (when parents
- (setcdr binding (list (append '(and) parents (cdr binding)))))
- (setq bindings
- (nconc bindings (list binding)
- (wl-smtp-parse-extension
- (cdr ext) (cons feature parents)))))
- bindings)))
-