diff options
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | README.org | 2 | ||||
-rw-r--r-- | email/email.scm | 25 | ||||
-rw-r--r-- | website/releases/guile-email-0.4.0.tar.lz | bin | 0 -> 36297 bytes | |||
-rw-r--r-- | website/releases/guile-email-0.4.0.tar.lz.asc | 11 | ||||
-rw-r--r-- | website/releases/guile-email-0.4.1.tar.lz | bin | 0 -> 36375 bytes | |||
-rw-r--r-- | website/releases/guile-email-0.4.1.tar.lz.asc | 11 |
7 files changed, 41 insertions, 13 deletions
@@ -5,6 +5,11 @@ Copyright © 2019, 2023, 2025 Arun Isaac <arunisaac@systemreboot.net> Please send guile-email bug reports to guile-email@systemreboot.net +* Changes in 0.4.1 (since 0.4.0) +** Noteworthy bug fixes +*** Return ~#f~ from ~email-date~ on invalid Date fields +Previously, the empty list was returned. + * Changes in 0.4.0 (since 0.3.2) ** Add accessors for common header fields Add accessors email-from, email-to, email-cc, email-bcc, @@ -30,6 +30,8 @@ guile-email is used by Download release tarballs. +- 2025-03-16 [[./releases/guile-email-0.4.1.tar.lz][guile-email-0.4.1.tar.lz]] [[./releases/guile-email-0.4.1.tar.lz.asc][GPG Signature]] +- 2025-03-13 [[./releases/guile-email-0.4.0.tar.lz][guile-email-0.4.0.tar.lz]] [[./releases/guile-email-0.4.0.tar.lz.asc][GPG Signature]] - 2025-02-12 [[./releases/guile-email-0.3.2.tar.lz][guile-email-0.3.2.tar.lz]] [[./releases/guile-email-0.3.2.tar.lz.asc][GPG Signature]] - 2023-09-04 [[./releases/guile-email-0.3.1.tar.lz][guile-email-0.3.1.tar.lz]] [[./releases/guile-email-0.3.1.tar.lz.asc][GPG Signature]] - 2023-01-06 [[./releases/guile-email-0.3.0.tar.lz][guile-email-0.3.0.tar.lz]] [[./releases/guile-email-0.3.0.tar.lz.asc][GPG Signature]] diff --git a/email/email.scm b/email/email.scm index 5e1ef9d..d37b2a9 100644 --- a/email/email.scm +++ b/email/email.scm @@ -79,35 +79,34 @@ (headers mime-entity-headers) (body mime-entity-body)) -(define (sanitize-field email field) - "Sanitize @var{field} value in @var{email} and return a new sanitized -value." +(define (validate-field email field) + "Validate @var{field} value in @var{email}. Return @code{#f} if value +is invalid. Else, return the value unchanged." (let ((field-value (assq-ref (email-headers email) field))) - (if (string? field-value) - ;; Invalid fields show up as strings in the parse tree. - ;; Discard them and return an empty list. - (list) - field-value))) + ;; Invalid fields show up as strings in the parse tree. Discard + ;; them and return #f. + (and (not (string? field-value)) + field-value))) (define (email-from email) "Return list of From addresses in @var{email}." - (or (sanitize-field email 'from) + (or (validate-field email 'from) (list))) (define (email-to email) "Return list of To addresses in @var{email}." - (or (sanitize-field email 'to) + (or (validate-field email 'to) (list))) (define (email-cc email) "Return list of Cc addresses in @var{email}." - (or (sanitize-field email 'cc) + (or (validate-field email 'cc) (list))) (define (email-bcc email) "Return list of Bcc addresses in @var{email}." - (or (sanitize-field email 'bcc) + (or (validate-field email 'bcc) (list))) (define (email-subject email) @@ -117,7 +116,7 @@ value." (define (email-date email) "Return Date of @var{email}." - (sanitize-field email 'date)) + (validate-field email 'date)) (define (email-message-id email) "Return Message-ID of @var{email}." diff --git a/website/releases/guile-email-0.4.0.tar.lz b/website/releases/guile-email-0.4.0.tar.lz Binary files differnew file mode 100644 index 0000000..91dee73 --- /dev/null +++ b/website/releases/guile-email-0.4.0.tar.lz diff --git a/website/releases/guile-email-0.4.0.tar.lz.asc b/website/releases/guile-email-0.4.0.tar.lz.asc new file mode 100644 index 0000000..e7882d3 --- /dev/null +++ b/website/releases/guile-email-0.4.0.tar.lz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmfSQCMACgkQLiXui2GA +K7O/AAf/XzBbgHArq6CR/znZBs0LAXmR8hgFrqgD97So8gzGRG+/OvIFXWPbm+mZ +QsZBddIyYNoUN1KCWZ6wF73bCcE3bNNyzskXOu04MbKIa/2pg6Ocb7ZZtIEcONKg +FWnwleA7d7EKcxYhQIhIMZEak+dxylzpvHLpp0IIleWLqu5rkCtGt24hxY0xiMgS +HXlTqF4onxpo/wtnmFPnrw5YWn3+hXPgMqvcl/uW/APi1D1S/x6u+zzHsq7FPZ87 +uWey2Xxpf/2621y53kSniEhSuDNUnF3un4MMJBZwhTdKK+tRkWQzBTh8NXvsUbXZ +YnFuqBkr6REbtxQeNg6JSY2x0CDAew== +=X/Ey +-----END PGP SIGNATURE----- diff --git a/website/releases/guile-email-0.4.1.tar.lz b/website/releases/guile-email-0.4.1.tar.lz Binary files differnew file mode 100644 index 0000000..cfeda4d --- /dev/null +++ b/website/releases/guile-email-0.4.1.tar.lz diff --git a/website/releases/guile-email-0.4.1.tar.lz.asc b/website/releases/guile-email-0.4.1.tar.lz.asc new file mode 100644 index 0000000..3b13b2e --- /dev/null +++ b/website/releases/guile-email-0.4.1.tar.lz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmfWYgkACgkQLiXui2GA +K7MkswgAlsxeCkP6jjh2MI6Dhnm/6jCEo130t32SCom87WbA/1swFa3qGQLxT+JO +6I7ZAZtFxLolgf5YGVF60h10cPOQ/feYCz8qwPL04mY3vxiJf0lYltY/Qh2NNQny +MODKYLMK484L6MPOnkuxM0U4967Sre4hONS5ZoL5N9bsEu5ceTeIBZXGviBR0OsF +GED1ma5FrAKcx/GG8D81Kk5RtMT8aJ83WF/eT+S2vjH37/sFm1ddwd/cEXXQ82/k +XHZznYhHDwd1TjPGNBV2FAlsa4uXtfFbImqBil0J/jDOoZnv91uHBR9W+cJ5fD8M +u8OWicXbALe0TyxIRae+T/5hesYsbw== +=yQiT +-----END PGP SIGNATURE----- |