X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=ew-var.el;h=9ac619bda96ea4a0fb2062df1d1c8b4fd3602ce1;hb=4a15ad0838f7f2ab125b4f766b127aefc828580c;hp=1d64cc70e8d6a37832c1a535df8d1daa49b8c3df;hpb=955b92b07f71c449e9ff8f2b49b7e12408527cec;p=elisp%2Fflim.git diff --git a/ew-var.el b/ew-var.el index 1d64cc7..9ac619b 100644 --- a/ew-var.el +++ b/ew-var.el @@ -9,11 +9,8 @@ (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-remove-bare-crlf nil) +(defvar ew-default-mime-charset 'x-ctext) ;;; (defvar ew-decode-field-syntax-alist @@ -52,26 +49,35 @@ (defvar ew-decode-field-default-syntax '(ew-scan-unibyte-unstructured)) +(defvar ew-parse-error-sit-for-seconds 0) + ;;; constants. -(defconst ew-token-regexp "[-!#-'*+0-9A-Z^-~]+") -(defconst ew-encoded-text-regexp "[!->@-~]+") +(eval-and-compile + (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 "?="))) + (eval-when-compile + (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)) + (cons + ew-default-mime-charset + (logior + (if ew-decode-sticked-encoded-word 1 0) + (if ew-decode-quoted-encoded-word 2 0) + (if ew-ignore-75bytes-limit 4 0) + (if ew-ignore-76bytes-limit 8 0) + (if ew-permit-sticked-comment 16 0) + (if ew-permit-sticked-special 32 0) + (if ew-remove-bare-crlf 64 0) + )))