* ew-bq.el (ew-ccl-encode-uq): Change BUFFER_MAGNIFICATION to 3.
[elisp/flim.git] / ew-var.el
index 5ffa73e..9ac619b 100644 (file)
--- a/ew-var.el
+++ b/ew-var.el
@@ -9,67 +9,75 @@
 (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
-'(("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-mime)
-  ("content-description"        ew-scan-unibyte-unstructured)
+'((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))
 
+(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)
+    )))