<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guile-email/tests, branch master</title>
<subtitle>Guile email parser</subtitle>
<id>http://git.systemreboot.net/guile-email/atom?h=master</id>
<link rel='self' href='http://git.systemreboot.net/guile-email/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/'/>
<updated>2025-02-09T23:23:03+00:00</updated>
<entry>
<title>email: Quote display names when serializing email addresses.</title>
<updated>2025-02-09T23:23:03+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2025-02-09T23:09:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=32eb61f81ce9d069f5e73091ee2b6729f1404a6d'/>
<id>urn:sha1:32eb61f81ce9d069f5e73091ee2b6729f1404a6d</id>
<content type='text'>
* email/email.scm (interpret-address): Quote display names when they
have illegal characters.
* tests/email.scm ("quote display-name when serializing email
addresses with illegal characters", "do not quote display-name when
serializing email addresses without illegal characters"): New tests.
</content>
</entry>
<entry>
<title>email: Tolerate square brackets in email addresses.</title>
<updated>2025-02-09T22:08:22+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2025-02-09T22:08:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=9a82ce70b9eded77a148336feb8913156a31bab8'/>
<id>urn:sha1:9a82ce70b9eded77a148336feb8913156a31bab8</id>
<content type='text'>
* email/email.scm (liberal-atext): Add [ and ].
* tests/email.scm ("tolerate email addresses with square brackets in
name"): New test.
</content>
</entry>
<entry>
<title>email: Tolerate parentheses in display names.</title>
<updated>2023-09-03T17:01:05+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2023-09-03T17:01:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=900f720a7a0893f37f8c6b328f183e43086c1e52'/>
<id>urn:sha1:900f720a7a0893f37f8c6b328f183e43086c1e52</id>
<content type='text'>
* email/email.scm (define-atom-pattern): Support customization of the
atext pattern as well.
(define-phrase-pattern): New macro.
(obs-phrase): Define using define-phrase-pattern.
(liberal-atext, liberal-cfws-captured-atom,
liberal-cfws-captured-word, liberal-phrase): New patterns.
(display-name): Use liberal-phrase instead of phrase.
* tests/email.scm ("tolerate email addresses with parentheses in
name"): New test.
</content>
</entry>
<entry>
<title>tests: Downcase test names.</title>
<updated>2023-01-06T14:27:18+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2023-01-06T14:24:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=3a3d695913e04d181df05048777ff2a335dc3120'/>
<id>urn:sha1:3a3d695913e04d181df05048777ff2a335dc3120</id>
<content type='text'>
This is admittedly a nitpicky change, but it slightly improves
consistency.

* tests/email.scm ("parse obsolete Received header", "parse names with
more than two words", "assume application/octet-stream Content-Type if
Content-Transfer-Encoding is unrecognized", "parse Received header
with two tokens but no timestamp"): Downcase test names.
</content>
</entry>
<entry>
<title>email: Support Date fields with missing seconds.</title>
<updated>2023-01-06T14:27:18+00:00</updated>
<author>
<name>Andrew Whatson</name>
</author>
<published>2023-01-05T10:33:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=aa6a58a152b8ebe0e786682ffd84239ed862dba4'/>
<id>urn:sha1:aa6a58a152b8ebe0e786682ffd84239ed862dba4</id>
<content type='text'>
* email/email.scm (parse-email-headers): Extend the date-time parser to
match when seconds are missing, defaulting to "0".
* tests/email.scm ("parse Date", "parse Date without seconds"): New
tests.

Signed-off-by: Arun Isaac &lt;arunisaac@systemreboot.net&gt;
</content>
</entry>
<entry>
<title>tests: Import (srfi srfi-64) in base64.scm.</title>
<updated>2023-01-03T15:56:14+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2023-01-03T15:56:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=fcc36808753a95ae8f6826c102a632a5a395d245'/>
<id>urn:sha1:fcc36808753a95ae8f6826c102a632a5a395d245</id>
<content type='text'>
* tests/base64.scm: Import (srfi srfi-64).
</content>
</entry>
<entry>
<title>email: Support quoted-printable CR LF sequences.</title>
<updated>2023-01-03T13:27:37+00:00</updated>
<author>
<name>Andrew Whatson</name>
</author>
<published>2023-01-03T12:19:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=8a9c14473f0ae449bfbfe77ba680734e4a14562f'/>
<id>urn:sha1:8a9c14473f0ae449bfbfe77ba680734e4a14562f</id>
<content type='text'>
* email/quoted-printable.scm (quoted-printable-decode): Ignore "=\r\n"
sequences in the input.
* tests/quoted-printable.scm ("quoted-printable decoding of soft line
breaks (=\\n)", "quoted-printable decoding of soft line
breaks (=\\r\\n)"): New tests.

Signed-off-by: Arun Isaac &lt;arunisaac@systemreboot.net&gt;
</content>
</entry>
<entry>
<title>email: Handle Received header with two tokens but no timestamp.</title>
<updated>2021-10-23T21:29:08+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2021-10-23T21:29:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=a00a8e5e4a9ac6ca9a603c799982bcd46137c3de'/>
<id>urn:sha1:a00a8e5e4a9ac6ca9a603c799982bcd46137c3de</id>
<content type='text'>
* email/email.scm (parse-email-headers): Match Received header with
timestamp more precisely.
* tests/email.scm ("Parse Received header with two tokens but no
timestamp"): No test.
</content>
</entry>
<entry>
<title>tests: Return trace with only one Receieved header as a list of lists.</title>
<updated>2021-10-23T21:27:18+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2021-10-23T21:27:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=9d2c3b593a583eff3a1aa4ce95808644bb0b54ae'/>
<id>urn:sha1:9d2c3b593a583eff3a1aa4ce95808644bb0b54ae</id>
<content type='text'>
* tests/email.scm ("Trace with only one Received header must be a list
of lists, not a list"): New test.
</content>
</entry>
<entry>
<title>email: Handle unrecognized Content-Transfer-Encoding headers.</title>
<updated>2021-10-23T21:22:06+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2021-10-23T21:16:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/guile-email/commit/?id=86f0af337b3d4c8afc075c09a1aae4b1694d9ebd'/>
<id>urn:sha1:86f0af337b3d4c8afc075c09a1aae4b1694d9ebd</id>
<content type='text'>
* email/email.scm (handle-invalid-headers): New function.
(parse-email-headers): Handle invalid headers.
* tests/email.scm ("Assume application/octet-stream Content-Type if
Content-Transfer-Encoding is unrecognized"): New test.
</content>
</entry>
</feed>
