summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2023-01-03guix.scm: Use modify-inputs.•••* guix.scm (guile-email)[naive-inputs]: Rewrite using modify-inputs. Arun Isaac
2023-01-03guix.scm: Build package from local source.•••* guix.scm: Import (guix gexp) and (guix git-download). (%source-dir): New variable. (guile-email)[source]: Use local source. Arun Isaac
2023-01-03README: Thank Andrew Whatson for code.•••* README.org (Contributors): Add Andrew Whatson. Arun Isaac
2023-01-03email: Support quoted-printable CR LF sequences.•••* email/quoted-printable.scm (quoted-printable-decode): Ignore "=\r\n" sequences in the input. * tests/quoted-printable.scm ("quoted-printable decoding of soft line breaks (=\\n)", "quoted-printable decoding of soft line breaks (=\\r\\n)"): New tests. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Andrew Whatson
2022-12-29dir-locals.el: Delete trailing blank lines.•••* .dir-locals.el: Delete trailing blank lines. Arun Isaac
2022-01-19README: Fix broken link to signing key.•••* README (Download): Fix broken link to signing key. Arun Isaac
2021-10-24build-aux: Test bug-guix corpus.•••* build-aux/pull-corpus.scm: Pull bug-guix mailing list archives. * build-aux/test-corpus.scm.in: Test bug-guix corpus. Arun Isaac
2021-10-24build-aux: Create corpus directory if it does not exist.•••* build-aux/pull-corpus.scm (pull-mailing-list): Create corpus directory if it does not exist. Arun Isaac
2021-10-24email: Handle Received header with two tokens but no timestamp.•••* email/email.scm (parse-email-headers): Match Received header with timestamp more precisely. * tests/email.scm ("Parse Received header with two tokens but no timestamp"): No test. Arun Isaac
2021-10-24tests: Return trace with only one Receieved header as a list of lists.•••* tests/email.scm ("Trace with only one Received header must be a list of lists, not a list"): New test. Arun Isaac
2021-10-24email: Handle unrecognized Content-Transfer-Encoding headers.•••* email/email.scm (handle-invalid-headers): New function. (parse-email-headers): Handle invalid headers. * tests/email.scm ("Assume application/octet-stream Content-Type if Content-Transfer-Encoding is unrecognized"): New test. Arun Isaac
2021-10-24tests: Paginate tests/email.scm.•••tests/email.scm is getting really long. Pagination make it easier to understand. * tests/email.scm: Split into three pages---Emails, Email addresses and MIME encoded words. Arun Isaac
2021-10-23build-aux: Read emails one by one from mbox corpora.•••Reading emails one by one avoids allocating memory for a list of emails. * build-aux/test-corpus.scm.in (read-next-email-in-mbox): New function. (test-corpus): Use port-transduce to read emails one by one. Arun Isaac
2021-10-23build-aux: Write failed corpus test emails to filesystem.•••* build-aux/test-corpus.scm.in: Import (rnrs io ports), (srfi srfi-26), (srfi srfi-28), (srfi srfi-171), (ice-9 ftw) and (ice-9 match). (%fail-directory): New variable. (directory-files, write-failed-email): New function. Write failed corpus test emails to a "fail directory" specified on the command line. Arun Isaac
2021-10-06website: Switch to high contrast.•••High contrast feels more readable. Low contrast makes me squint. * website/style.css (body): Remove color property. Let it be the default black. Arun Isaac
2021-10-02README: Add Contributors section.•••* README.org (Contributors): New section. Arun Isaac
2021-10-02email: Do not use an empty bytevector to test the charset.•••Using an empty bytevector no longer throws an exception since Guile commit 5ea8c69e9153a970952bf6f0b32c4fad6a28e839. * email/email.scm (post-process-content-transfer-encoding): Use a bytevector of unit length to test the charset validity. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Mathieu Othacehe
2021-09-28README: Use a dynamic block to list releases.•••* README.org (Download): Replace releases with dynamic block. * build-aux/build-website.el: Update dynamic blocks before exporting. (org-dblock-write:releases): New function. Arun Isaac
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