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 370001F953 for ; Tue, 26 Oct 2021 21:18:05 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] lei mail-diff: support more inputs, split newlines Date: Tue, 26 Oct 2021 21:18:05 +0000 Message-Id: <20211026211805.19342-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Support --in-format like the rest of LeiInput users, and don't default to .eml if a per-input format was specified. In any case, I saved a bunch of messages from mutt which uses mboxcl2. We'll also split newlines for diff, since it's a pain to read diffs with escaped "\n" characters in them. --- lib/PublicInbox/LEI.pm | 2 +- lib/PublicInbox/LeiMailDiff.pm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index f9d24f29c87d..96f7c5e315a9 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -202,7 +202,7 @@ our %CMD = ( # sorted in order of importance/use: 'mail-diff' => [ '--stdin|LOCATION...', 'diff the contents of emails', 'stdin|', # /|\z/ must be first for lone dash - qw(verbose|v+ color:s no-color raw-header), + qw(verbose|v+ in-format|F=s color:s no-color raw-header), @diff_opt, @net_opt, @c_opt ], 'add-external' => [ 'LOCATION', diff --git a/lib/PublicInbox/LeiMailDiff.pm b/lib/PublicInbox/LeiMailDiff.pm index 4f3a4608d8e0..b21a0c366fd6 100644 --- a/lib/PublicInbox/LeiMailDiff.pm +++ b/lib/PublicInbox/LeiMailDiff.pm @@ -76,7 +76,7 @@ sub input_eml_cb { # used by PublicInbox::LeiInput::input_fh sub lei_mail_diff { my ($lei, @argv) = @_; - $lei->{opt}->{'in-format'} //= 'eml'; + $lei->{opt}->{'in-format'} //= 'eml' if !grep(/\A[a-z0-9]+:/i, @argv); my $self = bless {}, __PACKAGE__; $self->prepare_inputs($lei, \@argv) or return; my $isatty = -t $lei->{1}; @@ -94,7 +94,7 @@ sub lei_mail_diff { no warnings 'once'; *net_merge_all_done = \&PublicInbox::LeiInput::input_only_net_merge_all_done; -package PublicInbox::ContentDigestDbg; +package PublicInbox::ContentDigestDbg; # cf. PublicInbox::ContentDigest use strict; use v5.10.1; use Data::Dumper; @@ -103,7 +103,7 @@ sub new { bless { dig => Digest::SHA->new(256), fh => $_[1] }, __PACKAGE__ } sub add { $_[0]->{dig}->add($_[1]); - print { $_[0]->{fh} } Dumper($_[1]) or die "print $!"; + print { $_[0]->{fh} } Dumper([split(/^/sm, $_[1])]) or die "print $!"; } sub hexdigest { $_[0]->{dig}->hexdigest; }