See https://ci.systemreboot.net/jobs/guile-email-nightly/228 for details.
See https://ci.systemreboot.net/jobs/guile-email/13 for details.
See https://ci.systemreboot.net/jobs/guile-email/11 for details.
See https://ci.systemreboot.net/jobs/guile-email/9 for details.
See https://ci.systemreboot.net/jobs/guile-email-website/37 for details.
See https://ci.systemreboot.net/jobs/guile-email/6 for details.
See https://ci.systemreboot.net/jobs/guile-email-website/35 for details.
Hi all, guile-email 0.3.1 has been released. This is a bugfix release. Regards, Arun
See https://ci.systemreboot.net/jobs/guile-email/2 for details.
See https://ci.systemreboot.net/jobs/guile-email/1 for details.
[-- Attachment #1.1: Type: text/plain, Size: 344 bytes --] On Friday, January 6th, 2023 at 20:15, Arun Isaac <arunisaac@systemreboot.net> wrote: > Hello all, > > I am pleased to announce the release of guile-email 0.3.0. Significant > changes since the 0.2.2 release are described in the NEWS > file. https://git.systemreboot.net/guile-email/tree/NEWS Great, thanks for working on this :) [-- Attachment #1.2: publickey - luis.felipe.la@protonmail.com - 0x12DE1598.asc --] [-- Type: application/pgp-keys, Size: 1722 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 509 bytes --]
Hello all, I am pleased to announce the release of guile-email 0.3.0. Significant changes since the 0.2.2 release are described in the NEWS file. https://git.systemreboot.net/guile-email/tree/NEWS I would like to thank Andrew Whatson, Mark H Weaver, Mathieu Othacehe and Ricardo Wurmus for contributing bug reports and code towards this release. * What is guile-email? guile-email is a collection of email utilities implemented in pure guile. It supports parsing MIME (Multipurpose Internet Mail Extensions) compliant email messages and reading emails from the mbox format. Its features include: - Parse RFC5322 compliant email messages (including obsolete syntax) - Parse MIME compliant email messages as specified in RFC2045, RFC2046, RFC2047 and RFC2049 - Parse non-standard Emacs message mode parens style addresses - Encode and decode Quoted-Printable encoding, Base64 encoding and Q-encoding - Read emails from the mbox format Project website: https://guile-email.systemreboot.net/ Happy hacking! Arun
> https://git.systemreboot.net/guile-email/commit/?id=aa6a58a152b8ebe0e786682ffd84239ed862dba4
Oops! I made a mistake with the commit message. I had added a new test
called "parse Date", but forgot to remove it from the commit message
when I removed the test.
Sorry!
Good catch! Applied, thanks! https://git.systemreboot.net/guile-email/commit/?id=aa6a58a152b8ebe0e786682ffd84239ed862dba4 Cheers!
* 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 without seconds"): New test. --- email/email.scm | 12 +++++++++--- tests/email.scm | 11 +++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/email/email.scm b/email/email.scm index 71f0718..0d51eef 100644 --- a/email/email.scm +++ b/email/email.scm @@ -1,6 +1,7 @@ ;;; guile-email --- Guile email parser ;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> +;;; Copyright © 2023 Andrew Whatson <whatson@tailcall.au> ;;; ;;; This file is part of guile-email. ;;; @@ -1050,9 +1051,14 @@ list of header keys and values." (received-token . ,(match-lambda* (`(received-token ,token) token))) (date-time . ,(lambda node - (match-let - ((`((day ,day) (month ,month) (year ,year) - (hours ,hours) (minutes ,minutes) (seconds ,seconds) (zone . ,zone)) + (match-let* + (;; Seconds are optional; provide a default + ;; binding which will be shadowed by match. + (seconds "0") + ((('day day) ('month month) ('year year) + ('hours hours) ('minutes minutes) + . (or (('seconds seconds) ('zone . zone)) + (('zone . zone)))) (flatten-and-filter '(day month year hours minutes seconds zone) node))) diff --git a/tests/email.scm b/tests/email.scm index a6d2b46..cf565ba 100644 --- a/tests/email.scm +++ b/tests/email.scm @@ -1,6 +1,7 @@ ;;; guile-email --- Guile email parser ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2023 Andrew Whatson <whatson@tailcall.au> ;;; ;;; This file was adapted from guile-debbugs and is part of guile-email. ;;; @@ -558,6 +559,16 @@ Content-Type: text/plain; charset=utf-8 (charset . "utf-8")) (content-transfer-encoding . 7bit))) +(test-alist= "Parse Date without seconds" + (parse-email-headers + "Date: Tue, 22 Nov 94 17:52 GMT +") + `((date . ,(make-date 0 0 52 17 22 11 1994 0)) + (content-type (type . text) + (subtype . plain) + (charset . "utf-8")) + (content-transfer-encoding . 7bit))) + \f ;;; ;;; Email addresses -- 2.38.1
Hi Andrew, Your patches are most welcome! Always a pleasure to hear that guile-email is seeing real-world usage. Regards, Arun
On 4/1/23 00:21, Arun Isaac wrote:
> > Thanks for the patch! I love it that you added tests as well. Made my
> job very easy. :-) I have applied the patch.
> https://git.systemreboot.net/guile-email/commit/?id=8a9c14473f0ae449bfbfe77ba680734e4a14562f
>
> I have also thanked you in the Contributors section.
> https://git.systemreboot.net/guile-email/commit/?id=5795aeb486be24a5b5f202cf2d333a374ffb798d
Hi Arun,
Thanks for review & merge :)
I've been running guile-email across Gmane mailing list archives so may
have some more patches for weird and wonderful edge-cases coming soon.
Cheers,
Andrew
See https://ci.systemreboot.net/jobs/guile-email-nightly/222 for details.
See https://ci.systemreboot.net/jobs/guile-email-nightly/220 for details.
Hi Andrew, Thanks for the patch! I love it that you added tests as well. Made my job very easy. :-) I have applied the patch. https://git.systemreboot.net/guile-email/commit/?id=8a9c14473f0ae449bfbfe77ba680734e4a14562f I have also thanked you in the Contributors section. https://git.systemreboot.net/guile-email/commit/?id=5795aeb486be24a5b5f202cf2d333a374ffb798d Regards, Arun
See https://ci.systemreboot.net/jobs/guile-email-website/21 for details.
See https://ci.systemreboot.net/jobs/guile-email-with-guile-2.2/19 for details.
See https://ci.systemreboot.net/jobs/guile-email-with-guile-3.0/22 for details.
See https://ci.systemreboot.net/jobs/guile-email-with-guile-2.2/18 for details.