X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=TESTPAT;h=09b57fc4e3b4aa05aed4ee8291cb07cc4c9e5a47;hb=955b92b07f71c449e9ff8f2b49b7e12408527cec;hp=ac8d20c1d9392178bfdb983d1bd8d17f61d52521;hpb=3d3d9f9ec78609e668995ff09a8740e4a62879a0;p=elisp%2Fflim.git diff --git a/TESTPAT b/TESTPAT index ac8d20c..09b57fc 100644 --- a/TESTPAT +++ b/TESTPAT @@ -18,8 +18,72 @@ ;;; test driver -(setq decode-test 'decode-flam) -(setq encode-test 'encode-flam) +;;; FLIM or FLAM +'(progn +(require 'mime) +(require 'ew-line) + +(if (< max-specpdl-size 1000) + (setq max-specpdl-size 1000)) + +(defun decode-test (src dsts &rest opts) + (setq src (ew-crlf-to-lf src)) + (setq eword-lexical-analyze-cache nil) + (setq eword-decode-sticked-encoded-word + (or (memq 'permit-sticked-comment opts) + (memq 'permit-sticked-special opts))) + (setq eword-decode-quoted-encoded-word nil) + (with-temp-buffer + (insert src "\n" mail-header-separator) + (eword-decode-header 'us-ascii mail-header-separator) + (goto-char (point-min)) + (std11-narrow-to-header mail-header-separator) + (std11-field-end) + (let ((result (std11-unfold-string + (buffer-substring (point-min) (point))))) + (if (member result dsts) t result)))) + +(defun encode-test (src dsts &rest opts) + (setq eword-lexical-analyze-cache nil) + (setq eword-decode-sticked-encoded-word nil) + (setq eword-decode-quoted-encoded-word nil) + (with-temp-buffer + (insert src "\n" mail-header-separator) + (goto-char (point-min)) + (eword-encode-header 'us-ascii) + (goto-char (point-min)) + (std11-narrow-to-header mail-header-separator) + (std11-field-end) + (let ((result (buffer-substring (point-min) (point)))) + (if (member result dsts) t result)))) +) + +;;; EW +(progn +(require 'ew-dec) +(require 'ew-line) + +(defun decode-test (src dsts &rest opts) + (let ((ew-decode-quoted-encoded-word nil) + (ew-ignore-75bytes-limit (memq 'ignore-75bytes-limit opts)) + (ew-ignore-76bytes-limit (memq 'ignore-76bytes-limit opts)) + (ew-permit-sticked-comment (memq 'permit-sticked-comment opts)) + (ew-permit-sticked-special (memq 'permit-sticked-special opts))) + (string-match "\\`[^:]*:" src) + (let* ((field-name (substring src + (match-beginning 0) + (1- (match-end 0)))) + (field-body (substring src (match-end 0))) + (result (ew-crlf-unfold + (concat field-name ":" + (ew-decode-field field-name field-body))))) + (if (member result dsts) t result)))) + +(defun encode-test (src dsts &rest opts) + nil) +) + +;;; (setq decode-succ-count 0) (setq decode-all-count 0) @@ -27,7 +91,7 @@ (if (stringp dsts) (setq dsts (list dsts))) (setq decode-all-count (1+ decode-all-count)) (let ((res (condition-case nil - (apply decode-test src dsts opts) + (apply 'decode-test src dsts opts) (error nil)))) (if (eq res t) (progn @@ -42,7 +106,7 @@ (if (stringp dsts) (setq dsts (list dsts))) (setq encode-all-count (1+ encode-all-count)) (let ((res (condition-case nil - (apply encode-test src dsts opts) + (apply 'encode-test src dsts opts) (error nil)))) (if (eq res t) (progn @@ -59,40 +123,6 @@ (+ decode-succ-count encode-succ-count) (+ decode-all-count encode-all-count)))) -;;; 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 - (or (memq 'permit-sticked-comment opts) - (memq 'permit-sticked-special opts))) - (setq eword-decode-quoted-encoded-word nil) - (with-temp-buffer - (insert src "\n" mail-header-separator) - (eword-decode-header 'us-ascii mail-header-separator) - (goto-char (point-min)) - (std11-narrow-to-header mail-header-separator) - (std11-field-end) - (let ((result (buffer-substring (point-min) (point)))) - (if (member result dsts) t result)))) - -(defun encode-flam (src dsts &rest opts) - (setq eword-lexical-analyze-cache nil) - (setq eword-decode-sticked-encoded-word nil) - (setq eword-decode-quoted-encoded-word nil) - (with-temp-buffer - (insert src "\n" mail-header-separator) - (goto-char (point-min)) - (eword-encode-header 'us-ascii) - (goto-char (point-min)) - (std11-narrow-to-header mail-header-separator) - (std11-field-end) - (let ((result (buffer-substring (point-min) (point)))) - (if (member result dsts) t result)))) - ;;;start-test ;;; Section 1: Decoding examples from RFC2047 @@ -110,7 +140,7 @@ "CC: Andr.ANi Pirard ")*B (decode -"Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?= +"Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=\r =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=" "Subject: If you can read this you understand the example.") @@ -123,7 +153,7 @@ "From: Patrik F.ANdltstrNvm ")*B (decode -"From: Nathaniel Borenstein +"From: Nathaniel Borenstein \r (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)" "From: Nathaniel Borenstein (.HNmNeNlNy NoNa NiNlNhNtNp)")*B @@ -144,7 +174,7 @@ "From: foo@bar.baz (ab)") (decode -"From: foo@bar.baz (=?ISO-8859-1?Q?a?= +"From: foo@bar.baz (=?ISO-8859-1?Q?a?=\r =?ISO-8859-1?Q?b?=)" "From: foo@bar.baz (ab)") @@ -173,7 +203,7 @@ "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)") (decode -"Subject: (=?ISO-8859-1?Q?a?= +"Subject: (=?ISO-8859-1?Q?a?=\r =?ISO-8859-1?Q?b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)") @@ -192,19 +222,19 @@ "From: $B$"(B ") (decode -"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?= +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: $B$"$$(B ") (decode -"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= - =?ISO-2022-JP?B?GyRCJCQbKEI=?= +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: $B$"$$(B ") (decode -"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= - =?ISO-2022-JP?B?GyRCJCQbKEI=?= +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: $B$"$$(B ") @@ -213,8 +243,8 @@ "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=?= +"From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)") @@ -260,7 +290,8 @@ (decode "From: =?US-ASCII?Q?=28?= , =?US-ASCII?Q?=29?= " -"From: \"(\" , \")\" ") +"From: \"(\" , \")\" " +'ignore-76bytes-limit) (decode "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= " @@ -319,13 +350,13 @@ "Subject: =?ISO-2022-JP?B??=") (decode -"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a +"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a\r =?ISO-2022-JP?B?GyRCJCQbKEI=?=" "Subject: $B$"(B a $B$$(B") (decode -"Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?= - =?US-ASCII?Q?____________________________________________________________?= +"Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=\r + =?US-ASCII?Q?____________________________________________________________?=\r =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=" "Subject: $B0$(B $BR_(B") @@ -448,10 +479,10 @@ (decode "From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= " -"From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") +"From:$B$"(B ") (decode -"From: akr@jaist.ac.jp +"From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\\a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B\\a$B$$(B)") @@ -495,7 +526,7 @@ "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" ") (decode -"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=) +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r " "From: $B$"(B($B$"(B) " 'permit-sticked-comment) @@ -566,22 +597,22 @@ ;;; Section 4: Decoding invalid inputs. (decode -"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= ") (decode -"From: akr@jaist.ac.jp +"From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)") (decode -"From: akr@jaist.ac.jp +"From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)") (decode -"From: akr@jaist.ac.jp +"From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" 'ignore-76bytes-limit) @@ -630,6 +661,10 @@ "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=" "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=") +(decode +"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?= =?ISO-2022-JP?B?GyRCJCIbKEI=?=" +"Subject: $B$"(B=?=$B$"(B") + ;;; Section 5: Encoding proper inputs. (encode @@ -658,8 +693,8 @@ (encode "Subject: $B0$(B $BR_(B" -"Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?= - =?US-ASCII?Q?____________________________________________________________?= +"Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=\r + =?US-ASCII?Q?____________________________________________________________?=\r =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=") (encode @@ -699,7 +734,7 @@ (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B)aaaaaaaaaaaaaaaaaaaa " -"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?= +"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode @@ -725,12 +760,12 @@ (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B) aaaaaaaaaaaaaaaaaaaa " -"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=) +"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)\r aaaaaaaaaaaaaaaaaaaa ") (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"(B $B$$(B)aaaaaaaaaaaaaaaaaaaa " -"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEIgCg==?= +"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEIgCg==?=\r =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode @@ -739,55 +774,55 @@ (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaa " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaa +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: - (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"From:\r + (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: - (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"From:\r + (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= - =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " 'zero-characters-encoded-word-hack) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= - =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " 'zero-characters-encoded-word-hack) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " 'separate-sticked-tokens-for-fold) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaa?= +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaa?=\r =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= " 'encode-long-ascii-string-for-fold 'permit-sticked-special) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r aaaaaaaaaaaaaaaa " 'divide-atom-for-fold) @@ -800,13 +835,13 @@ (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa($B$"(B)aa " -"From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= +"From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=\r =?US-ASCII?Q?a?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa " 'encode-long-ascii-string-for-fold) (encode "From: $B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa($B$"(B)aa " -"From: =?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==?= +"From: =?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==?=\r =?US-ASCII?Q?aaaaaaaaaaaaaaa?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa" 'encode-long-ascii-string-for-fold) @@ -816,76 +851,76 @@ (encode "From: (((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))) " -"From: ((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyRCJCIbKEI=?= - =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))) +"From: ((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))\r " 'zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))) " -"From: (((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= - =?ISO-2022-JP?B?GyRCJCIbKEI=?=))))))))))))))))))))))))))))))))))))))))) +"From: (((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyRCJCIbKEI=?=)))))))))))))))))))))))))))))))))))))))))\r " 'zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))) " -"From: ((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= - =?ISO-2022-JP?B?GyRCJCIbKEI=?=)))))))))))))))))))))))))))))))))))))))))))))) +"From: ((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyRCJCIbKEI=?=))))))))))))))))))))))))))))))))))))))))))))))\r " '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?=))))))))))))))))))))))))))))))))))))))))))))))) +"From: (((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))\r " '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?=)))))))))))))))))))))))))))))))))))))))))))))))) +"From:\r + ((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))\r " '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?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) +"From:\r + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r " '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?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) +"From:\r + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r " '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?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) +"From:\r + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r " '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?=)))))))))))))))))))))))) +"From:\r + ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyhC?=((=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))=?ISO-2022-JP?B?GyhC?=\r + =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))\r " 'zero-characters-encoded-word-hack) @@ -895,26 +930,26 @@ (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()() " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()() +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()\r ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()() " -"From: - (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()()()() +"From:\r + (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()()()()\r ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()()() " -"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= - =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()()()()()()()()() +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()()()()()()()()()\r " '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?= +"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()(=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()() " 'zero-characters-encoded-word-hack) @@ -924,35 +959,35 @@ (encode "To: l@d ($B$"(B aaaa)($B$"(B)" -"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r aaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" -"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" -"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?= +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=\r =?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=?= +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=\r =?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 +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r =?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 +"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") ;---------------------------------------------------------------------------- @@ -961,14 +996,14 @@ (encode "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" -"From: akr@jaist.ac.jp +"From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" 'ignore-76bytes-limit) (encode "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" -"From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?= - =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?= +"From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" 'zero-characters-encoded-word-hack) @@ -979,13 +1014,13 @@ (encode "From: $B$"(B($B$"(B) " -"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=) +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r " 'permit-sticked-comment) (encode "From: $B$"(B($B$"(B) " -"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) +"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r " 'separate-sticked-comment) @@ -1036,13 +1071,13 @@ (encode "To: $B$"(B:$B$$(B;" -"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?= +"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r =?ISO-2022-JP?B?GyhC?=;" 'zero-characters-encoded-word-hack 'permit-sticked-special) (encode "To: $B$"(B:$B$$(B;" -"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?= +"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r ;" 'separate-sticked-special) @@ -1053,15 +1088,15 @@ (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" -"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?= - =?ISO-2022-JP?B?GyhC?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?= +"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r + =?ISO-2022-JP?B?GyhC?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=\r =?ISO-2022-JP?B?GyhC?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" 'zero-characters-encoded-word-hack 'permit-sticked-special) (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" -"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?= - , =?ISO-2022-JP?B?GyRCJCYbKEI=?= ;, +"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r + , =?ISO-2022-JP?B?GyRCJCYbKEI=?= ;,\r =?ISO-2022-JP?B?GyRCJCgbKEI=?= " 'separate-sticked-special) @@ -1157,7 +1192,7 @@ 'quoted-encoded-word) (decode -"Subject: =?ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?= +"Subject: =?ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?=\r =?ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?=" "Subject: =?+ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?==?+ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?=" 'quoted-encoded-word) @@ -1173,13 +1208,13 @@ 'quoted-encoded-word) (decode -"Subject: =?Unknown-Charset?B?gqA=?= +"Subject: =?Unknown-Charset?B?gqA=?=\r =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) (decode -"Subject: =?Unknown-Charset?B?gqA=?= +"Subject: =?Unknown-Charset?B?gqA=?=\r =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) @@ -1211,7 +1246,7 @@ (decode "Subject: =?US-ASCII?Q?a=0D=0A_b?=" -"Subject: a=?+US-ASCII?Q?=0D=0A?= b" +"Subject: a b" 'quoted-encoded-word) (decode