From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id DB6321F8C1 for ; Thu, 7 May 2020 21:05:56 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 00/13] eml: pure-Perl replacement for Email::MIME Date: Thu, 7 May 2020 21:05:43 +0000 Message-Id: <20200507210556.22995-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Eric Wong (13): msg_iter: make ->each_part method for PublicInbox::MIME msg_iter: pass $idx as a scalar, not array filter/rubylang: avoid recursing subparts to strip trailers smsg: use capitalization for header retrieval eml: pure-Perl replacement for Email::MIME switch read-only Email::Simple users to Eml replace most uses of PublicInbox::MIME with Eml EmlContentFoo: Email::MIME::ContentType replacement EmlContentFoo: relax Encode version requirement eml: remove dependency on Email::MIME::Encodings xt: eml comparison tests remove most internal Email::MIME usage eml: drop trailing blank line on missing epilogue Documentation/mknews.perl | 4 +- INSTALL | 26 +- MANIFEST | 7 + Makefile.PL | 7 +- ci/deps.perl | 3 - lib/PublicInbox/Admin.pm | 2 +- lib/PublicInbox/Eml.pm | 421 +++++++++++++++++++++++++++++ lib/PublicInbox/EmlContentFoo.pm | 317 ++++++++++++++++++++++ lib/PublicInbox/Filter/RubyLang.pm | 32 ++- lib/PublicInbox/Filter/Vger.pm | 4 +- lib/PublicInbox/Import.pm | 11 +- lib/PublicInbox/Inbox.pm | 4 +- lib/PublicInbox/InboxWritable.pm | 4 +- lib/PublicInbox/MDA.pm | 1 - lib/PublicInbox/MIME.pm | 6 + lib/PublicInbox/Mbox.pm | 16 +- lib/PublicInbox/MboxGz.pm | 4 +- lib/PublicInbox/MsgIter.pm | 21 +- lib/PublicInbox/MsgTime.pm | 8 +- lib/PublicInbox/NNTP.pm | 19 +- lib/PublicInbox/SearchIdx.pm | 8 +- lib/PublicInbox/SearchIdxShard.pm | 3 +- lib/PublicInbox/Smsg.pm | 24 +- lib/PublicInbox/SolverGit.pm | 4 +- lib/PublicInbox/TestCommon.pm | 11 +- lib/PublicInbox/V2Writable.pm | 17 +- lib/PublicInbox/View.pm | 28 +- lib/PublicInbox/WWW.pm | 8 +- lib/PublicInbox/WatchMaildir.pm | 4 +- lib/PublicInbox/WwwAttach.pm | 15 +- script/public-inbox-edit | 8 +- script/public-inbox-learn | 4 +- script/public-inbox-mda | 16 +- script/public-inbox-purge | 4 +- t/altid.t | 4 +- t/altid_v2.t | 4 +- t/cgi.t | 8 +- t/content_id.t | 6 +- t/convert-compact.t | 4 +- t/edit.t | 20 +- t/eml.t | 363 +++++++++++++++++++++++++ t/eml_content_disposition.t | 102 +++++++ t/eml_content_type.t | 289 ++++++++++++++++++++ t/feed.t | 6 +- t/filter_base.t | 4 +- t/filter_mirror.t | 2 +- t/filter_rubylang.t | 8 +- t/filter_subjecttag.t | 4 +- t/filter_vger.t | 6 +- t/html_index.t | 4 +- t/httpd.t | 4 +- t/import.t | 6 +- t/indexlevels-mirror.t | 4 +- t/mda.t | 4 +- t/mda_filter_rubylang.t | 2 +- t/mid.t | 4 +- t/mime.t | 82 +++--- t/msg_iter.t | 10 +- t/msgtime.t | 6 +- t/multi-mid.t | 6 +- t/nntp.t | 4 +- t/nntpd-tls.t | 4 +- t/nntpd.t | 6 +- t/nulsubject.t | 2 +- t/plack.t | 10 +- t/precheck.t | 10 +- t/psgi_attach.t | 2 +- t/psgi_bad_mids.t | 4 +- t/psgi_mount.t | 4 +- t/psgi_multipart_not.t | 4 +- t/psgi_scan_all.t | 4 +- t/psgi_search.t | 8 +- t/psgi_text.t | 2 +- t/psgi_v2.t | 6 +- t/purge.t | 2 +- t/replace.t | 12 +- t/reply.t | 4 +- t/search-thr-index.t | 6 +- t/search.t | 26 +- t/solver_git.t | 4 +- t/spamcheck_spamc.t | 8 +- t/thread-cycle.t | 3 +- t/time.t | 4 +- t/v1-add-remove-add.t | 4 +- t/v1reindex.t | 4 +- t/v2-add-remove-add.t | 4 +- t/v2mda.t | 4 +- t/v2mirror.t | 4 +- t/v2reindex.t | 8 +- t/v2writable.t | 8 +- t/watch_filter_rubylang.t | 2 +- t/watch_maildir.t | 2 +- t/watch_maildir_v2.t | 2 +- t/www_altid.t | 2 +- t/xcpdb-reshard.t | 4 +- xt/cmp-msgstr.t | 108 ++++++++ xt/cmp-msgview.t | 95 +++++++ xt/msgtime_cmp.t | 12 +- xt/perf-msgview.t | 2 +- 99 files changed, 2084 insertions(+), 353 deletions(-) create mode 100644 lib/PublicInbox/Eml.pm create mode 100644 lib/PublicInbox/EmlContentFoo.pm create mode 100644 t/eml.t create mode 100644 t/eml_content_disposition.t create mode 100644 t/eml_content_type.t create mode 100644 xt/cmp-msgstr.t create mode 100644 xt/cmp-msgview.t