From 666dde69a3f64456321b7c701070712d6b85e359 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 8 Nov 2021 23:39:26 +0000 Subject: lei q|up: fix saved searches for single-phrase search `"' (double-quote) needs to be quoted for stdin searches. We also need to differentiate between "lei q --stdin" usage when calling "lei up", do it by setting an internal "rawstr" knob to ensure we can parse the config properly regardless of whether the initial search used --stdin or not. --- lib/PublicInbox/LeiSavedSearch.pm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'lib/PublicInbox/LeiSavedSearch.pm') diff --git a/lib/PublicInbox/LeiSavedSearch.pm b/lib/PublicInbox/LeiSavedSearch.pm index b2f1ad10..1d13aef6 100644 --- a/lib/PublicInbox/LeiSavedSearch.pm +++ b/lib/PublicInbox/LeiSavedSearch.pm @@ -21,6 +21,7 @@ my %cquote = ("\n" => '\\n', "\t" => '\\t', "\b" => '\\b'); sub cquote_val ($) { # cf. git-config(1) my ($val) = @_; $val =~ s/([\n\t\b])/$cquote{$1}/g; + $val =~ s/\"/\\\"/g; $val; } @@ -162,6 +163,10 @@ EOM my $val = $lei->{opt}->{$k} // next; print $fh "\t$k = $val\n"; } + $lei->{opt}->{stdin} and print $fh <fail("close $f: $!"); $self->{lock_path} = "$self->{-f}.flock"; $self->{-ovf} = "$dir/over.sqlite3"; -- cgit v1.2.3-24-ge0c7