* FLIM-ELS (flim-modules): Add `ew-var' and reorder. doodle-1_9_0
authorakr <akr>
Mon, 17 Aug 1998 08:53:30 +0000 (08:53 +0000)
committerakr <akr>
Mon, 17 Aug 1998 08:53:30 +0000 (08:53 +0000)
* 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',

ChangeLog
DOODLE-VERSION [new file with mode: 0644]
FLAM-VERSION [deleted file]
FLIM-ELS
ew-data.el
ew-dec.el
ew-quote.el
mime-def.el

index 79f64d2..8528a10 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 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'.
diff --git a/DOODLE-VERSION b/DOODLE-VERSION
new file mode 100644 (file)
index 0000000..0be602e
--- /dev/null
@@ -0,0 +1,91 @@
+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
diff --git a/FLAM-VERSION b/FLAM-VERSION
deleted file mode 100644 (file)
index a06ade4..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-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
index f6eaea0..f3160b2 100644 (file)
--- a/FLIM-ELS
+++ b/FLIM-ELS
@@ -4,12 +4,14 @@
 
 ;;; 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
@@ -21,8 +23,6 @@
                      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
index 612adbb..795601b 100644 (file)
@@ -1,3 +1,4 @@
+(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))
index e805aee..04121e0 100644 (file)
--- a/ew-dec.el
+++ b/ew-dec.el
@@ -6,52 +6,6 @@
 (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
@@ -74,6 +28,11 @@ instead of its argument."
       (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))
@@ -94,7 +53,7 @@ instead of its argument."
     (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))
index 66806b2..ad7c034 100644 (file)
@@ -1,5 +1,6 @@
 ;;; 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
+)
index 28d1aba..05ce308 100644 (file)
@@ -25,7 +25,7 @@
 ;;; 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