diff options
author | Arun Isaac | 2018-09-14 20:53:04 +0530 |
---|---|---|
committer | Arun Isaac | 2018-09-15 02:21:09 +0530 |
commit | ae688fd185c90ceba7a5bc28c1704e42c69f5306 (patch) | |
tree | a1e772b44b89f416b97ee54c672adcac68321cf7 | |
parent | ca56664e91fd055e73a0fc1791410c1878db41c3 (diff) | |
download | guile-email-ae688fd185c90ceba7a5bc28c1704e42c69f5306.tar.gz guile-email-ae688fd185c90ceba7a5bc28c1704e42c69f5306.tar.lz guile-email-ae688fd185c90ceba7a5bc28c1704e42c69f5306.zip |
quoted-printable: Encode #\= with its ASCII code.
* email/quoted-printable.scm (quoted-printable-encode): Encode #\=
with its ASCII code.
* test/quoted-printable.scm (quoted-printable-encoding of =): Add test
to check for this bug.
-rw-r--r-- | email/quoted-printable.scm | 6 | ||||
-rwxr-xr-x | tests/quoted-printable.scm | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/email/quoted-printable.scm b/email/quoted-printable.scm index 753d7ae..d119f6a 100644 --- a/email/quoted-printable.scm +++ b/email/quoted-printable.scm @@ -80,8 +80,10 @@ in out (put-into-output (if (char-set-contains? - (ucs-range->char-set (char->integer #\space) - (char->integer #\delete)) + (char-set-delete + (ucs-range->char-set (char->integer #\space) + (char->integer #\delete)) + #\=) c) (string c) (format #f "=~:@(~2,'0x~)" x)))))))))) diff --git a/tests/quoted-printable.scm b/tests/quoted-printable.scm index 608a937..f3dd5eb 100755 --- a/tests/quoted-printable.scm +++ b/tests/quoted-printable.scm @@ -49,6 +49,12 @@ abriquent pour te la vendre une =C3=A2me vulgaire.") (string->bytevector decoded-text charset)) #\newline)))) +(test-equal "quoted-printable encoding of =" + (quoted-printable-encode + (string->bytevector "=" "UTF-8")) + (string-append "=" (string-upcase (number->string + (char->integer #\=) 16)))) + (let ((encoded-text "=A1Hola,_se=F1or!") (decoded-text "¡Hola, señor!") (charset "ISO-8859-1")) |