about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-10-26 21:18:05 +0000
committerEric Wong <e@80x24.org>2021-10-27 05:22:42 +0000
commit694fc1b61b8f3c56e11f55f3413c1329b0b650da (patch)
treeab35639d6860ebea974bda5198ed0cf5695d8ba9
parente7d9df936d071b4a9b72d2e6096ddf1e90c1bc05 (diff)
downloadpublic-inbox-694fc1b61b8f3c56e11f55f3413c1329b0b650da.tar.gz
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.
-rw-r--r--lib/PublicInbox/LEI.pm2
-rw-r--r--lib/PublicInbox/LeiMailDiff.pm6
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm
index f9d24f29..96f7c5e3 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 4f3a4608..b21a0c36 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; }