* mime-def.el (mime-library-version-string): bump up to 1.9.1.
[elisp/flim.git] / TESTPAT
1 ;----------------------------------------------------------------------------
2 ;-------- This sequece of HYPHEN-MINUS is 76 bytes long. --------------------
3 ;----------------------------------------------------------------------------
4
5 ;;; options:
6 ;;encode-sticked-comment-as-atom    ; violate the policy preserving structures
7 ;;ignore-75bytes-limit              ; violate RFC2047
8 ;;ignore-76bytes-limit              ; violate RFC2047
9 ;;permit-sticked-comment            ; violate RFC2047
10 ;;permit-sticked-special            ; violate RFC2047
11 ;;separate-sticked-comment          ; violate the policy preserving absence of space
12 ;;separate-sticked-special          ; violate the policy preserving absence of space
13 ;;zero-characters-encoded-word-hack ; violate common sense (very tricky)
14 ;;quoted-encoded-word              ; violate character sequence semantics
15 ;;separate-sticked-tokens-for-fold  ; violate the policy preserving absence of space
16 ;;encode-long-ascii-string-for-fold ; violate the policy preserving US-ASCII string
17 ;;divide-atom-for-fold             ; violate tne policy preserving absence of space
18
19 ;;; test driver
20
21 (setq decode-test 'decode-flam)
22 (setq encode-test 'encode-flam)
23
24 (setq decode-succ-count 0)
25 (setq decode-all-count 0)
26 (defun decode (src dsts &rest opts)
27   (if (stringp dsts) (setq dsts (list dsts)))
28   (setq decode-all-count (1+ decode-all-count))
29   (let ((res (condition-case nil
30                (apply decode-test src dsts opts)
31                (error nil))))
32     (if (eq res t)
33       (progn
34         (setq decode-succ-count (1+ decode-succ-count))
35         (insert "\n'dsucc"))
36       (insert (format "\n%S\n'dfail" res)))
37     res))
38
39 (setq encode-succ-count 0)
40 (setq encode-all-count 0)
41 (defun encode (src dsts &rest opts)
42   (if (stringp dsts) (setq dsts (list dsts)))
43   (setq encode-all-count (1+ encode-all-count))
44   (let ((res (condition-case nil
45                (apply encode-test src dsts opts)
46                (error nil))))
47     (if (eq res t)
48       (progn
49         (setq encode-succ-count (1+ encode-succ-count))
50         (insert "\n'esucc"))
51       (insert (format "\n%S\n'efail" res)))
52     res))
53
54 (defun report ()
55   (insert
56     (format "\n\"Decode: %d/%d  Encode: %d/%d  Total: %d/%d\""
57       decode-succ-count decode-all-count
58       encode-succ-count encode-all-count
59       (+ decode-succ-count encode-succ-count)
60       (+ decode-all-count encode-all-count))))
61
62 ;;; FLAM specific part (FLIM is OK)
63
64 (if (< max-specpdl-size 1000)
65   (setq max-specpdl-size 1000))
66
67 (defun decode-flam (src dsts &rest opts)
68   (setq eword-lexical-analyze-cache nil)
69   (setq eword-decode-sticked-encoded-word
70     (or (memq 'permit-sticked-comment opts)
71         (memq 'permit-sticked-special opts)))
72   (setq eword-decode-quoted-encoded-word nil)
73   (with-temp-buffer
74     (insert src "\n" mail-header-separator)
75     (eword-decode-header 'us-ascii mail-header-separator)
76     (goto-char (point-min))
77     (std11-narrow-to-header mail-header-separator)
78     (std11-field-end)
79     (let ((result (buffer-substring (point-min) (point))))
80       (if (member result dsts) t result))))
81
82 (defun encode-flam (src dsts &rest opts)
83   (setq eword-lexical-analyze-cache nil)
84   (setq eword-decode-sticked-encoded-word nil)
85   (setq eword-decode-quoted-encoded-word nil)
86   (with-temp-buffer
87     (insert src "\n" mail-header-separator)
88     (goto-char (point-min))
89     (eword-encode-header 'us-ascii)
90     (goto-char (point-min))
91     (std11-narrow-to-header mail-header-separator)
92     (std11-field-end)
93     (let ((result (buffer-substring (point-min) (point))))
94       (if (member result dsts) t result))))
95
96 ;;;start-test
97
98 ;;; Section 1: Decoding examples from RFC2047
99
100 (decode
101 "From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>"
102 "From: Keith Moore <moore@cs.utk.edu>")
103
104 (decode
105 "To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>"
106 "To: Keld J\e.A\eNxrn Simonsen <keld@dkuug.dk>")\e*B
107
108 (decode
109 "CC: =?ISO-8859-1?Q?Andr=E9?= Pirard <PIRARD@vm1.ulg.ac.be>"
110 "CC: Andr\e.A\eNi Pirard <PIRARD@vm1.ulg.ac.be>")\e*B
111
112 (decode
113 "Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=
114  =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?="
115 "Subject: If you can read this you understand the example.")
116
117 (decode
118 "From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= <ojarnef@admin.kth.se>"
119 "From: Olle J\e.A\eNdrnefors <ojarnef@admin.kth.se>")\e*B
120
121 (decode
122 "From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= <paf@nada.kth.se>"
123 "From: Patrik F\e.A\eNdltstr\eNvm <paf@nada.kth.se>")\e*B
124
125 (decode
126 "From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
127         (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)"
128 "From: Nathaniel Borenstein <nsb@thumper.bellcore.com>  (\e.H\eNm\eNe\eNl\eNy \eNo\eNa \eNi\eNl\eNh\eNt\eNp)")\e*B
129
130 (decode
131 "From: foo@bar.baz (=?ISO-8859-1?Q?a?=)"
132 "From: foo@bar.baz (a)")
133
134 (decode
135 "From: foo@bar.baz (=?ISO-8859-1?Q?a?= b)"
136 "From: foo@bar.baz (a b)")
137
138 (decode
139 "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
140 "From: foo@bar.baz (ab)")
141
142 (decode
143 "From: foo@bar.baz (=?ISO-8859-1?Q?a?=  =?ISO-8859-1?Q?b?=)"
144 "From: foo@bar.baz (ab)")
145
146 (decode
147 "From: foo@bar.baz (=?ISO-8859-1?Q?a?=
148         =?ISO-8859-1?Q?b?=)"
149 "From: foo@bar.baz (ab)")
150
151 (decode
152 "From: foo@bar.baz (=?ISO-8859-1?Q?a_b?=)"
153 "From: foo@bar.baz (a b)")
154
155 (decode
156 "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)"
157 "From: foo@bar.baz (a b)")
158
159 (decode
160 "Subject: (=?ISO-8859-1?Q?a?=)"
161 "Subject: (=?ISO-8859-1?Q?a?=)")
162
163 (decode
164 "Subject: (=?ISO-8859-1?Q?a?= b)"
165 "Subject: (=?ISO-8859-1?Q?a?= b)")
166
167 (decode
168 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
169 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)")
170
171 (decode
172 "Subject: (=?ISO-8859-1?Q?a?=  =?ISO-8859-1?Q?b?=)"
173 "Subject: (=?ISO-8859-1?Q?a?=  =?ISO-8859-1?Q?b?=)")
174
175 (decode
176 "Subject: (=?ISO-8859-1?Q?a?=
177         =?ISO-8859-1?Q?b?=)"
178 "Subject: (=?ISO-8859-1?Q?a?=   =?ISO-8859-1?Q?b?=)")
179
180 (decode
181 "Subject: (=?ISO-8859-1?Q?a_b?=)"
182 "Subject: (=?ISO-8859-1?Q?a_b?=)")
183
184 (decode
185 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)"
186 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)")
187
188 ;;; Section 2: Decoding proper inputs.
189
190 (decode
191 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
192 "From: \e$B$"\e(B <akr@jaist.ac.jp>")
193
194 (decode
195 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=
196  <akr@jaist.ac.jp>"
197 "From: \e$B$"$$\e(B <akr@jaist.ac.jp>")
198
199 (decode
200 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=
201  =?ISO-2022-JP?B?GyRCJCQbKEI=?=
202  <akr@jaist.ac.jp>"
203 "From: \e$B$"$$\e(B <akr@jaist.ac.jp>")
204
205 (decode
206 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=
207         =?ISO-2022-JP?B?GyRCJCQbKEI=?=
208  <akr@jaist.ac.jp>"
209 "From: \e$B$"$$\e(B <akr@jaist.ac.jp>")
210
211 (decode
212 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"ja \\\"a\\\"\" <akr@jaist.ac.jp>"
213 "From: \e$B$"\e(B \"ja \\\"a\\\"\" <akr@jaist.ac.jp>")
214
215 (decode
216 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
217  =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=
218  =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
219 "From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)")
220
221 (decode
222 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
223 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
224
225 (decode
226 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>"
227 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>")
228
229 (decode
230 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>"
231 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>")
232
233 (decode
234 "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" <akr@jaist.ac.jp>"
235 "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" <akr@jaist.ac.jp>")
236
237 (decode
238 "From: \"\\\"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\\\"\\\\\" <akr@jaist.ac.jp>"
239 "From: \"\\\"\\\\\" \e$B$"\e(B \"\\\"\\\\\" <akr@jaist.ac.jp>")
240
241 (decode
242 "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>"
243 "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>")
244
245 (decode
246 "From: =?ISO-2022-JP?Q?=1B=24BAA=1B=28B?= <akr@jaist.ac.jp>"
247 "From: \e$BAA\e(B <akr@jaist.ac.jp>")
248
249 (decode
250 "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) <akr@jaist.ac.jp>"
251 "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) <akr@jaist.ac.jp>")
252
253 (decode
254 "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)"
255 "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)")
256
257 (decode
258 "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>"
259 "From: \"\e$B$"\e(B(\e$B$"\e(B)\" <akr@jaist.ac.jp>")
260
261 (decode
262 "From: =?US-ASCII?Q?=28?= <akr@jaist.ac.jp>, =?US-ASCII?Q?=29?= <akr@jaist.ac.jp>"
263 "From: \"(\" <akr@jaist.ac.jp>, \")\" <akr@jaist.ac.jp>")
264
265 (decode
266 "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= <akr@jaist.ac.jp>"
267 "From: \"a\\\"b\e$B$"\e(Bc\\\\\" <akr@jaist.ac.jp>")
268
269 (decode
270 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?="
271 "Subject: \e$B$"\e(B")
272
273 (decode
274 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?="
275 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
276
277 (decode
278 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b"
279 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b")
280
281 (decode
282 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b"
283 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b")
284
285 (decode
286 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?="
287 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
288
289 (decode
290 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)"
291 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)")
292
293 (decode
294 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)"
295 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)")
296
297 (decode
298 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?="
299 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
300
301 (decode
302 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\""
303 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"")
304
305 (decode
306 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\""
307 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"")
308
309 (decode
310 "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
311 "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
312
313 (decode
314 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:"
315 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:")
316
317 (decode
318 "Subject: =?ISO-2022-JP?B??="
319 "Subject: =?ISO-2022-JP?B??=")
320
321 (decode
322 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a
323  =?ISO-2022-JP?B?GyRCJCQbKEI=?="
324 "Subject: \e$B$"\e(B a \e$B$$\e(B")
325
326 (decode
327 "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=
328  =?US-ASCII?Q?____________________________________________________________?=
329  =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?="
330 "Subject: \e$B0$\e(B                                                                                                                          \e$BR_\e(B")
331
332 (decode
333 "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= <akr@jaist.ac.jp>"
334 "From: \"abcdefghijklmnopqrst\e.A\eN!()\\\"\\\\\" <akr@jaist.ac.jp>")\e*B
335
336 (decode
337 "Subject: ?= =?"
338 "Subject: ?= =?")
339
340 (decode
341 "Subject: \" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \""
342 "Subject: \" \e$B$"\e(B \"")
343
344 (decode
345 "From: \"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\" <akr@jaist.ac.jp>"
346 "From: \"\\\\\" \e$B$"\e(B \"\" <akr@jaist.ac.jp>")
347
348 (decode
349 "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B_=1B$B$\"=1B(B?="
350 "Subject: \e$B$"\e(B \e$B$"\e(B")
351
352 (decode
353 "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?="
354 "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?=")
355
356 (decode
357 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?="
358 "Subject: \e$B$"\e(B a \e.H\eN`")\e*B
359
360 (decode
361 "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
362 "Subject: \e.H\eN`\e$BNm\e(B")\e*B
363
364 (decode
365 "Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
366 "Subject: \e.H\eN` \e$BNm\e(B")\e*B
367
368 (decode
369 "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?="
370 "Subject: \e.F\eNC\e$B4X?t\e(B")\e*B
371
372 (decode
373 "Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?="
374 "Subject: \e.F\eNC\e$B4X?t\e(B")\e*B
375
376 (decode
377 "Subject: =?Shift_JIS?B?gqA=?="
378 "Subject: \e$B$"\e(B"
379 'quoted-encoded-word)
380
381 (decode
382 "Subject: =?EUC-JP?B?pKI=?="
383 "Subject: \e$B$"\e(B"
384 'quoted-encoded-word)
385
386 (decode
387 "Subject: = =?ISO-2022-JP?B?GyRCJCIbKEI=?="
388 "Subject: = \e$B$"\e(B")
389
390 (decode
391 "Subject: =? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
392 "Subject: =? \e$B$"\e(B")
393
394 (decode
395 "Subject: =?ISO-2022-JP =?ISO-2022-JP?B?GyRCJCIbKEI=?="
396 "Subject: =?ISO-2022-JP \e$B$"\e(B")
397
398 (decode
399 "Subject: =?ISO-2022-JP? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
400 "Subject: =?ISO-2022-JP? \e$B$"\e(B")
401
402 (decode
403 "Subject: =?ISO-2022-JP?B =?ISO-2022-JP?B?GyRCJCIbKEI=?="
404 "Subject: =?ISO-2022-JP?B \e$B$"\e(B")
405
406 (decode
407 "Subject: =?ISO-2022-JP?B? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
408 "Subject: =?ISO-2022-JP?B? \e$B$"\e(B")
409
410 (decode
411 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI =?ISO-2022-JP?B?GyRCJCIbKEI=?="
412 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI \e$B$"\e(B")
413
414 (decode
415 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= =?ISO-2022-JP?B?GyRCJCIbKEI=?="
416 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= \e$B$"\e(B")
417
418 (decode
419 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
420 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? \e$B$"\e(B")
421
422 (decode
423 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCIbKEI=?="
424 "Subject: \e$B$"$"\e(B")
425
426 (decode
427 "Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?="
428 "Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?=")
429
430 (decode
431 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=="
432 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==")
433
434 (decode
435 "From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
436 "From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
437
438 (decode
439 "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test"
440 "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test")
441
442 (decode
443 "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test"
444 "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test"
445 'permit-sticked-special)
446
447 ;;; Section 3: Decoding melancholic inputs.
448
449 (decode
450 "From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
451 "From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
452
453 (decode
454 "From: akr@jaist.ac.jp
455  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\\a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)"
456 "From: akr@jaist.ac.jp (\e$B$"\e(B\\a\e$B$$\e(B)")
457
458 (decode
459 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
460 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
461
462 (decode
463 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
464 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>")
465
466 (decode
467 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
468 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>")
469
470 (decode
471 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
472 "From: (a)\e$B$"\e(B <akr@jaist.ac.jp>"
473 'permit-sticked-comment)
474
475 (decode
476 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
477 "From: \e$B$"\e(B(b) <akr@jaist.ac.jp>"
478 'permit-sticked-comment)
479
480 (decode
481 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
482 "From: (a)\e$B$"\e(B(b) <akr@jaist.ac.jp>"
483 'permit-sticked-comment)
484
485 (decode
486 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
487 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
488
489 (decode
490 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>"
491 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>")
492
493 (decode
494 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>"
495 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>")
496
497 (decode
498 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)
499  <akr@jaist.ac.jp>"
500 "From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
501 'permit-sticked-comment)
502
503 (decode
504 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
505 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
506
507 (decode
508 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
509 "To: \e$B$"\e(B<akr@jaist.ac.jp>"
510 'permit-sticked-special)
511
512 (decode
513 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
514 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
515
516 (decode
517 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
518 "To: <akr@jaist.ac.jp>,\e$B$"\e(B<akr@jaist.ac.jp>"
519 'permit-sticked-special)
520
521 (decode
522 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
523 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
524
525 (decode
526 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
527 "To: akr@jaist.ac.jp,\e$B$"\e(B<akr@jaist.ac.jp>"
528 'permit-sticked-special)
529
530 (decode
531 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
532 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;")
533
534 (decode
535 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
536 "To: \e$B$"\e(B:akr@jaist.ac.jp;"
537 'permit-sticked-special)
538
539 (decode
540 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
541 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;")
542
543 (decode
544 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
545 "To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
546 'ignore-76bytes-limit 'permit-sticked-special)
547
548 (decode
549 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
550 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>")
551
552 (decode
553 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
554 "To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
555 'ignore-76bytes-limit 'permit-sticked-special)
556
557 (decode
558 "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?="
559 "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
560
561 (decode
562 "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?="
563 "Subject:\e$B$"\e(B"
564 'permit-sticked-special)
565
566 ;;; Section 4: Decoding invalid inputs.
567
568 (decode
569 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?=
570  <akr@jaist.ac.jp>"
571 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= <akr@jaist.ac.jp>")
572
573 (decode
574 "From: akr@jaist.ac.jp
575  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)"
576 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)")
577
578 (decode
579 "From: akr@jaist.ac.jp
580  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
581 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)")
582
583 (decode
584 "From: akr@jaist.ac.jp
585  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
586 "From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)"
587 'ignore-76bytes-limit)
588
589 (decode
590 "Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
591 "Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
592
593 (decode
594 "Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?="
595 "Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
596
597 (decode
598 "Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
599 "Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
600
601 (decode
602 "Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?="
603 "Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
604
605 (decode
606 "Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
607 "Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
608
609 (decode
610 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?="
611 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
612
613 (decode
614 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?="
615 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?=")
616
617 (decode
618 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
619 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
620
621 (decode
622 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?="
623 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?=")
624
625 (decode
626 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?="
627 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?=")
628
629 (decode
630 "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?="
631 "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=")
632
633 ;;; Section 5: Encoding proper inputs.
634
635 (encode
636 "From: \e$B$"\e(B <akr@jaist.ac.jp>"
637 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
638
639 (encode
640 "From: \e$B$"$$\e(B <akr@jaist.ac.jp>"
641 "From: =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?= <akr@jaist.ac.jp>")
642
643 (encode
644 "From: \e$B$"\e(B \e$B$$\e(B <akr@jaist.ac.jp>"
645 "From: =?ISO-2022-JP?B?GyRCJCIbKEIgGyRCJCQbKEI=?= <akr@jaist.ac.jp>")
646
647 (encode
648 "From: \e.A\eN! \eN! <akr@jaist.ac.jp>"\e*B
649 "From: =?ISO-8859-1?Q?=A1_=A1?= <akr@jaist.ac.jp>")
650
651 (encode
652 "From: \"\e$B$"\e(B(\e$B$"\e(B)\" <akr@jaist.ac.jp>"
653 "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>")
654
655 (encode
656 "From: \"a\\\"b\e$B$"\e(Bc\\\\\" <akr@jaist.ac.jp>"
657 "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= <akr@jaist.ac.jp>")
658
659 (encode
660 "Subject: \e$B0$\e(B                                                                                                                          \e$BR_\e(B"
661 "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=
662  =?US-ASCII?Q?____________________________________________________________?=
663  =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=")
664
665 (encode
666 "Subject: \e$B0$\e(B                                                                                                                          \e$BR_\e(B"
667 "Subject: =?ISO-2022-JP?B?GyQpQrCkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDS3w=="
668 'ignore-76bytes-limit 'ignore-75bytes-limit)
669
670 (encode
671 "From: \e.A\eN! <akr@jaist.ac.jp>"\e*B
672 "From: =?ISO-8859-1?Q?=A1?= <akr@jaist.ac.jp>")
673
674 (encode
675 "From: \"abcdefghijklmnopqrst\e.A\eN!()\\\"\\\\\" <akr@jaist.ac.jp>"\e*B
676 "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= <akr@jaist.ac.jp>")
677
678 (encode
679 "From: akr@jaist.ac.jp (abcdefghijklmnopqrst\e.A\eN!\\(\\)\"\\\\)"\e*B
680 "From: akr@jaist.ac.jp (=?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29\"=5C?=)")
681
682 (encode
683 "Subject: \e$B$"\e(B a \e.H\eN`"\e*B
684 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?=")
685
686 (encode
687 "Subject: \e.H\eN`\e$BNm\e(B"\e*B
688 "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=")
689
690 (encode
691 "Subject: \e.H\eN` \e$BNm\e(B"\e*B
692 '("Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
693   "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?IBskQk5tGyhC?="))
694
695 (encode
696 "Subject: \e.F\eNC\e$B4X?t\e(B"\e*B
697 '("Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?="
698   "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?="))
699
700 (encode
701 "From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
702 "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?=
703  =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
704
705 (encode
706 "From: aaaaaaaaaaaaaaaaaaaaa (\e$B$"$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
707 '("From: aaaaaaaaaaaaaaaaaaaaa
708  (=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
709   "From: aaaaaaaaaaaaaaaaaaaaa (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
710  =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"))
711
712 (encode
713 "From: aaaaaaaaaaaaaaaaaaaaa( \e$B$"$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
714 '("From: aaaaaaaaaaaaaaaaaaaaa(
715  =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
716   "From: aaaaaaaaaaaaaaaaaaaaa( =?ISO-2022-JP?B?GyRCJCIbKEI=?=
717  =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"))
718
719 (encode
720 "From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"$$\e(B )aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
721 '("From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=
722  )aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
723   "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?=
724  =?ISO-2022-JP?B?GyRCJCQbKEI=?= )aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"))
725
726 (encode
727 "From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"$$\e(B) aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
728 "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)
729  aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
730
731 (encode
732 "From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"\e(B \e$B$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
733 "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEIgCg==?=
734  =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
735
736 (encode
737 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
738 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
739
740 (encode
741 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
742 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaa
743  <akr@jaist.ac.jp>")
744
745 (encode
746 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
747 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
748  <akr@jaist.ac.jp>")
749
750 (encode
751 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
752 "From:
753  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
754  <akr@jaist.ac.jp>")
755
756 (encode
757 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
758 "From:
759  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
760  <akr@jaist.ac.jp>")
761
762 (encode
763 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
764 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
765  =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
766  <akr@jaist.ac.jp>"
767 'zero-characters-encoded-word-hack)
768
769 (encode
770 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
771 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
772  =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
773  <akr@jaist.ac.jp>"
774 'zero-characters-encoded-word-hack)
775
776 (encode
777 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
778 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)
779  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
780 'separate-sticked-tokens-for-fold)
781
782 (encode
783 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
784 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaa?=
785  =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= <akr@jaist.ac.jp>"
786 'encode-long-ascii-string-for-fold 'permit-sticked-special)
787
788 (encode
789 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
790 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
791  aaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
792 'divide-atom-for-fold)
793
794 (encode
795 "From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
796 '("From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
797   "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
798  <akr@jaist.ac.jp>")
799 'ignore-76bytes-limit)
800
801 (encode
802 "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\e$B$"\e(B)aa <akr@jaist.ac.jp>"
803 "From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=
804  =?US-ASCII?Q?a?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa <akr@jaist.ac.jp>"
805 'encode-long-ascii-string-for-fold)
806
807 (encode
808 "From: \e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\e$B$"\e(B)aa <akr@jaist.ac.jp>"
809 "From: =?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==?=
810  =?US-ASCII?Q?aaaaaaaaaaaaaaa?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa"
811 'encode-long-ascii-string-for-fold)
812
813 (encode
814 "From: (\e$B$"\e(B) <akr@jaist.ac.jp>"
815 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) <akr@jaist.ac.jp>")
816
817 (encode
818 "From: ((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
819 "From: ((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyRCJCIbKEI=?=
820  =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))
821  <akr@jaist.ac.jp>"
822 'zero-characters-encoded-word-hack)
823
824 (encode
825 "From: (((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
826 "From: (((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
827  =?ISO-2022-JP?B?GyRCJCIbKEI=?=)))))))))))))))))))))))))))))))))))))))))
828  <akr@jaist.ac.jp>"
829 'zero-characters-encoded-word-hack)
830
831 (encode
832 "From: ((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
833 "From: ((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
834  =?ISO-2022-JP?B?GyRCJCIbKEI=?=))))))))))))))))))))))))))))))))))))))))))))))
835  <akr@jaist.ac.jp>"
836 'zero-characters-encoded-word-hack)
837
838 (encode
839 "From: (((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
840 "From: (((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
841  =?ISO-2022-JP?B?GyRCJCIbKEI=?=
842  =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))
843  <akr@jaist.ac.jp>"
844 'zero-characters-encoded-word-hack)
845
846 (encode
847 "From: ((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
848 "From:
849  ((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
850  =?ISO-2022-JP?B?GyRCJCIbKEI=?=
851  =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))
852  <akr@jaist.ac.jp>"
853 'zero-characters-encoded-word-hack)
854
855 (encode
856 "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
857 "From:
858  ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
859  =?ISO-2022-JP?B?GyRCJCIbKEI=?=
860  =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))
861  <akr@jaist.ac.jp>"
862 'zero-characters-encoded-word-hack)
863
864 (encode
865 "From: (((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
866 "From:
867  ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
868  =?ISO-2022-JP?B?GyRCJCIbKEI=?=
869  =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))
870  <akr@jaist.ac.jp>"
871 'zero-characters-encoded-word-hack)
872
873 (encode
874 "From: (((((((((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
875 "From:
876  ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
877  =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?ISO-2022-JP?B?GyhC?=
878  =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))
879  <akr@jaist.ac.jp>"
880 'zero-characters-encoded-word-hack)
881
882 (encode
883 "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
884 "From:
885  ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=
886  =?ISO-2022-JP?B?GyhC?=((=?ISO-2022-JP?B?GyRCJCIbKEI=?=
887  =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))=?ISO-2022-JP?B?GyhC?=
888  =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))
889  <akr@jaist.ac.jp>"
890 'zero-characters-encoded-word-hack)
891
892 (encode
893 "From: ()(\e$B$"\e(B)() <akr@jaist.ac.jp>"
894 "From: ()(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)() <akr@jaist.ac.jp>")
895
896 (encode
897 "From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
898 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()
899   <akr@jaist.ac.jp>")
900
901 (encode
902 "From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
903 "From:
904  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()()()()
905   <akr@jaist.ac.jp>")
906
907 (encode
908 "From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
909 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
910  =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()()()()()()()()()
911   <akr@jaist.ac.jp>"
912 'zero-characters-encoded-word-hack)
913
914 (encode
915 "From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
916 "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
917  =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()(=?ISO-2022-JP?B?GyhC?=
918  =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()() <akr@jaist.ac.jp>"
919 'zero-characters-encoded-word-hack)
920
921 (encode
922 "To: l@d (\e$B$"\e(B aaa)(\e$B$"\e(B)"
923 "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
924
925 (encode
926 "To: l@d (\e$B$"\e(B aaaa)(\e$B$"\e(B)"
927 "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
928  aaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
929
930 (encode
931 "To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(\e$B$"\e(B)"
932 "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
933  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
934
935 (encode
936 "To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(\e$B$"\e(B)"
937 "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=
938  =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
939 'encode-long-ascii-string-for-fold)
940
941 (encode
942 "To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()\e$B$"\e(B)"
943 "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=
944  =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=()=?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
945 'encode-long-ascii-string-for-fold)
946
947 (encode
948 "To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \e$B$"\e(B)(\e$B$"\e(B)"
949 "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
950  =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
951
952 (encode
953 "To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \e$B$"\e(B)(\e$B$"\e(B)"
954 "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
955  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
956  =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
957
958 ;----------------------------------------------------------------------------
959
960 ;;; Section 6: Encoding melancholic inputs.
961
962 (encode
963 "From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)"
964 "From: akr@jaist.ac.jp
965  (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
966 'ignore-76bytes-limit)
967
968 (encode
969 "From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)"
970 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
971  =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=
972  =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
973 'zero-characters-encoded-word-hack)
974
975 (encode
976 "From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
977 "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>"
978 'encode-sticked-comment-as-atom)
979
980 (encode
981 "From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
982 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)
983  <akr@jaist.ac.jp>"
984 'permit-sticked-comment)
985
986 (encode
987 "From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
988 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)
989  <akr@jaist.ac.jp>"
990 'separate-sticked-comment)
991
992 (encode
993 "To: \e$B$"\e(B<akr@jaist.ac.jp>"
994 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
995 'permit-sticked-special)
996
997 (encode
998 "To: \e$B$"\e(B<akr@jaist.ac.jp>"
999 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
1000 'separate-sticked-special)
1001
1002 (encode
1003 "To: <akr@jaist.ac.jp>,\e$B$"\e(B<akr@jaist.ac.jp>"
1004 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
1005 'permit-sticked-special)
1006
1007 (encode
1008 "To: <akr@jaist.ac.jp>,\e$B$"\e(B<akr@jaist.ac.jp>"
1009 "To: <akr@jaist.ac.jp>, =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
1010 'separate-sticked-special)
1011
1012 (encode
1013 "To: akr@jaist.ac.jp,\e$B$"\e(B<akr@jaist.ac.jp>"
1014 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
1015 'permit-sticked-special)
1016
1017 (encode
1018 "To: akr@jaist.ac.jp,\e$B$"\e(B<akr@jaist.ac.jp>"
1019 "To: akr@jaist.ac.jp, =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
1020 'separate-sticked-special)
1021
1022 (encode
1023 "To: \e$B$"\e(B:akr@jaist.ac.jp;"
1024 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
1025 'permit-sticked-special)
1026
1027 (encode
1028 "To: \e$B$"\e(B:akr@jaist.ac.jp;"
1029 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= :akr@jaist.ac.jp;"
1030 'separate-sticked-special)
1031
1032 (encode
1033 "To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
1034 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
1035 'ignore-76bytes-limit 'permit-sticked-special)
1036
1037 (encode
1038 "To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
1039 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=
1040  =?ISO-2022-JP?B?GyhC?=<akr@jaist.ac.jp>;"
1041 'zero-characters-encoded-word-hack 'permit-sticked-special)
1042
1043 (encode
1044 "To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
1045 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=
1046  <akr@jaist.ac.jp>;"
1047 'separate-sticked-special)
1048
1049 (encode
1050 "To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
1051 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
1052 'ignore-76bytes-limit 'permit-sticked-special)
1053
1054 (encode
1055 "To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
1056 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=
1057  =?ISO-2022-JP?B?GyhC?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=
1058  =?ISO-2022-JP?B?GyhC?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
1059 'zero-characters-encoded-word-hack 'permit-sticked-special)
1060
1061 (encode
1062 "To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
1063 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=
1064  <foo@bar>, =?ISO-2022-JP?B?GyRCJCYbKEI=?= <foo@bar>;,
1065  =?ISO-2022-JP?B?GyRCJCgbKEI=?= <foo@bar>"
1066 'separate-sticked-special)
1067
1068 ;;; Section 7: Using quoted-encoded-words.
1069 ;;
1070 ;; quoted-encoded-word \e$BI=8=\e(B
1071 ;; 
1072 ;; RFC2047 \e$B$N%G%3!<%@$O@x:_E*$K\e(B(\e$B%G%3!<%I7k2L$G$J$/\e(B) encoded-word \e$B$=$N$b$N$r\e(B
1073 ;; \e$B=PNO$7$J$1$l$P$J$i$J$$$3$H$,$"$k!#\e(B
1074 ;;
1075 ;; 1. \e$BCN$i$J$$\e(B charset \e$B$b$7$/$O\e(B encoding \e$B$,;XDj$5$l$F$$$?$H$-!#\e(B
1076 ;;  =?unknown-charset?known-encoding?some-encoded-text?=
1077 ;;  =?known-charset?unknown-encoding?some-encoded-text?=
1078 ;;  =?unknown-charset?unknown-encoding?some-encoded-text?=
1079 ;;
1080 ;; 2. \e$B%G%3!<%I$G$-$F$bFbMF$,7uF]$9$.$k$H$-!#\e(B
1081 ;;  Non ASCII \e$B3HD%\e(B RFC822 \e$B$NCf$K\e(B =?US-ASCII?Q?=0D=0A=0D=0A?= \e$B$N%G%3!<%I\e(B
1082 ;; \e$B7k2L$rKd$a9~$`$N$O4m81$9$.$k!#\e(B
1083 ;;
1084 ;; \e$B$^$?!"%G%3!<%@$O\e(B encoded-word \e$B$N$h$&$K$_$($k%G%3!<%I7k2L$r=PNO$7$J$1\e(B
1085 ;; \e$B$l$P$J$i$J$$$3$H$b$"$k!#\e(B
1086 ;;
1087 ;;  =?US-ASCII?Q?=3D=3FUS-ASCII=3FQ=3Ftext=3F=3D?=
1088 ;;
1089 ;; \e$B%G%3!<%@$,C1$J$kJ8;zNs$r=PNO$9$k>l9g!"C1=c$K$d$k$H\e(B encoded-word \e$B$=$N$b$N$H\e(B
1090 ;; encoded-word \e$B$N$h$&$K$_$($kJ8;zNs$r6hJL$G$-$J$$!#\e(B
1091 ;; \e$B$3$3$G$OJ8;zNsCf$G$=$l$i$r3N<B$K6hJL$7$FI=8=$9$kJ}K!$r<($9!#\e(B
1092 ;;
1093 ;; rule 1: \e$BJ8;zNsCf$G\e(B =?charset?encoding?text?= \e$B$H$$$&%Q%?!<%s$K\e(B
1094 ;;  \e$B%^%C%A$7$J$$ItJ,$O$=$NItJ,$N$^$^$NFbMF$rI=$9!#\e(B
1095 ;; 
1096 ;; rule 2: \e$BJ8;zNsCf$G\e(B =?charset?encoding?text?= \e$B$H$$$&%Q%?!<%s$K\e(B
1097 ;;  \e$B%^%C%A$9$kItJ,$O\e(B charset \e$B$N@hF,$K\e(B + \e$B$,$$$/$DIU$$$F$$$k$+$GFbMF$N\e(B
1098 ;;  \e$B2r<a$rJQ$($k!#\e(B
1099 ;;
1100 ;;  \e$B6v?t$N>l9g\e(B(0, 2, 4, ...): charset \e$B$N@hF,$N\e(B + \e$B$N?t$rH>J,$K$7$?J8;zNs\e(B
1101 ;;  \e$B4q?t$N>l9g\e(B(1, 3, 5, ...): charset \e$B$N@hF,$N\e(B + \e$B$N?t$rH>J,\e(B(\e$B>.?tE@0J2<\e(B
1102 ;;   \e$B@Z<N$F\e(B)\e$B$K$7$F!"$=$l$r\e(B encoded-word \e$B$H;W$C$F%G%3!<%I$7$?J8;zNs!#\e(B
1103 ;;
1104 ;; NOTE: + \e$B$r\e(B quoted-encoded-word \e$BI=8=$N\e(B quote \e$BJ8;z$H8F$V!#\e(B
1105 ;;
1106 ;; NOTE: \e$B8=;~E@\e(B(1998/07/19)\e$B$G\e(B IANA \e$B$K$O\e(B + \e$B$r4^$`\e(B charset \e$B$O\e(B
1107 ;;  \e$BEPO?$5$l$F$$$J$$$N$G!"$=$l$i$N\e(B charset \e$B$r;H$C$?\e(B
1108 ;;  encoded-word \e$B$rI=8=$9$k$K$O\e(B + \e$B$r\e(B 1\e$B$D$D$1$k$3$H$K$J$k!#\e(B
1109 ;;
1110 ;;  =?US-ASCII?Q?abcdef?= \e$B$H$$$&\e(Bencoded-word : =?+US-ASCII?Q?abcdef?=
1111 ;;
1112 ;;  =?US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B        : =?US-ASCII?Q?abcdef?=
1113 ;;  =?+US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B       : =?++US-ASCII?Q?abcdef?=
1114 ;;  =?++US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B     : =?++++US-ASCII?Q?abcdef?=
1115 ;;  =?+++US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B    : =?++++++US-ASCII?Q?abcdef?=
1116 ;;  =?US-ASCII+?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B      : =?US-ASCII+?Q?abcdef?=
1117 ;;  =?U+S-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B      : =?U+S-ASCII?Q?abcdef?=
1118 ;;
1119 ;; NOTE: encoded-word \e$B$K8+$($kJ8;zNs$G\e(B + \e$B$,G\A}$5$l$k$N$O\e(B charset \e$B$N\e(B
1120 ;;  \e$B@hF,$@$1$G$"$j!"\e(Bencoding \e$B$d\e(B encoded-text \e$B$O$?$H$(\e(B + \e$B$,F~$C$F$$$F$b\e(B
1121 ;;  \e$BJQ2=$7$J$$!#$^$?!"\e(Bcharset \e$BCf$G$b\e(B \e$B@hF,0J30$N\e(B + \e$B$OJQ2=$7$J$$!#\e(B
1122 ;;
1123 ;; rule 3: \e$BJ8;zNsA4BN$NFbMF$O!"\e(Brule 1 \e$B$H\e(B rule 2 \e$B$G2r<a$7$?3FItJ,$N\e(B
1124 ;;   \e$BJ8;zNs$rC1=c$KO"7k$7$?J8;zNs$H$9$k!#\e(B
1125 ;;
1126 ;; NOTE: RFC2047 \e$B$G$O\e(B encoded-word \e$B$,6uGr$G6h@Z$i$l$J$1$l$P$J$i$J$$$H$+!"\e(B
1127 ;;  encoded-word \e$B$O\e(B 75bytes \e$B0J2<$G$J$1$l$P$J$i$J$$$H$+!"\e(B
1128 ;;  encoded-word \e$B$,4^$^$l$k9T$O\e(B 76bytes \e$B0J2<$G$J$1$l$P$J$i$J$$$J$I$H$$$&\e(B
1129 ;;  \e$B5,Ls$,$"$k$,!"\e(Bquoted-encoded-word \e$BI=8=$G$O$=$l$i$O:NMQ$7$J$$!#\e(B
1130 ;;  \e$BC1=c$K\e(B encoded-word \e$BFbIt$NJ8K!$@$1$rMxMQ$9$k!#\e(B
1131 ;;  (\e$BK\<AE*$K$O0[$J$kJ8K!$r:NMQ$9$k$3$H$b2DG=$G$"$k$,!"\e(BRFC2047 \e$B$K7I0U$r\e(B
1132 ;;  \e$BI=$7$F\e(B encoded-word \e$B$NJ8K!$r:NMQ$9$k!#\e(B)
1133 ;;
1134 ;; NOTE: quoted-encoded-word \e$BI=8=$7$?J8;zNs$NO"7k$O0BA4$G$O$J$$!#\e(B
1135 ;;  =?+US-ASCII?Q?ab \e$B$H\e(B cd?= \e$B$H$$$&\e(B quoted-encoded-word \e$BI=8=$7$?J8;zNs$O\e(B
1136 ;;  \e$B$=$l$>$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs\e(B
1137 ;;  =?+US-ASCII?Q?abcd?= \e$B$O\e(B abcd \e$B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"\e(B
1138 ;;  \e$B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#\e(B
1139 ;;
1140 ;;  \e$B$3$l$O$H$/$K\e(B Non ASCII \e$B3HD%\e(B RFC822 \e$B$NCf$K\e(B quoted-encoded-word \e$BI=8=$r\e(B
1141 ;;  \e$BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#\e(B(\e$BKd$a9~$s$@7k2L$O@5$7$$\e(B
1142 ;;  quoted-encoded-word \e$BI=8=$H$O$J$i$J$$$+$bCN$l$J$$!#\e(B)
1143
1144 (decode
1145 "Subject: =?Unknown-Charset?B?gqA=?="
1146 "Subject: =?+Unknown-Charset?B?gqA=?="
1147 'quoted-encoded-word)
1148
1149 (decode
1150 "Subject: =?US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?="
1151 "Subject: =?+US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?="
1152 'quoted-encoded-word)
1153
1154 (decode
1155 "Subject: =?US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?="
1156 "Subject: =?+US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?="
1157 'quoted-encoded-word)
1158
1159 (decode
1160 "Subject: =?ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?=
1161  =?ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?="
1162 "Subject: =?+ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?==?+ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?="
1163 'quoted-encoded-word)
1164
1165 (decode
1166 "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?="
1167 "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
1168 'quoted-encoded-word)
1169
1170 (decode
1171 "Subject: =?Unknown-Charset?B?gqA=?=  =?Unknown-Charset?B?gqA=?="
1172 "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
1173 'quoted-encoded-word)
1174
1175 (decode
1176 "Subject: =?Unknown-Charset?B?gqA=?=
1177  =?Unknown-Charset?B?gqA=?="
1178 "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
1179 'quoted-encoded-word)
1180
1181 (decode
1182 "Subject: =?Unknown-Charset?B?gqA=?=
1183         =?Unknown-Charset?B?gqA=?="
1184 "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
1185 'quoted-encoded-word)
1186
1187 (decode
1188 "Subject: a=?Unknown-Charset?B?gqA=?="
1189 "Subject: a=?Unknown-Charset?B?gqA=?="
1190 'quoted-encoded-word)
1191
1192 (decode
1193 "Subject: =?Unknown-Charset?B?gqA=?=b"
1194 "Subject: =?Unknown-Charset?B?gqA=?=b"
1195 'quoted-encoded-word)
1196
1197 (decode
1198 "Subject: a=?Unknown-Charset?B?gqA=?=b"
1199 "Subject: a=?Unknown-Charset?B?gqA=?=b"
1200 'quoted-encoded-word)
1201
1202 (decode
1203 "Subject: a =?Unknown-Charset?B?gqA=?= b"
1204 "Subject: a =?+Unknown-Charset?B?gqA=?= b"
1205 'quoted-encoded-word)
1206
1207 (decode
1208 "Subject: =?ISO-2022-JP?B?DQoNCg==?="
1209 "Subject: =?+US-ASCII?Q?=0D=0A=0D=0A?="
1210 'quoted-encoded-word)
1211
1212 (decode
1213 "Subject: =?US-ASCII?Q?a=0D=0A_b?="
1214 "Subject: a=?+US-ASCII?Q?=0D=0A?= b"
1215 'quoted-encoded-word)
1216
1217 (decode
1218 "Subject: =?US-ASCII?Q?a=0D=0Ab?="
1219 "Subject: a=?+US-ASCII?Q?=0D=0A?=b"
1220 'quoted-encoded-word)
1221
1222 ;;;end-test
1223
1224 (report)
1225
1226 ;----------------------------------------------------------------------------