aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2019-08-09Distribute test data files.•••* Makefile.am (EXTRA_DIST): Add tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part and tests/email-with-8bit-encoding-and-non-utf8-charset. Arun Isaac
2019-08-09tests: Remove unnecessary execution permission.•••* tests/quoted-printable.scm: Remove execution permission. Arun Isaac
2019-08-09Do not set PATH in pre-inst-env.•••Setting PATH is unnecessary since we do not have any script; we only have a library. * pre-inst-env.in: Do not set PATH. Arun Isaac
2019-08-07doc: Document mbox->emails.•••* doc/guile-email.texi (Reading Email): New chapter. * email/email.scm (mbox->emails): Add docstring. Arun Isaac
2019-08-07utils: Clarify read-while docstring.•••* email/utils.scm (read-while): Clarify docstring. Arun Isaac
2019-08-07doc: Add Data Types chapter to menu.•••* doc/guile-email.texi (Top): Add Data Types chapter to menu. Arun Isaac
2019-08-07README: Simply project description.•••The features list provide a more detailed description. We need not repeat the features in the short project description. * README.org: Simplify project description. Arun Isaac
2019-08-07README: Mention PGP support in future work.•••* README.org (Future work): Mention PGP support. Arun Isaac
2019-08-07README: Mention mbox reading as a feature.•••* README.org (Features): Mention mbox reading. Arun Isaac
2019-08-06doc: Move mention of (email quoted-printable).•••* doc/guile-email.texi (Encoding and Decoding)[Quoted-Printable encoding]: Move mention of (email quoted-printable) module to after the first paragraph. Arun Isaac
2019-08-06doc: Document email data types.•••* doc/guile-email.texi (Data Types): New chapter. Arun Isaac
2019-08-06doc: Mention (email email) module.•••* doc/guile-email.texi (Parsing Email): Mention (email email) module. Arun Isaac
2019-08-06doc: Change e-mail to email.•••* doc/guile-email.texi (Top, Parsing Email): Change e-mail to email. Arun Isaac
2019-07-28Update Copyright header.•••* Makefile.am: Update Copyright header. Arun Isaac
2019-07-28tests: Add examples from RFC5322 A.1.1 and A.1.2.•••* tests/email.scm ("RFC5322 A.1.1. A message from one person to another with simple addressing", "RFC5322 A.1.2. Different types of mailboxes"): New tests. Arun Isaac
2019-07-28email: Improve comment about default charset.•••* email/email.scm (post-process-content-type): Mention that RFC6657 specifies UTF-8 as the default charset only for text/* media types. Arun Isaac
2019-07-28email: Read mboxes as bytevectors.•••* email/email.scm (read-next-email-in-mbox): Read bytes from mboxes, not characters. Arun Isaac
2019-07-28tests: Add read-while eof-object test.•••* tests/utils.scm ("read-while returns eof-object on end of file"): New test. Arun Isaac
2019-07-28utils: Return eof-object from read-bytes-till on end of file.•••* email/utils.scm (read-bytes-till): Return eof-object, not #vu8(), on end of file. * tests/utils.scm: New file. * Makefile.am (SCM_TESTS): Register it. Arun Isaac
2019-07-28tests: Add example from RFC2046 5.1.1.•••* tests/email.scm ("RFC2046 5.1.1. Common syntax"): New test. Arun Isaac
2019-07-28email: Decode MIME entities without headers.•••* email/email.scm (email->headers+body): If there are no headers, return "" as headers not an eof-object. (parse-email-body): Parse headers of parent entity or email to parse-mime-entity. (add-default-mime-entity-headers): New function. (parse-mime-entity): Use add-default-mime-entity-headers instead of add-default-headers. Handle MIME entities without headers. * tests/email.scm ("decode MIME entity without headers"): New test. Arun Isaac
2019-07-28email: Support email with mixed encoding of characters.•••Prior to this, parse-email would accept email in the form of a string. A string is constrained to use the same encoding for all its characters whereas an email can have characters encoded using different encoding schemes. Therefore, it is more correct that parse-email deals with bytevectors instead of strings. * email/utils.scm (read-bytes-till): New function. * email/email.scm (body->mime-entities, email->headers+body, decode-body): Deal with emails as bytevectors instead of strings. (parse-mime-entity): Rename text argument to bv. (parse-email, parse-email-body): Overload to handle input in the form of a string or bytevector. * doc/guile-email.texi (Parsing e-mail): Document overloading of parse-email and parse-email-body. * tests/email.scm ("handle truncated multipart message gracefully"): Deal in bytevectors instead of strings. ("email with 8 bit encoding and non UTF-8 charset", "multipart email with a 8 bit encoding and non UTF-8 charset part"): New tests. * tests/email-with-8bit-encoding-and-non-utf8-charset, tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part: New files. Reported-by: Jack Hill <jackhill@jackhill.us> Arun Isaac
2019-07-26email: Match mime-entity-fields only against headers.•••* email/email.scm (parse-mime-entity): Match mime-entity-fields only against the headers, not the whole email. Arun Isaac
2019-07-26email: Import all of (email utils).•••* email/email.scm: Import all of (email utils), not a subset of the exported functions. Arun Isaac
2019-07-25Check NEWS file before releasing tarball.•••* configure.ac: Add check-news to automake options. Arun Isaac
2019-07-25Use lzip for release tarballs.•••* configure.ac: Add no-dist-gzip and dist-lzip to automake options. Arun Isaac
2019-07-21README: Link to mailing list info page.•••* README.org (Contributing): Link to mailing list info page so that users can subscribe. Arun Isaac
2019-07-21README: Advertise mailing list archives.•••* README.org (Contributing): Link to archives of the mailing list. Arun Isaac
2019-07-21email: Decode MIME encoded words in Subject header.•••Prior to this, MIME encoded words in the Subject header were not decoded. * email/email.scm (parse-email-headers): Decode MIME encoded words in Subject header. * tests/email.scm ("decode MIME encoded words in Subject header"): New test. Reported-by: Ricardo Wurmus <rekado@elephly.net> Arun Isaac
2019-07-21tests: Add test for decoding MIME encoded phrases.•••* tests/email.scm ("decode MIME encoded phrases that contain multiple MIME encoded words each with their own encoding"): New test. Arun Isaac
2019-07-19Advertise new mailing list.•••* README.org (Contributing), doc/guile-email.texi (Contributing): Advertise the new guile-email@systemreboot.net mailing list. Arun Isaac
2019-06-25doc: Specify module paths for encoding and decoding.•••* doc/guile-email.texi (Encoding and Decoding): Specify module paths. Arun Isaac
2019-06-25README: Advertise usage in mumi.•••* README.org: Advertise usage in mumi. Arun Isaac
2019-06-25doc: Fix unmatched `@end deffn'.•••* doc/guile-email.texi (Encoding and Decoding): Move unmatched `@end deffn' to previous node from where it is missing. Arun Isaac
2019-06-25doc: Document encoding and decoding procedures.•••* doc/guile-email.texi (Encoding and Decoding): New chapter. Arun Isaac
2019-06-25email: Fix typo in docstring of parse-mime-entity.•••* email/email.scm (parse-mime-entity): Replace "a" with "an" in docstring. Arun Isaac
2019-06-22README: Use absolute link to manual.•••The manual link not only appears on the website, but also in the README. Hence, we cannot use a relative link. * README.org (Documentation): Use absolute link to manual. Arun Isaac
2019-06-22README: Link to manual.•••* README.org (Documentation): New headline. Arun Isaac
2019-06-22website: Do not include default style and scripts.•••* build-website.el (org-html-head-include-default-style, org-html-head-include-scripts): Set to nil. Arun Isaac
2019-06-22README: Add title.•••* README.org (#+TITLE): Set to guile-email. Arun Isaac
2019-06-22Build website.•••* Makefile.am (website, website/index.html): Add build targets. (clean-local): Add clean target. * build-website.el: New file. Arun Isaac
2019-06-22doc: Create texinfo documentation.•••* doc/guile-email.texi: New file. * Makefile.am (info_TEXINFOS): Register it. Arun Isaac
2018-11-14Distribute README.org•••* Makefile.am (EXTRA_DIST): Register README.org. v0.1.0Arun Isaac
2018-11-14Add README.•••* README.org: New file. Arun Isaac
2018-11-14tests: Add tests for decoding MIME encoded words.•••* tests/email.scm ("decode MIME encoded word: wikipedia example", "decode MIME encoded phrases that mix ASCII text and MIME encoded words"): New tests. Arun Isaac
2018-11-14tests: Add tests for email address parsing.•••* tests/email.scm ("parse name-addr email address", "parse addr-spec email address", "parse emacs message mode parens style email address"): New tests. Arun Isaac
2018-11-13email: Support emacs message mode parens style addresses.•••* email/email.scm (define-comment-pattern, define-cfws-pattern, define-dot-atom-pattern, define-domain-pattern, define-addr-spec-pattern): New macros. (captured-comment, captured-cfws, captured-dot-atom, captured-domain, captured-addr-spec): New patterns. (mailbox): Use captured-addr-spec instead of addr-spec. (post-process-mailbox): Handle emacs message mode parens style addresses. Arun Isaac
2018-11-13email: Discard angle brackets in address fields only.•••* email/email.scm (define-angle-addr): New macro. (unbracketed-angle-addr): New pattern. (name-addr): Use unbracketed-angle-addr instead of angle-addr. (post-process-mailbox): Do not trim angle brackets from address. That is now handled by the grammar itself. Arun Isaac
2018-11-13email: Deduplicate email address parsing.•••* email/email.scm (post-process-mailbox): New function. (parse-email-address): Call post-process-mailbox instead of reimplementing address parsing using regular expressions. (parse-email-headers): Call post-process-mailbox. Arun Isaac
2018-11-13email: Fix typo in parse-email-address docstring.•••* email/email.scm (parse-email-address): Fix typo in examples in parse-email-address docstring. The returned value must be an association list of pairs, not of lists. Arun Isaac