(provide 'ew-var) ;;; user customizable variables. (defvar ew-decode-sticked-encoded-word nil) (defvar ew-decode-quoted-encoded-word nil) (defvar ew-ignore-75bytes-limit nil) (defvar ew-ignore-76bytes-limit nil) (defvar ew-permit-sticked-comment nil) (defvar ew-permit-sticked-special nil) (defvar ew-parse-error-sit-for-seconds 0) ;;; anonymous function to decode ground string. ;; NOTE: STR is CRLF-form and it should return as CRLF-form. (defvar ew-decode-us-ascii (lambda (str) (decode-coding-string str 'iso-latin-1-unix))) ;;; (defvar ew-decode-field-syntax-alist '((from ew-scan-unibyte-std11 . ew:tag-mailbox+) (sender ew-scan-unibyte-std11 . ew:tag-mailbox) (to ew-scan-unibyte-std11 . ew:tag-address+) (resent-to ew-scan-unibyte-std11 . ew:tag-address+) (cc ew-scan-unibyte-std11 . ew:tag-address+) (resent-cc ew-scan-unibyte-std11 . ew:tag-address+) (bcc ew-scan-unibyte-std11 . ew:tag-address*) (resent-bcc ew-scan-unibyte-std11 . ew:tag-address*) (message-id ew-scan-unibyte-std11) (resent-message-id ew-scan-unibyte-std11) (in-reply-to ew-scan-unibyte-std11 . ew:tag-phrase-msg-id*) (references ew-scan-unibyte-std11 . ew:tag-phrase-msg-id*) (keywords ew-scan-unibyte-std11 . ew:tag-phrase*) (subject ew-scan-unibyte-unstructured) (comments ew-scan-unibyte-unstructured) (encrypted ew-scan-unibyte-std11) (date ew-scan-unibyte-std11) (reply-to ew-scan-unibyte-std11 . ew:tag-address+) (received ew-scan-unibyte-std11) (resent-reply-to ew-scan-unibyte-std11 . ew:tag-address+) (resent-from ew-scan-unibyte-std11 . ew:tag-mailbox+) (resent-sender ew-scan-unibyte-std11 . ew:tag-mailbox) (resent-date ew-scan-unibyte-std11) (return-path ew-scan-unibyte-std11) (mime-version ew-scan-unibyte-std11) (content-type ew-scan-unibyte-mime) (content-transfer-encoding ew-scan-unibyte-mime) (content-id ew-scan-unibyte-std11) (content-description ew-scan-unibyte-unstructured) (content-disposition ew-scan-unibyte-mime) (approved ew-scan-unibyte-std11 . ew:tag-address+) )) (defvar ew-decode-field-default-syntax '(ew-scan-unibyte-unstructured)) ;;; constants. (defconst ew-token-regexp "[-!#-'*+0-9A-Z^-~]+") (defconst ew-encoded-text-regexp "[!->@-~]+") (defconst ew-encoded-word-regexp (concat (regexp-quote "=?") "\\(" ew-token-regexp "\\)" (regexp-quote "?") "\\(" ew-token-regexp "\\)" (regexp-quote "?") "\\(" ew-encoded-text-regexp "\\)" (regexp-quote "?="))) ;;; utilities for variables. (defun ew-dynamic-options () (list ew-decode-sticked-encoded-word ew-decode-quoted-encoded-word ew-ignore-75bytes-limit ew-ignore-76bytes-limit ew-permit-sticked-comment ew-permit-sticked-special))