'rediff' => [ '--stdin|LOCATION...',
'regenerate a diff with different options',
'stdin|', # /|\z/ must be first for lone dash
- qw(git-dir=s@ cwd! verbose|v+ color:s no-color),
+ qw(git-dir=s@ cwd! verbose|v+ color:s no-color drq:1 dequote-only:1),
@diff_opt, @lxs_opt, @net_opt, @c_opt ],
'add-external' => [ 'LOCATION',
my ($self, $buf, $exit_code) = @_;
$self->{failed}++;
err($self, $buf) if defined $buf;
- # calls fail_handler
- $self->{pkt_op_p}->pkt_do('!') if $self->{pkt_op_p};
+ $self->{pkt_op_p}->pkt_do('fail_handler') if $self->{pkt_op_p};
x_it($self, ($exit_code // 1) << 8);
undef;
}
sub note_sigpipe { # triggers sigpipe_handler
my ($self, $fd) = @_;
close(delete($self->{$fd})); # explicit close silences Perl warning
- $self->{pkt_op_p}->pkt_do('|') if $self->{pkt_op_p};
+ $self->{pkt_op_p}->pkt_do('sigpipe_handler') if $self->{pkt_op_p};
x_it($self, 13);
}
close $listener if $listener;
undef $listener;
$dir_idle->force_close if $dir_idle;
+ undef $dir_idle;
%PATH2CFG = ();
$MDIR2CFGPATH = {};
eval 'no warnings; undef $PublicInbox::LeiNoteEvent::to_flush';
sub pkt_ops {
my ($lei, $ops) = @_;
- $ops->{'!'} = [ \&fail_handler, $lei ];
- $ops->{'|'} = [ \&sigpipe_handler, $lei ];
- $ops->{x_it} = [ \&x_it, $lei ];
- $ops->{child_error} = [ \&child_error, $lei ];
- $ops->{incr} = [ \&incr, $lei ];
+ $ops->{fail_handler} = [ $lei ];
+ $ops->{sigpipe_handler} = [ $lei ];
+ $ops->{x_it} = [ $lei ];
+ $ops->{child_error} = [ $lei ];
+ $ops->{incr} = [ $lei ];
$ops;
}
sub refresh_watches {
my ($lei) = @_;
+ $dir_idle or return;
my $cfg = _lei_cfg($lei) or return;
my $old = $cfg->{-watches};
my $watches = $cfg->{-watches} //= {};