summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2023-01-03build-aux: Make test-corpus.scm a loadable script.•••Make test-corpus.scm a script loadable from the REPL rather than something that must be run on the shell. Loadable scripts are easier to deal with since one does not have to deal with command-line arguments. * build-aux/test-corpus.scm (%fail-directory): Delete variable. (write-failed-email): Add fail-directory argument. (main): New function. Arun Isaac
2023-01-03build-aux: Bump copyright year on test-driver.scm.•••* build-aux/test-driver.scm: Bump copyright year for Arun Isaac. Arun Isaac
2023-01-03dir-locals: Allow tabs in Makefiles.•••* .dir-locals.el (makefile-gmake-mode): Set indent-tabs-mode to t. Arun Isaac
2023-01-03Quit the autotools build system.•••For a simple package like guile-email, the autotools build system is more trouble than it is worth. We prefer a hand-written Makefile. As the commit summary suggests, the autotools are indeed a bad habit that we must "quit". * Makefile: New file. * Makefile.am, bootstrap.sh, configure.ac, pre-inst-env.in: Delete files. * build-aux/test-corpus.scm.in: Rename to ... * build-aux/test-corpus.scm: ... this. Remove shebang. * build-aux/test-driver.scm.in: Rename to ... * build-aux/test-driver.scm: ... this. Remove autotools specific parts. * guix.scm: Import (guix utils). (guile-email)[arguments]: Add prefix to #:make-flags. Delete configure phase. * .gitignore: Remove INSTALL, Makefile, Makefile.in, aclocal.m4, autom4te.cache, build-aux/install-sh, build-aux/missing, build-aux/test-corpus.scm, config.log, config.status, configure, doc/.dirstamp, pre-inst-env, test-suite.log, tests/*.log and tests/*.trs. Arun Isaac
2023-01-03tests: Import (srfi srfi-64) in base64.scm.•••* tests/base64.scm: Import (srfi srfi-64). Arun Isaac
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