summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2021-09-28build-aux: Do not create backup files when building website.•••* build-aux/build-website.el (make-backup-files): Set to nil. Arun Isaac
2021-06-18README: Link repology badge to repology page.•••* README.org (Download): Link repology badge to repology page. Arun Isaac
2021-06-18README: Link to the Guix data service.•••* README.org: Link to the Guix data service, instead of just mentioning it. Arun Isaac
2021-06-18website: Make SVG badges clickable.•••* website/style.css (object): Set pointer-events to none. Arun Isaac
2021-06-18.gitignore: Add files.•••* .gitignore: Add INSTALL, doc/.dirstamp, doc/guile-email.html, doc/guile-email.info, website. Arun Isaac
2021-06-18Comment on website build and clean rules.•••* Makefile.am: Comment on website build and clean rules. Arun Isaac
2021-06-18website: Widen to 900px.•••* website/style.css (body): Set max-width to 900px. Arun Isaac
2021-06-18website: Reference external stylesheet.•••* website/style.css: New file. * Makefile.am (AM_MAKEINFOHTMLFLAGS): Set to --css-ref=/style.css. * build-aux/build-website.el (org-html-head): Set to <link> tag referencing external stylesheet. Arun Isaac
2021-06-18build-aux: Move build-website.el into build-aux directory.•••* build-website.el: Move to build-aux/build-website.el. * Makefile.am (website/index.html): Use build-aux/build-website.el instead of build-website.el. Arun Isaac
2021-06-18Configure path to emacs.•••* configure.ac: Check for emacs. * Makefile.am (website/index.html): Use EMACS from configure instead of emacs. Arun Isaac
2021-06-18Use MKDIR_P.•••* Makefile.am (website/index.html): Use MKDIR_P instead of `mkdir -p'. Arun Isaac
2021-06-18Copy manual to website in a separate target.•••* Makefile.am (website/manual/dev/en): New target. (website): Depend on website/manual/dev/en instead of building directly. Do not depend on phony target html. Arun Isaac
2021-06-18website: Move releases into website directory.•••If the releases directory is already in the website directory, then we don't need to redundantly copy it while building the website. * releases: Move to website/releases. * Makefile.am (website): Do not copy releases. (clean-local): Do not clean website/releases. Arun Isaac
2021-06-17README: Add nightly tests badge.•••* README.org: Add nightly tests badge, that is, for the "guile-email-nightly" job. Arun Isaac
2021-06-15build-aux: Add corpus pull script.•••This is a follow-up to commit 7a78c23f6f2f1c32abb508563a700cd535b29ad1 adding a file that was missed out. * build-aux/pull-corpus.scm: New file. Arun Isaac
2021-06-14Add corpus test scripts.•••* build-aux/pull-corpus.scm, build-aux/test-corpus.scm.in: New files. * configure.ac: Configure build-aux/test-corpus.scm. * .gitignore: Add build-aux/test-corpus.scm. Arun Isaac
2021-06-13pre-inst-env: Rewrite pre-inst-env in scheme.•••Scheme code is more readable than arcane bash. * pre-inst-env.in: Rewrite in scheme. Arun Isaac
2021-06-10doc: Update mbox->emails documentation.•••* doc/guile-email.texi (Reading Email): Update mbox->emails documentation. Arun Isaac
2021-06-10build-website: Do not override org-html--svg-image.•••SVG image export works correctly out of the box in org. * build-website.el (org-html--svg-image): Delete function. Arun Isaac
2021-06-10README: Add continuous integration badges.•••* README.org (ci-badge): New macro. Add continuous integration badges. Arun Isaac
2021-03-15email: Use only cfws-captured-words in obs-phrase.•••* email/email.scm (obs-phrase): Replace word with cfws-captured-word. * tests/email.scm ("Parse names with more than two words"): New test. Arun Isaac
2020-12-06website: Export svg using img tag.•••* build-website.el (org-html--svg-image): Override to export svg using an img tag instead of an object tag. Arun Isaac
2020-12-06README: Add repology packaging status badge.•••* README.org (Download): Add repology packaging status badge. Arun Isaac
2020-12-06tests: Return a list of Received headers for trace.•••* tests/email.scm ("Trace with only one Received header should be a list of received traces, not a single received trace"): New test. Arun Isaac
2020-12-06tests: Parse obsolete Received header.•••* tests/email.scm ("Parse obsolete Received header"): New test. Arun Isaac
2020-12-05tests: Add example from RFC5322 A.6.3.•••* tests/email.scm ("RFC5322 A.6.3. Obsolete white space and comments"): New test. Arun Isaac
2020-12-05email: Indent better.•••* email/email.scm (define-cfws-pattern): Indent better. Arun Isaac
2020-12-05email: Give higher precedence to obsolete id-left, id-right patterns.•••* email/email.scm (id-left, id-right): Give higher precedence to obsolete patterns. Arun Isaac
2020-12-05email: Support remaining obsolete specification.•••* email/email.scm (obs-phrase-list, obs-utext, obs-unstruct, obs-optional): New macros. (unstructured, in-reply-to, references, keywords, optional-field): Include obsolete patterns. Arun Isaac
2020-12-05email: Support obsolete Received header.•••* email/email.scm (received): Include obsolete pattern. (parse-mime-entity): Post process obsolete received forms. Arun Isaac
2020-12-05email: Do not capture cfws in atoms and dot-atoms.•••* email/email.scm (define-atom-pattern): Do not capture cfws unless specified. (atom): Do not specify cfws. (define-dot-atom-pattern): Do not capture cfws. (define-word-pattern): New macro. (cfws-captured-atom, cfws-captured-word): New patterns. (obs-phrase): Use cfws-captured-word. (received-token): Capture all. (parse-mime-entity): Post process received and received-token. * tests/email.scm ("parse email headers"): Fix test. Arun Isaac
2020-12-05email: Support obsolete date and time.•••* email/email.scm (obs-day-of-week, obs-day, obs-year, obs-hour, obs-minute, obs-second, obs-zone): New macros. (day-of-week, day, year, hours, minutes, seconds, zone): Include obsolete pattern. (parse-email-headers): Handle obsolete two and three digit years, and alphabetic time zone specifiers. * tests/email.scm ("RFC5322 A.6.2. Obsolete dates"): New test. Arun Isaac
2020-12-05email: Support obsolete addressing.•••* email/email.scm (obs-qp, obs-fws, obs-no-ws-ctl, obs-ctext, obs-qtext, obs-phrase, obs-local-part, obs-dtext, obs-domain, obs-domain-list, obs-route, obs-angle-addr, captured-atom, captured-obs-domain, captured-domain, obs-mbox-list, obs-group-list, obs-addr-list, obs-id-left, obs-id-right): New patterns. (quoted-pair, fws, ctext, qtext, phrase, dtext, define-angle-addr-pattern, mailbox-list, group-list, address-list, define-field-pattern, from, sender, bcc, id-left, id-right, resent-from, resent-sender, resent-bcc, obs-resent-rply): Include obsolete pattern. (define-printable-ascii-character-pattern-with-obsolete, define-atom-pattern, define-obs-domain-pattern): New macros. (define-domain-pattern): Accept obs-domain as a new argument. (fields): Include obs-resent-rply. * tests/email.scm ("RFC5322 A.6.1. Obsolete addressing"): New test. ("parse email addresses with period in name"): Mark as passing. Arun Isaac
2020-12-04tests: Parse email addresses with period in name.•••* tests/email.scm ("parse email addresses with period in name"): New test. Reported-by: Ricardo Wurmus <rekado@elephly.net> Arun Isaac
2020-08-12README: Switch from mailing list to public inbox.•••We are switching from the old mailman managed mailing list to a new public inbox. It is simpler to maintain and better suited for small projects. * README.org (Contributing): Switch from mailing list to public inbox. Arun Isaac
2020-05-25tests: Test inputs of different lengths.•••* tests/base64.scm ("base64 random bytevector: base64-encode and base64-decode are inverses of each other", "base64 random bytevector: encoded output should not be more than 76 columns wide", "base64 random bytevector: encoded output must only consist of characters from the base64 alphabet"): Test inputs of different lengths. * tests/quoted-printable.scm ("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", "q-encoding random bytevector: q-encoding-encode and q-encoding-decode are inverses of each other"): Test inputs of different lengths. Arun Isaac
2020-05-25email: Decode base64 bytevector without converting to string.•••The new base64 decoder can directly operate on bytevectors in addition to strings. This feature may not remain forever, but it greatly improves performance. So, it stays for now. * email/email.scm (decode-body): Decode base64 encoded body directly without converting to an intermediate string. Arun Isaac
2020-05-25email: Do not filter base64 encoded bytes before decoding.•••The new base64 decoder skips invalid characters safely. * email/email.scm (decode-body): Do not filter base64 encoded body to remove invalid base64 characters. Arun Isaac
2020-05-25tests: Add tests for (email base64).•••* tests/encoding.scm: Move common code for encoding tests to this new file. * tests/quoted-printable.scm: Load encoding.scm. * tests/base64.scm: New file. * Makefile.am (SCM_TESTS): Register tests/base64.scm. Arun Isaac
2020-05-25base64: Reimplement from scratch.•••* email/base64.scm: Replace file. Arun Isaac
2020-05-25utils: Do not match sequence byte by byte in read-bytes-till.•••* email/utils.scm (bytevector-match, bytevector-overlap, lookahead-bytevector-n): New functions. (read-bytes-till): Do not match sequence byte by byte. Process blocks of bytes at a time. Arun Isaac
2020-05-25utils: Introduce the not-end-let utility.•••* email/utils.scm (not-end-let): New macro. * .dir-locals.el (scheme-mode): Indent not-end-let correctly. Arun Isaac
2020-05-25utils: Do not return eof if matched at beginning.•••* email/utils.scm (read-while, read-bytes-till): Do not return eof if matched at beginning. Return empty string or bytevector respectively. * tests/utils.scm ("read-bytes-till returns empty bytevector on match at beginning", "read-while returns empty string on match at beginning"): New tests. Arun Isaac
2020-05-07Add minimal CSS styling to website.•••* build-website.el (org-html-head): Add minimal CSS. Arun Isaac
2019-12-22Release version 0.2.2.•••* NEWS: Update news. * README.org (Download): Link to guile-email 0.2.2 tarball. * configure.ac: Bump to version 0.2.2. * releases/guile-email-0.2.2.tar.lz, releases/guile-email-0.2.2.tar.lz.asc: New files. v0.2.2Arun Isaac
2019-12-21tests: Return References header with only one reference as a singleton list.•••* tests/email.scm ("References header with only one reference must be a singleton list, not a string"): New test. Arun Isaac
2019-12-21README: Advertise usage in the Guix data service.•••* README.org: Advertise usage in the Guix data service. Arun Isaac
2019-12-16tests: Log test results to stderr.•••* build-aux/test-driver.scm.in (my-gnu-runner): Log colorized test results to stderr. Arun Isaac
2019-12-16Support upcoming guile 3.0.•••* configure.ac: Check for guile 3.0 before checking for guile 2.2. Arun Isaac
2019-12-16Remove custom code checking for guild.•••* configure.ac: Remove custom code checking for guild. Arun Isaac