diff -r --unified roundup-1.1.2/roundup/rfc2822.py roundup-1.1.2.patched/roundup/rfc2822.py --- roundup-1.1.2/roundup/rfc2822.py 2006-02-07 01:25:15.000000000 +0100 +++ roundup-1.1.2.patched/roundup/rfc2822.py 2006-06-13 23:02:28.560793046 +0200 @@ -141,7 +141,7 @@ if c == ' ': quoted += '_' # These characters can be included verbatim - elif hqre.match(c) and c not in '_=': + elif hqre.match(c) and c not in '_=?': quoted += c # Otherwise, replace with hex value like =E2 else: diff -r --unified roundup-1.1.2/test/test_rfc2822.py roundup-1.1.2.patched/test/test_rfc2822.py --- roundup-1.1.2/test/test_rfc2822.py 2006-02-07 01:25:17.000000000 +0100 +++ roundup-1.1.2.patched/test/test_rfc2822.py 2006-06-13 23:00:31.882166505 +0200 @@ -21,6 +21,10 @@ result = '=?utf-8?q?Re:_[it=5Fissue3]_Ren=C3=A9s_[status=3Dfeedback]?=' self.assertEqual(encode_header(src), result) + src = 'Was machen\xc3\xbc und Fragezeichen?' + result = '=?utf-8?q?Was_machen=C3=BC_und_Fragezeichen=3F?=' + self.assertEqual(encode_header(src), result) + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(RFC2822TestCase))