summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
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
2018-10-02Build silently.•••* configure.ac: Build silently. Arun Isaac
2018-10-02utils: Use else for the default cond clause.•••* email/utils.scm (read-while)[read-while-loop]: Use else, instead of #t, for the default cond clause. Arun Isaac
2018-10-02Set tentative version to 0.1.0.•••* configure.ac: Set version to 0.1.0. Arun Isaac
2018-10-01Add .gitignore.•••* .gitignore: New file. Arun Isaac
2018-10-01tests: Add tests for (email email).•••* tests/email.scm: New file. * Makefile.am (SCM_TESTS): Register it. Arun Isaac
2018-10-01email: Do not discard trace fields.•••* email/email.scm (angle-addr): Capture "<" and ">". (parse-email-headers): Do not discard trace fields. Trim "<" and ">" from angle-addr in mailbox, but not from trace fields. Arun Isaac
2018-10-01email: Handle truncated messages gracefully.•••* email/email.scm (body->mime-entities)[read-mime-entity]: Check for eof-object so that truncated messages are handled gracefully without raising an error. Arun Isaac
2018-09-15tests: Add random test for Q encoding.•••* tests/quoted-printable.scm (q-encoding random bytevector: q-encoding-encode and q-encoding-decode are inverses of each other): New test. Arun Isaac
2018-09-15quoted-printable: Use specific rnrs libraries.•••* email/quoted-printable.scm: Use (rnrs bytevectors) and (rnrs io ports) instead of (rnrs). Arun Isaac
2018-09-15quoted-printable: Use call-with-bytevector-output-port.•••* email/quoted-printable.scm (quoted-printable-decode): Use call-with-bytevector-output-port instead of call-with-port and open-bytevector-output-port. Arun Isaac
2018-09-15quoted-printable: Q-encode #\? and #\_ with their ASCII values.•••* email/quoted-printable.scm (%q-encoding-literal-char-set, %quoted-printable-literal-char-set): New variables. (quoted-printable-encode): Move core encoding code to ... (quoted-printable-style-encode): ... this new function. (q-encoding-decode): Call quoted-printable-style-encode with the appropriate literal-char-set instead of calling quoted-printable-encode. * tests/quoted-printable.scm (q-encoding of special characters): Add to check for this bug. Arun Isaac
2018-09-15tests: Extend quoted-printable special characters encoding test.•••* tests/quoted-printable.scm (quoted-printable-escape-encode-char): New function. ("quoted-printable encoding of ="): Rename to ... ("quoted-printable encoding of special characters"): ... this. Extend to test encoding of #\return and #\newline as well. Arun Isaac
2018-09-15tests: Add tests for quoted-printable.•••* tests/quoted-printable.scm (random-bytevector, each-line-has-a-maximum-of-76-characters?, string-has-only-quoted-printable-valid-characters?): New functions. (quoted-printable random bytevector: quoted-printable-encode and quoted-printable-decode are inverses of each other, quoted-printable random bytevector: encoded output should not be more than 76 columns wide, quoted-printable random bytevector: encoded output must only consist of printable ASCII characters): New tests. Arun Isaac
2018-09-15quoted-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. Arun Isaac
2018-09-14quoted-printable: Encode printable ASCII characters to themselves.•••* email/quoted-printable.scm (quoted-printable-encode): Encode only printable ASCII characters, that is, ASCII characters in the interval [#\space, #\delete), to themselves. Arun Isaac
2018-09-12quoted-printable: Add q-encoding-encode.•••* email/quoted-printable.scm (q-encoding-encode): New function. * tests/quoted-printable.scm (q-encoding wikipedia example): Rename to ... (q-encoding wikipedia example: decoding): ... this. (q-encoding wikipedia example: encoding): New test. Arun Isaac
2018-09-12Untabify and re-indent all sources.•••* build-aux/test-driver.scm, email/base64.scm, email/email.scm, email/quoted-printable.scm, email/utils.scm, tests/quoted-printable.scm: Untabify and re-indent. Arun Isaac
2018-09-12quoted-printable: Add quoted-printable-encode.•••* email/quoted-printable.scm (quoted-printable-encode): New function. * tests/quoted-printable.scm (quoted-printable wikipedia example): Rename to ... (quoted-printable wikipedia example: decoding): ... this. (quoted-printable wikipedia example: encoding, quoted-printable wikipedia example: encoded output should not be more than 76 columns wide): New tests. Arun Isaac
2018-09-12quoted-printable: Close port after use.•••* email/quoted-printable.scm (quoted-printable-decode): Close bytevector port after use. In cond, use else instead of #t for the default clause. Arun Isaac
2018-09-12tests: Add tests for Q-encoding.•••* tests/quoted-printable.scm ("wikipedia example"): Rename to ... ("quoted-printable wikipedia example"): ... this. ("q-encoding wikipedia example"): New test. Arun Isaac
2018-09-11tests: Add tests for (email quoted-printable).•••* build-aux/test-driver.scm: New file. * tests/quoted-printable.scm: New file. * Makefile.am (TEST_EXTENSIONS, SCM_TESTS, TESTS, SCM_LOG_DRIVER): New variables. (EXTRA_DIST): Register new files for distribution. Arun Isaac
2018-09-08Set up the GNU build system.•••* Makefile.am, bootstrap.sh, configure.ac, pre-inst-env.in: New files. Arun Isaac
2018-09-08Initial commit.Arun Isaac