* ew-var.el: New file.
* ew-data.el: Require 'ew-var.
(ew-separate-eword): New function.
(ew-mark-phrase): Use `ew-separate-eword'.
* ew-dec.el:
- Require 'ew-var.
- Move `ew-decode-quoted-encoded-word',
`ew-ignore-75bytes-limit', `ew-ignore-76bytes-limit',
`ew-permit-sticked-comment', `ew-permit-sticked-special',
`ew-decode-us-ascii', `ew-decode-field-syntax-alist' and
`ew-decode-field-default-syntax' to ew-var.el.
(ew-decode-field): Use `ew-separate-eword'.
* ew-quote.el: Require 'ew-var.
- Move `ew-token-regexp', `ew-encoded-text-regexp',
`ew-encoded-word-regexp',
1998-08-17 Tanaka Akira <akr@jaist.ac.jp>
+ * FLIM-ELS (flim-modules): Add `ew-var' and reorder.
+
+ * ew-var.el: New file.
+
+ * ew-data.el: Require 'ew-var.
+ (ew-separate-eword): New function.
+ (ew-mark-phrase): Use `ew-separate-eword'.
+
+ * ew-dec.el:
+ - Require 'ew-var.
+ - Move `ew-decode-quoted-encoded-word',
+ `ew-ignore-75bytes-limit', `ew-ignore-76bytes-limit',
+ `ew-permit-sticked-comment', `ew-permit-sticked-special',
+ `ew-decode-us-ascii', `ew-decode-field-syntax-alist' and
+ `ew-decode-field-default-syntax' to ew-var.el.
+ (ew-decode-field): Use `ew-separate-eword'.
+
+ * ew-quote.el: Require 'ew-var.
+ - Move `ew-token-regexp', `ew-encoded-text-regexp',
+ `ew-encoded-word-regexp',
+
+1998-08-17 Tanaka Akira <akr@jaist.ac.jp>
+
* DOODLE-TIPS: Use `ew-decode-field' directly instead of
`eword-decode-unstructured-field-body' and
`eword-decode-and-unfold-structured-field'.
--- /dev/null
+FLIM: Faithful Library about Internet Message
+FLAM: Faithful Library About MIME
+DOODLE: Definition Oriented Obsessive Decoding Library for Encoded-word
+
+Order is not significant.
+
+ 1 \e$BAIK'\e(B \e$B$9$[$&\e(B 2.5R3.0/3.0 FLIM-FLAM 1.0.0
+ 2 \e$B9HG_\e(B \e$B$3$&$P$$\e(B 2.5R7.0/8.0 FLIM-FLAM 1.0.1
+ 3 \e$B4Z9H2V\e(B \e$B$+$i$/$l$J$p\e(B 4.0R4.0/14.0 FLIM-FLAM 1.1.0
+ 4 \e$BEm2V\e(B \e$B$b$b\e(B 2.5R6.0/10.0 FLIM-FLAM 1.2.0
+ 5 \e$B:y\e(B \e$B$5$/$i\e(B 2.5R7.0/7.0 FLIM-FLAM 1.2.1
+ 6 \e$BFy\e(B \e$B$K$/\e(B 2.5YR8.0/4.0 FLIM-FLAM 1.3.0
+ 7 \e$B@VAIK'\e(B \e$B$"$+$9$[$&\e(B 7.5R4.0/14.0 FLIM-FLAM 1.8.0
+ 8 \e$B6d<k\e(B \e$B$.$s$7$e\e(B 5.0R4.5/13.0 FLIM-FLAM 1.9.0
+ 9 \e$B`O!9Hl\e(B \e$B$7$g$&$8$g$&$R\e(B 7.5R4.5/14.0 FLIM-FLAM 1.9.1
+ 10 \e$B9HHl\e(B \e$B$Y$K$R\e(B 7.5R5.0/13.0 FLAM-DOODLE 1.9.0
+ 11 \e$B2+C0\e(B \e$B$o$&$?$s\e(B 10R5.5/14.0
+ 12 \e$B??Hl\e(B \e$B$^$R\e(B 10R6.0/11.0
+
+ 13 \e$(DT`\e(B \e$B$=$R\e(B 2.5YR7.0/11.0
+ 13 [0212:52-64] \e$B$=$R\e(B 2.5YR7.0/11.0
+
+ 14 \e$B3A\e(B \e$B$+$-\e(B 10R6.5/10.0
+ 15 \e$B?<;Y;R\e(B \e$B$3$-$/$A$J$7\e(B 10YR7.5/8.0
+ 16 \e$B4;;R\e(B \e$B$3$&$8\e(B 7.5YR7.0/11.0
+ 17 \e$B5`MU\e(B \e$B$/$A$P\e(B 10YR7.5/10.0
+ 18 \e$B@VGrFK\e(B \e$B$"$+$7$m$D$k$P$_\e(B 5.0YR8.0/6.0
+ 19 \e$B>.F&\e(B \e$B$"$:$-\e(B 2.5R3.5/5.0
+ 20 \e$BIrF:Cc\e(B \e$B$($S$A$c\e(B 5.0R4.0/11.0
+ 21 \e$B??<k\e(B \e$B$7$s$7$e\e(B 2.5R4.5/10.0
+ 22 \e$B[XHi\e(B \e$B$R$O$@\e(B 2.0YR3.5/4.0
+ 23 \e$B%Y%s%,%i\e(B \e$B$Y$s$,$i\e(B 7.5R4.0/7.0
+ 24 \e$BBel`\e(B \e$B$?$$$7$c\e(B 10R4.5/8.0
+ 25 \e$B>GCc\e(B \e$B$3$2$A$c\e(B 10R3.0/2.0
+ 26 \e$B7*Hi\e(B \e$B$/$j$+$O\e(B 10R3.0/4.0
+ 27 \e$BFP\e(B \e$B$H$S\e(B 10R4.0/7.0
+ 28 \e$B3w\e(B \e$B$+$P\e(B 10R4.0/5.0
+ 29 \e$B2+H'@w\e(B \e$B$3$&$m$;$s\e(B 2.5Y5.0/4.0
+ 30 \e$BCz;RCc\e(B \e$B$A$g$&$8$A$c\e(B 5.0YR4.0/4.0
+ 31 \e$B<F\e(B \e$B$U$7\e(B 10YR4.0/4.0
+ 32 \e$BCz;z\e(B \e$B$A$g$&$8\e(B 7.5YR6.0/6.0
+ 33 \e$BDS2+\e(B \e$B$7$c$*$&\e(B 7.5YR5.5/6.0
+ 34 \e$B%+!<%-!<\e(B \e$B$+!<$-!<\e(B 10YR6.0/7.0
+ 35 \e$B7,\e(B \e$B$/$o\e(B 7.5YR6.0/5.0
+ 36 \e$B2+FK\e(B \e$B$-$D$k$P$_\e(B 2.5Y6.5/7.0
+ 37 \e$B9a\e(B \e$B$3$&\e(B 10YR7.5/6.0
+ 38 \e$B2+EZ\e(B \e$B$*$&$I\e(B 10YR7.0/7.0
+ 39 \e$B;3?a\e(B \e$B$d$^$V$-\e(B 3.5Y8.0/12.0
+ 40 \e$BF#2+\e(B \e$B$H$&$*$&\e(B 3.0Y8.0/14.0
+ 41 \e$B]56b\e(B \e$B$&$3$s\e(B 4.5Y8.0/12.0
+ 42 \e$B4"0B\e(B \e$B$+$j$d$9\e(B 5.0Y8.0/10.0
+ 43 \e$B2+\e(B[\e$Bi-\e(B/\e$BLZ\e(B] \e$B$-$O$@\e(B 4.5Y8.0/8.0
+ 44 \e$B;Y;R\e(B \e$B$/$A$J$7\e(B 3.0Y8.0/7.0
+ 45 \e$B6L;R\e(B \e$B$?$^$4\e(B 4.0Y8.0/8.0
+ 46 \e$Bs4\e(B \e$B$R$o\e(B 10Y8.0/10.0
+ 47 \e$Bs4K(2+\e(B \e$B$R$o$b$($.\e(B 5.0GY7.0/8.0
+ 48 \e$Brt\e(B \e$B$&$0$$$9\e(B 7.5GY5.5/5.0
+ 49 \e$BK(2+\e(B \e$B$b$($.\e(B 10GY5.5/9.0
+ 50 \e$BNP\e(B \e$B$_$I$j\e(B 10GY4.0/6.0
+ 51 \e$BNP@D\e(B \e$B$m$/$7$g$&\e(B 5.0G6.0/8.0
+ 52 \e$BGrNP\e(B \e$B$S$c$/$m$/\e(B 2.5G8.0/2.0
+ 53 \e$B>>MU\e(B \e$B$^$D$P\e(B 7.5G5.0/5.0
+ 54 \e$B;3Mu@"\e(B \e$B$d$^$"$$$:$j\e(B 5.0BG/4.0/4.0
+ 55 \e$B3$>>\e(B \e$B$_$k\e(B 2.5GY3.5/2.0
+ 56 \e$BU;Cc\e(B \e$B$3$S$A$c\e(B 10Y4.0/2.0
+ 57 \e$B@DGrFK\e(B \e$B$"$*$7$m$D$k$P$_\e(B 5.0GY7.5/3.0
+ 58 \e$B2X;R:0\e(B \e$B$J$9$3$s\e(B 7.5PB/2.3/3.0
+ 59 \e$B:0\e(B \e$B$3$s\e(B 7.5PB3.0/3.0
+ 60 \e$BG<8M\e(B \e$B$J$s$I\e(B 5.0PB3.0/4.0
+ 61 \e$B:0@D\e(B \e$B$3$s$8$g$&\e(B 8.5PB3.0/12.0
+ 62 \e$BN0M~\e(B \e$B$k$j\e(B 7.5PB3.0/12.0
+ 63 \e$B72@D\e(B \e$B$0$s$8$g$&\e(B 6.0PB3.5/12.0
+ 64 \e$BGr72\e(B \e$B$S$c$/$0$s\e(B 7.5B6.0/4.0
+ 65 \e$Be]\e(B \e$B$O$J$@\e(B 10B3.5/5.0
+ 66 \e$B@u2+\e(B \e$B$"$5$.\e(B 10BG6.0/3.0
+ 67 \e$BLG;g\e(B \e$B$a$C$7\e(B 5.0P2.5/4.0
+ 68 \e$B?<;g\e(B \e$B$3$`$i$5$-\e(B 5.0P2.5/4.0
+ 69 \e$BFsMu\e(B \e$B$U$?$"$$\e(B 5.0P4.0/3.0
+ 70 \e$B;g\e(B \e$B$`$i$5$-\e(B 7.5P3.5/4.0
+ 71 \e$BIrF:\e(B \e$B$($S\e(B 7.5P3.5/6.0
+ 72 \e$B?<Hl\e(B \e$B$3$-$R\e(B 8.5R4.5/4.0
+ 73 \e$B5K9<\e(B \e$B$-$-$g$&\e(B 10PB3.5/10
+ 74 \e$BF#\e(B \e$B$U$8\e(B 7.5P5.0/8.0
+ 75 \e$B24C0\e(B \e$B$\$?$s\e(B 5.0RP4.5/14
+ 76 \e$BKO\e(B \e$B$9$_\e(B N1.5/0
+ 77 \e$BKOFK\e(B \e$B$/$m$D$k$P$_\e(B 5.0YR3.0/0.5
+ 78 \e$Bb%\e(B \e$B$/$j\e(B 2.5YR3.0/0.5
+ 79 \e$BF_\e(B \e$B$K$S\e(B 7.5R4.0/0.5
+ 80 \e$B@DF_\e(B \e$B$"$*$K$S\e(B 5.0B4.0/0.5
+ 81 \e$BMx5WAM\e(B \e$B$j$-$e$&$M$:$_\e(B 5.0G4.5/0.5
+ 82 \e$B3%\e(B \e$B$O$$\e(B 5.0GY5.0/0.5
+++ /dev/null
-Order is not significant.
-
- 1 ÁÉ˧ ¤¹¤Û¤¦ 2.5R3.0/3.0
- 2 ¹ÈÇß ¤³¤¦¤Ð¤¤ 2.5R7.0/8.0
- 3 ´Ú¹È²Ö ¤«¤é¤¯¤ì¤Ê¤ð 4.0R4.0/14.0
- 4 Åí²Ö ¤â¤â 2.5R6.0/10.0
- 5 ºù ¤µ¤¯¤é 2.5R7.0/7.0
- 6 Æù ¤Ë¤¯ 2.5YR8.0/4.0
- 7 ÀÖÁÉ˧ ¤¢¤«¤¹¤Û¤¦ 7.5R4.0/14.0
- 8 ¶ä¼ë ¤®¤ó¤·¤å 5.0R4.5/13.0
- 9 àÏ¡¹Èì ¤·¤ç¤¦¤¸¤ç¤¦¤Ò 7.5R4.5/14.0
- 10 ¹ÈÈì ¤Ù¤Ë¤Ò 7.5R5.0/13.0
- 11 ²«Ã° ¤ï¤¦¤¿¤ó 10R5.5/14.0
- 12 ¿¿Èì ¤Þ¤Ò 10R6.0/11.0
- 13 [0212:52-64] ¤½¤Ò 2.5YR7.0/11.0
- 14 ³Á ¤«¤ 10R6.5/10.0
- 15 ¿¼»Ù»Ò ¤³¤¤¯¤Á¤Ê¤· 10YR7.5/8.0
- 16 ´»»Ò ¤³¤¦¤¸ 7.5YR7.0/11.0
- 17 µàÍÕ ¤¯¤Á¤Ð 10YR7.5/10.0
- 18 ÀÖÇòÆË ¤¢¤«¤·¤í¤Ä¤ë¤Ð¤ß 5.0YR8.0/6.0
- 19 ¾®Æ¦ ¤¢¤º¤ 2.5R3.5/5.0
- 20 ÉòƺÃã ¤¨¤Ó¤Á¤ã 5.0R4.0/11.0
- 21 ¿¿¼ë ¤·¤ó¤·¤å 2.5R4.5/10.0
- 22 ÛØÈé ¤Ò¤Ï¤À 2.0YR3.5/4.0
- 23 ¥Ù¥ó¥¬¥é ¤Ù¤ó¤¬¤é 7.5R4.0/7.0
- 24 Âåìà ¤¿¤¤¤·¤ã 10R4.5/8.0
- 25 ¾ÇÃã ¤³¤²¤Á¤ã 10R3.0/2.0
- 26 ·ªÈé ¤¯¤ê¤«¤Ï 10R3.0/4.0
- 27 ÆÐ ¤È¤Ó 10R4.0/7.0
- 28 ³÷ ¤«¤Ð 10R4.0/5.0
- 29 ²«È§À÷ ¤³¤¦¤í¤»¤ó 2.5Y5.0/4.0
- 30 Ãú»ÒÃã ¤Á¤ç¤¦¤¸¤Á¤ã 5.0YR4.0/4.0
- 31 ¼Æ ¤Õ¤· 10YR4.0/4.0
- 32 Ãú»ú ¤Á¤ç¤¦¤¸ 7.5YR6.0/6.0
- 33 ÄÓ²« ¤·¤ã¤ª¤¦ 7.5YR5.5/6.0
- 34 ¥«¡¼¥¡¼ ¤«¡¼¤¡¼ 10YR6.0/7.0
- 35 ·¬ ¤¯¤ï 7.5YR6.0/5.0
- 36 ²«ÆË ¤¤Ä¤ë¤Ð¤ß 2.5Y6.5/7.0
- 37 ¹á ¤³¤¦ 10YR7.5/6.0
- 38 ²«ÅÚ ¤ª¤¦¤É 10YR7.0/7.0
- 39 »³¿á ¤ä¤Þ¤Ö¤ 3.5Y8.0/12.0
- 40 Æ£²« ¤È¤¦¤ª¤¦ 3.0Y8.0/14.0
- 41 ݵ¶â ¤¦¤³¤ó 4.5Y8.0/12.0
- 42 ´¢°Â ¤«¤ê¤ä¤¹ 5.0Y8.0/10.0
- 43 ²«[é/ÌÚ] ¤¤Ï¤À 4.5Y8.0/8.0
- 44 »Ù»Ò ¤¯¤Á¤Ê¤· 3.0Y8.0/7.0
- 45 ¶Ì»Ò ¤¿¤Þ¤´ 4.0Y8.0/8.0
- 46 ó´ ¤Ò¤ï 10Y8.0/10.0
- 47 ó´Ë¨²« ¤Ò¤ï¤â¤¨¤® 5.0GY7.0/8.0
- 48 òô ¤¦¤°¤¤¤¹ 7.5GY5.5/5.0
- 49 ˨²« ¤â¤¨¤® 10GY5.5/9.0
- 50 ÎÐ ¤ß¤É¤ê 10GY4.0/6.0
- 51 ÎÐÀÄ ¤í¤¯¤·¤ç¤¦ 5.0G6.0/8.0
- 52 ÇòÎÐ ¤Ó¤ã¤¯¤í¤¯ 2.5G8.0/2.0
- 53 ¾¾ÍÕ ¤Þ¤Ä¤Ð 7.5G5.0/5.0
- 54 »³ÍõÀ¢ ¤ä¤Þ¤¢¤¤¤º¤ê 5.0BG/4.0/4.0
- 55 ³¤¾¾ ¤ß¤ë 2.5GY3.5/2.0
- 56 Õ»Ãã ¤³¤Ó¤Á¤ã 10Y4.0/2.0
- 57 ÀÄÇòÆË ¤¢¤ª¤·¤í¤Ä¤ë¤Ð¤ß 5.0GY7.5/3.0
- 58 ²Ø»Òº° ¤Ê¤¹¤³¤ó 7.5PB/2.3/3.0
- 59 º° ¤³¤ó 7.5PB3.0/3.0
- 60 Ǽ¸Í ¤Ê¤ó¤É 5.0PB3.0/4.0
- 61 º°ÀÄ ¤³¤ó¤¸¤ç¤¦ 8.5PB3.0/12.0
- 62 ΰÍþ ¤ë¤ê 7.5PB3.0/12.0
- 63 ·²ÀÄ ¤°¤ó¤¸¤ç¤¦ 6.0PB3.5/12.0
- 64 Çò·² ¤Ó¤ã¤¯¤°¤ó 7.5B6.0/4.0
- 65 åÝ ¤Ï¤Ê¤À 10B3.5/5.0
- 66 Àõ²« ¤¢¤µ¤® 10BG6.0/3.0
- 67 ÌÇ»ç ¤á¤Ã¤· 5.0P2.5/4.0
- 68 ¿¼»ç ¤³¤à¤é¤µ¤ 5.0P2.5/4.0
- 69 ÆóÍõ ¤Õ¤¿¤¢¤¤ 5.0P4.0/3.0
- 70 »ç ¤à¤é¤µ¤ 7.5P3.5/4.0
- 71 Éòƺ ¤¨¤Ó 7.5P3.5/6.0
- 72 ¿¼Èì ¤³¤¤Ò 8.5R4.5/4.0
- 73 µË¹¼ ¤¤¤ç¤¦ 10PB3.5/10
- 74 Æ£ ¤Õ¤¸ 7.5P5.0/8.0
- 75 ²´Ã° ¤Ü¤¿¤ó 5.0RP4.5/14
- 76 ËÏ ¤¹¤ß N1.5/0
- 77 ËÏÆË ¤¯¤í¤Ä¤ë¤Ð¤ß 5.0YR3.0/0.5
- 78 ⥠¤¯¤ê 2.5YR3.0/0.5
- 79 Æß ¤Ë¤Ó 7.5R4.0/0.5
- 80 ÀÄÆß ¤¢¤ª¤Ë¤Ó 5.0B4.0/0.5
- 81 Íøµ×ÁÍ ¤ê¤¤å¤¦¤Í¤º¤ß 5.0G4.5/0.5
- 82 ³¥ ¤Ï¤¤ 5.0GY5.0/0.5
;;; Code:
-(setq flim-modules '(
+(setq flim-modules '(mime-def
+ mel mel-dl mel-b mel-q mel-u mel-g
closure
natset
digraph
automata rx lex
lr-driver
+ ew-var
ew-util
ew-line
ew-quote
ew-scan-u
ew-dec
std11
- mime-def
- mel mel-dl mel-b mel-q mel-u mel-g
eword-decode eword-encode
mime mime-parse mmbuffer mmcooked
;; mime-lib
+(require 'ew-var)
(provide 'ew-data)
(defun ew-make-anchor (column str)
frag))
(ew-frag-list anchor)))
+(defun ew-separate-eword (frag1 frag2 targets)
+ (while (not (eq frag1 frag2))
+ (when (and (memq (get frag1 'type) targets)
+ (string-match ew-encoded-word-regexp
+ (symbol-name frag1))
+ (or (< 0 (match-beginning 0))
+ (< (match-end 0) (length (symbol-name frag1)))))
+ (let ((atom (symbol-name frag1))
+ (base (get frag1 'start))
+ (start (match-end 0))
+ result
+ frag)
+ (when (< 0 (match-beginning 0))
+ (setq frag (make-symbol (substring atom 0 (match-beginning 0)))
+ result(ew-rcons* result frag))
+ (put frag 'start base)
+ (put frag 'end (+ base (match-beginning 0))))
+ (setq frag (make-symbol (substring atom (match-beginning 0) (match-end 0)))
+ result (ew-rcons* result frag))
+ (put frag 'start (+ base (match-beginning 0)))
+ (put frag 'end (+ base (match-end 0)))
+ (when (cdr result)
+ (put frag 'prev-frag (cadr result))
+ (put (cadr result) 'next-frag frag)
+ (setq frag (cadr result)))
+ (put frag 'prev-frag (get frag1 'prev-frag))
+ (put (get frag1 'prev-frag) 'next-frag frag)
+ (while (string-match ew-encoded-word-regexp atom start)
+ (when (< start (match-beginning 0))
+ (setq frag (make-symbol (substring atom start (match-beginning 0)))
+ result (ew-rcons* result frag))
+ (put frag 'start (+ base start))
+ (put frag 'end (+ base (match-beginning 0)))
+ (put frag 'prev-frag (cadr result))
+ (put (cadr result) 'next-frag frag))
+ (setq frag (make-symbol (substring atom (match-beginning 0) (match-end 0)))
+ result (ew-rcons* result frag)
+ start (match-end 0))
+ (put frag 'start (+ base (match-beginning 0)))
+ (put frag 'end (+ base (match-end 0)))
+ (put frag 'prev-frag (cadr result))
+ (put (cadr result) 'next-frag frag))
+ (when (< start (length (symbol-name frag1)))
+ (setq frag (make-symbol (substring atom start))
+ result (ew-rcons* result frag))
+ (put frag 'start (+ base start))
+ (put frag 'end (get frag1 'end))
+ (put frag 'prev-frag (cadr result))
+ (put (cadr result) 'next-frag frag))
+ (setq frag (car result))
+ (put frag 'next-frag (get frag1 'next-frag))
+ (put (get frag1 'next-frag) 'prev-frag frag)
+ (while result
+ (setq frag (car result)
+ result (cdr result))
+ (put frag 'anchor (get frag1 'anchor))
+ (put frag 'type (get frag1 'type))
+ (put frag 'decode (get frag1 'decode))
+ (put frag 'line-length (get frag1 'line-length)))))
+ (setq frag1 (get frag1 'next-frag))))
+
;;; phrase marking
(defun ew-mark-phrase (frag1 frag2)
+ (when ew-decode-sticked-encoded-word
+ (ew-separate-eword
+ frag1 frag2
+ (if ew-decode-quoted-encoded-word
+ '(ew:raw-atom-tok
+ ew:raw-qs-texts-tok)
+ '(ew:raw-atom-tok))))
(while (not (eq frag1 frag2))
(unless (ew-comment-frag-p frag2)
(put frag2 'decode 'ew-decode-phrase))
(require 'ew-parse)
(provide 'ew-dec)
-;;; user customizable variable.
-
-(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)
-
-;; 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+-tok)
- ("sender" ew-scan-unibyte-std11 . ew:tag-mailbox-tok)
- ("to" ew-scan-unibyte-std11 . ew:tag-address+-tok)
- ("resent-to" ew-scan-unibyte-std11 . ew:tag-address+-tok)
- ("cc" ew-scan-unibyte-std11 . ew:tag-address+-tok)
- ("resent-cc" ew-scan-unibyte-std11 . ew:tag-address+-tok)
- ("bcc" ew-scan-unibyte-std11 . ew:tag-address*-tok)
- ("resent-bcc" ew-scan-unibyte-std11 . ew:tag-address*-tok)
- ("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*-tok)
- ("references" ew-scan-unibyte-std11 . ew:tag-phrase-msg-id*-tok)
- ("keywords" ew-scan-unibyte-std11 . ew:tag-phrase*-tok)
- ("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+-tok)
- ("received" ew-scan-unibyte-std11)
- ("resent-reply-to" ew-scan-unibyte-std11 . ew:tag-address+-tok)
- ("resent-from" ew-scan-unibyte-std11 . ew:tag-mailbox+-tok)
- ("resent-sender" ew-scan-unibyte-std11 . ew:tag-mailbox-tok)
- ("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)
-))
-(defvar ew-decode-field-default-syntax '(ew-scan-unibyte-unstructured))
-
(defun ew-decode-field (field-name field-body &optional eword-filter)
"Decode MIME RFC2047 encoded-words in a field.
FIELD-NAME is a name of the field such as \"To\", \"Subject\" etc. and
(setq tmp ew-decode-field-default-syntax))
(setq frag-anchor (funcall (car tmp) (1+ (length field-name)) field-body))
;;(setq zzz frag-anchor)
+ (when (and (eq (car tmp) 'ew-scan-unibyte-unstructured)
+ ew-decode-sticked-encoded-word)
+ (ew-separate-eword (get frag-anchor 'next-frag)
+ frag-anchor
+ '(ew:raw-us-texts-tok)))
(when (cdr tmp)
(ew-mark (cdr tmp) frag-anchor))
(setq frag1 (get frag-anchor 'next-frag))
(ew-parse
(lambda () (if (null tlist) '(0)
(prog1 (car tlist) (setq tlist (cdr tlist)))))
- (lambda (msg tok) (setq zzz-anchor anchor) (message "parse error: %s%s : %s" msg tok anchor)))))
+ (lambda (msg tok) (message "parse error: %s%s : %s" msg tok anchor)))))
(defun ew-decode-none (anchor frag end eword-filter)
(while (not (eq frag end))
;;; quoted encoded word library
+(require 'ew-var)
(require 'ew-util)
(require 'ew-line)
(provide 'ew-quote)
;; C : encoded-text.
(defconst ew-quoting-char ?+)
-(defconst ew-quoting-char-singleton (list ew-quoting-char))
(defconst ew-quoting-chars-regexp
(concat (regexp-quote (char-to-string ew-quoting-char)) "*"))
-(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 "?=")))
-
(defconst ew-type2-regexp
(concat (regexp-quote "=?")
"\\(" ew-token-regexp "\\)"
(ew-quote-concat "a=?+A?B?C?=?+D?E?F?" '("=?+US-ASCII?Q?z?=")) ;"a=?+++A?B?C?=?+D?E?F?=?+US-ASCII?Q?z?="
(ew-quote-concat "a=?+A?B?C?=?+D?E?F?=?+G?H?I?" '("=?+US-ASCII?Q?z?=")) ;"a=?+++A?B?C?=?+D?E?F?=?+++++G?H?I?==?+US-ASCII?Q?z?="
(ew-quote-concat '("a=?++A?B?C?==?+++A?B?C?=c")) ;"a=?A?B?C?=?+A?B?C?=c"
-)
\ No newline at end of file
+)
;;; Code:
(defconst mime-library-version-string
- "FLIM-FLAM 1.9.1 - \"\e$B`O!9Hl\e(B\" 7.5R4.5/14.0")
+ "FLAM-DOODLE 1.9.0 - \"\e$B9HHl\e(B\" 7.5R5.0/13.0")
;;; @ variables