From 3d3d9f9ec78609e668995ff09a8740e4a62879a0 Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 22 Jul 1998 16:49:55 +0000 Subject: [PATCH] * TESTPAT: Add 25 tests. * TESTPAT: Fix comment convention. * eword-decode.el (decode-entire-string): Add formal argument `chars-must-be-quote'. (eword-decode-unstructured): Add argument actual `chars-must-be-quote'. (eword-decode-comment): Add argument actual `chars-must-be-quote'. (eword-decode-quoted-string): Add argument actual `chars-must-be-quote'. (eword-analyze-quoted-string): Does not quote result of `eword-decode-quoted-string' as quoted-string because the result is now already quoted-string form. --- ChangeLog | 16 +++ TESTPAT | 356 ++++++++++++++++++++++++++++++++++++++++--------------- eword-decode.el | 17 +-- 3 files changed, 286 insertions(+), 103 deletions(-) diff --git a/ChangeLog b/ChangeLog index 521c423..1da1b3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +Wed Jul 22 16:40:07 GMT 1998 +1998-07-22 Tanaka Akira + + * TESTPAT: Add 25 tests. + + * TESTPAT: Fix comment convention. + + * eword-decode.el (decode-entire-string): Add formal argument + `chars-must-be-quote'. + (eword-decode-unstructured): Add argument actual `chars-must-be-quote'. + (eword-decode-comment): Add argument actual `chars-must-be-quote'. + (eword-decode-quoted-string): Add argument actual `chars-must-be-quote'. + (eword-analyze-quoted-string): Does not quote result of + `eword-decode-quoted-string' as quoted-string because the result is + now already quoted-string form. + 1998-07-21 Tanaka Akira * TESTPAT: add two tests. diff --git a/TESTPAT b/TESTPAT index 0883562..ac8d20c 100644 --- a/TESTPAT +++ b/TESTPAT @@ -2,19 +2,19 @@ ;-------- This sequece of HYPHEN-MINUS is 76 bytes long. -------------------- ;---------------------------------------------------------------------------- -; options: -;encode-sticked-comment-as-atom ; violate the policy preserving structures -;ignore-75bytes-limit ; violate RFC2047 -;ignore-76bytes-limit ; violate RFC2047 -;permit-sticked-comment ; violate RFC2047 -;permit-sticked-special ; violate RFC2047 -;separate-sticked-comment ; violate the policy preserving absence of space -;separate-sticked-special ; violate the policy preserving absence of space -;zero-characters-encoded-word-hack ; violate common sense (very tricky) -;quoted-encoded-word ; violate character sequence semantics -;separate-sticked-tokens-for-fold ; violate the policy preserving absence of space -;encode-long-ascii-string-for-fold ; violate the policy preserving US-ASCII string -;divide-atom-for-fold ; violate tne policy preserving absence of space +;;; options: +;;encode-sticked-comment-as-atom ; violate the policy preserving structures +;;ignore-75bytes-limit ; violate RFC2047 +;;ignore-76bytes-limit ; violate RFC2047 +;;permit-sticked-comment ; violate RFC2047 +;;permit-sticked-special ; violate RFC2047 +;;separate-sticked-comment ; violate the policy preserving absence of space +;;separate-sticked-special ; violate the policy preserving absence of space +;;zero-characters-encoded-word-hack ; violate common sense (very tricky) +;;quoted-encoded-word ; violate character sequence semantics +;;separate-sticked-tokens-for-fold ; violate the policy preserving absence of space +;;encode-long-ascii-string-for-fold ; violate the policy preserving US-ASCII string +;;divide-atom-for-fold ; violate tne policy preserving absence of space ;;; test driver @@ -40,7 +40,7 @@ (setq encode-all-count 0) (defun encode (src dsts &rest opts) (if (stringp dsts) (setq dsts (list dsts))) - (setq encode-all-count (1+ decode-all-count)) + (setq encode-all-count (1+ encode-all-count)) (let ((res (condition-case nil (apply encode-test src dsts opts) (error nil)))) @@ -61,6 +61,9 @@ ;;; FLAM specific part (FLIM is OK) +(if (< max-specpdl-size 1000) + (setq max-specpdl-size 1000)) + (defun decode-flam (src dsts &rest opts) (setq eword-lexical-analyze-cache nil) (setq eword-decode-sticked-encoded-word @@ -90,9 +93,9 @@ (let ((result (buffer-substring (point-min) (point)))) (if (member result dsts) t result)))) -;;;start-test;;; +;;;start-test -;; Section 1: Decoding examples from RFC2047 +;;; Section 1: Decoding examples from RFC2047 (decode "From: =?US-ASCII?Q?Keith_Moore?= " @@ -182,7 +185,7 @@ "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)") -;; Section 2: Decoding proper inputs. +;;; Section 2: Decoding proper inputs. (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= " @@ -206,6 +209,10 @@ "From: $B$"$$(B ") (decode +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"ja \\\"a\\\"\" " +"From: $B$"(B \"ja \\\"a\\\"\" ") + +(decode "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?= =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" @@ -437,7 +444,7 @@ "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test" 'permit-sticked-special) -;; Section 3: Decoding melancholic inputs. +;;; Section 3: Decoding melancholic inputs. (decode "From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= " @@ -556,7 +563,7 @@ "Subject:$B$"(B" 'permit-sticked-special) -;; Section 4: Decoding invalid inputs. +;;; Section 4: Decoding invalid inputs. (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= @@ -623,7 +630,7 @@ "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=" "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=") -;; Section 5: Encoding proper inputs. +;;; Section 5: Encoding proper inputs. (encode "From: $B$"(B " @@ -638,6 +645,10 @@ "From: =?ISO-2022-JP?B?GyRCJCIbKEIgGyRCJCQbKEI=?= ") (encode +"From: .AN! N! "*B +"From: =?ISO-8859-1?Q?=A1_=A1?= ") + +(encode "From: \"$B$"(B($B$"(B)\" " "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= ") @@ -793,7 +804,160 @@ =?US-ASCII?Q?a?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa " 'encode-long-ascii-string-for-fold) -;; Section 6: Encoding melancholic inputs. +(encode +"From: $B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa($B$"(B)aa " +"From: =?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==?= + =?US-ASCII?Q?aaaaaaaaaaaaaaa?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa" +'encode-long-ascii-string-for-fold) + +(encode +"From: ($B$"(B) " +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) ") + +(encode +"From: (((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))) " +"From: ((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: ((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))) " +"From: (((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyRCJCIbKEI=?=))))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: (((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))) " +"From: ((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyRCJCIbKEI=?=)))))))))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: ((((((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))))))) " +"From: (((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: (((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))) " +"From: + ((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: (((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))))))))) " +"From: + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: ((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))) " +"From: + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))))))))))))))) " +"From: + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: (((((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))))))))))) " +"From: + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyhC?=((=?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))) + " +'zero-characters-encoded-word-hack) + +(encode +"From: ()($B$"(B)() " +"From: ()(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)() ") + +(encode +"From: ($B$"(B)()()()()()()()()()()()()()()()()()()() " +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()() + ") + +(encode +"From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()() " +"From: + (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()()()() + ") + +(encode +"From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()()() " +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()()()()()()()()() + " +'zero-characters-encoded-word-hack) + +(encode +"From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()()()()()()() " +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= + =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()(=?ISO-2022-JP?B?GyhC?= + =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()() " +'zero-characters-encoded-word-hack) + +(encode +"To: l@d ($B$"(B aaa)($B$"(B)" +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") + +(encode +"To: l@d ($B$"(B aaaa)($B$"(B)" +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= + aaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") + +(encode +"To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") + +(encode +"To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?= + =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" +'encode-long-ascii-string-for-fold) + +(encode +"To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()$B$"(B)" +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?= + =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=()=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" +'encode-long-ascii-string-for-fold) + +(encode +"To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa $B$"(B)($B$"(B)" +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") + +(encode +"To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa $B$"(B)($B$"(B)" +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") + +;---------------------------------------------------------------------------- + +;;; Section 6: Encoding melancholic inputs. (encode "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" @@ -901,81 +1065,81 @@ =?ISO-2022-JP?B?GyRCJCgbKEI=?= " 'separate-sticked-special) -;; Section 7: Using quoted-encoded-words. -; +;;; Section 7: Using quoted-encoded-words. +;; ;; quoted-encoded-word $BI=8=(B -; -; RFC2047 $B$N%G%3!<%@$O@x:_E*$K(B($B%G%3!<%I7k2L$G$J$/(B) encoded-word $B$=$N$b$N$r(B -; $B=PNO$7$J$1$l$P$J$i$J$$$3$H$,$"$k!#(B -; -; 1. $BCN$i$J$$(B charset $B$b$7$/$O(B encoding $B$,;XDj$5$l$F$$$?$H$-!#(B -; =?unknown-charset?known-encoding?some-encoded-text?= -; =?known-charset?unknown-encoding?some-encoded-text?= -; =?unknown-charset?unknown-encoding?some-encoded-text?= -; -; 2. $B%G%3!<%I$G$-$F$bFbMF$,7uF]$9$.$k$H$-!#(B -; Non ASCII $B3HD%(B RFC822 $B$NCf$K(B =?US-ASCII?Q?=0D=0A=0D=0A?= $B$N%G%3!<%I(B -; $B7k2L$rKd$a9~$`$N$O4m81$9$.$k!#(B -; -; $B$^$?!"%G%3!<%@$O(B encoded-word $B$N$h$&$K$_$($k%G%3!<%I7k2L$r=PNO$7$J$1(B -; $B$l$P$J$i$J$$$3$H$b$"$k!#(B -; -; =?US-ASCII?Q?=3D=3FUS-ASCII=3FQ=3Ftext=3F=3D?= -; -; $B%G%3!<%@$,C1$J$kJ8;zNs$r=PNO$9$k>l9g!"C1=c$K$d$k$H(B encoded-word $B$=$N$b$N$H(B -; encoded-word $B$N$h$&$K$_$($kJ8;zNs$r6hJL$G$-$J$$!#(B -; $B$3$3$G$OJ8;zNsCf$G$=$l$i$r3Nl9g(B(0, 2, 4, ...): charset $B$N@hF,$N(B + $B$N?t$rH>J,$K$7$?J8;zNs(B -; $B4q?t$N>l9g(B(1, 3, 5, ...): charset $B$N@hF,$N(B + $B$N?t$rH>J,(B($B>.?tE@0J2<(B -; $B@Z$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs(B -; =?+US-ASCII?Q?abcd?= $B$O(B abcd $B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"(B -; $B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#(B -; -; $B$3$l$O$H$/$K(B Non ASCII $B3HD%(B RFC822 $B$NCf$K(B quoted-encoded-word $BI=8=$r(B -; $BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#(B($BKd$a9~$s$@7k2L$O@5$7$$(B -; quoted-encoded-word $BI=8=$H$O$J$i$J$$$+$bCN$l$J$$!#(B) +;; +;; RFC2047 $B$N%G%3!<%@$O@x:_E*$K(B($B%G%3!<%I7k2L$G$J$/(B) encoded-word $B$=$N$b$N$r(B +;; $B=PNO$7$J$1$l$P$J$i$J$$$3$H$,$"$k!#(B +;; +;; 1. $BCN$i$J$$(B charset $B$b$7$/$O(B encoding $B$,;XDj$5$l$F$$$?$H$-!#(B +;; =?unknown-charset?known-encoding?some-encoded-text?= +;; =?known-charset?unknown-encoding?some-encoded-text?= +;; =?unknown-charset?unknown-encoding?some-encoded-text?= +;; +;; 2. $B%G%3!<%I$G$-$F$bFbMF$,7uF]$9$.$k$H$-!#(B +;; Non ASCII $B3HD%(B RFC822 $B$NCf$K(B =?US-ASCII?Q?=0D=0A=0D=0A?= $B$N%G%3!<%I(B +;; $B7k2L$rKd$a9~$`$N$O4m81$9$.$k!#(B +;; +;; $B$^$?!"%G%3!<%@$O(B encoded-word $B$N$h$&$K$_$($k%G%3!<%I7k2L$r=PNO$7$J$1(B +;; $B$l$P$J$i$J$$$3$H$b$"$k!#(B +;; +;; =?US-ASCII?Q?=3D=3FUS-ASCII=3FQ=3Ftext=3F=3D?= +;; +;; $B%G%3!<%@$,C1$J$kJ8;zNs$r=PNO$9$k>l9g!"C1=c$K$d$k$H(B encoded-word $B$=$N$b$N$H(B +;; encoded-word $B$N$h$&$K$_$($kJ8;zNs$r6hJL$G$-$J$$!#(B +;; $B$3$3$G$OJ8;zNsCf$G$=$l$i$r3Nl9g(B(0, 2, 4, ...): charset $B$N@hF,$N(B + $B$N?t$rH>J,$K$7$?J8;zNs(B +;; $B4q?t$N>l9g(B(1, 3, 5, ...): charset $B$N@hF,$N(B + $B$N?t$rH>J,(B($B>.?tE@0J2<(B +;; $B@Z$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs(B +;; =?+US-ASCII?Q?abcd?= $B$O(B abcd $B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"(B +;; $B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#(B +;; +;; $B$3$l$O$H$/$K(B Non ASCII $B3HD%(B RFC822 $B$NCf$K(B quoted-encoded-word $BI=8=$r(B +;; $BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#(B($BKd$a9~$s$@7k2L$O@5$7$$(B +;; quoted-encoded-word $BI=8=$H$O$J$i$J$$$+$bCN$l$J$$!#(B) (decode "Subject: =?Unknown-Charset?B?gqA=?=" @@ -1055,7 +1219,7 @@ "Subject: a=?+US-ASCII?Q?=0D=0A?=b" 'quoted-encoded-word) -;;;end-test;;; +;;;end-test (report) diff --git a/eword-decode.el b/eword-decode.el index 4663610..bee20c3 100644 --- a/eword-decode.el +++ b/eword-decode.el @@ -219,6 +219,7 @@ such as a version of Net$cape)." safe-regexp escape ; ?\\ or nil. delimiters ; list of chars. + chars-must-be-quote must-unfold code-conversion) (if (and code-conversion @@ -240,14 +241,14 @@ such as a version of Net$cape)." (setq dst (concat dst (std11-wrap-as-quoted-pairs (decode-mime-charset-string buf code-conversion) - delimiters)) + chars-must-be-quote)) buf "")) (cond (decoded (setq dst (concat dst (std11-wrap-as-quoted-pairs (car decoded) - delimiters)) + chars-must-be-quote)) src (cdr decoded))) ((memq ch delimiters) (setq dst (concat dst (list ch)) @@ -271,7 +272,7 @@ such as a version of Net$cape)." (setq dst (concat dst (std11-wrap-as-quoted-pairs (decode-mime-charset-string buf code-conversion) - delimiters)))) + chars-must-be-quote)))) dst)) @@ -286,6 +287,7 @@ such as a version of Net$cape)." "[^ \t\n=]*" nil nil + nil must-unfold code-conversion)) @@ -297,6 +299,7 @@ such as a version of Net$cape)." "[^ \t\n()\\\\=]*" ?\\ '(?\( ?\)) + '(?\( ?\) ?\\ ?\r ?\n) must-unfold code-conversion)) @@ -308,6 +311,7 @@ such as a version of Net$cape)." "[^ \t\n\"\\\\=]*" ?\\ '(?\") + '(?\" ?\\ ?\r ?\n) must-unfold code-conversion)) @@ -577,10 +581,9 @@ be the result." (if p (cons (cons 'quoted-string (if eword-decode-quoted-encoded-word - (std11-wrap-as-quoted-string - (eword-decode-quoted-string - (substring string 1 (1- p)) - default-mime-charset)) + (eword-decode-quoted-string + (substring string 0 p) + default-mime-charset) (std11-wrap-as-quoted-string (decode-mime-charset-string (std11-strip-quoted-pair (substring string 1 (1- p))) -- 1.7.10.4