about summary refs log tree commit homepage
path: root/lib/PublicInbox/LeiForgetExternal.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/LeiForgetExternal.pm')
-rw-r--r--lib/PublicInbox/LeiForgetExternal.pm11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/PublicInbox/LeiForgetExternal.pm b/lib/PublicInbox/LeiForgetExternal.pm
index 07f0ac80..c8d1df38 100644
--- a/lib/PublicInbox/LeiForgetExternal.pm
+++ b/lib/PublicInbox/LeiForgetExternal.pm
@@ -16,8 +16,7 @@ sub lei_forget_external {
                         next if $seen{$l}++;
                         my $key = "external.$l.boost";
                         delete($cfg->{$key});
-                        $lei->_config('--unset', $key);
-                        if ($? == 0) {
+                        if ($lei->_config('+e', '--unset', $key)) {
                                 $lei->qerr("# $l forgotten ");
                         } elsif (($? >> 8) == 5) {
                                 warn("# $l not found\n");
@@ -32,14 +31,10 @@ sub lei_forget_external {
 sub _complete_forget_external {
         my ($lei, @argv) = @_;
         my $cfg = $lei->_lei_cfg or return ();
-        my ($cur, $re, $match_cb) = $lei->complete_url_prepare(\@argv);
-        # FIXME: bash completion off "http:" or "https:" when the last
-        # character is a colon doesn't work properly even if we're
-        # returning "//$HTTP_HOST/$PATH_INFO/", not sure why, could
-        # be a bash issue.
+        my ($pfx, $cur, $match_cb) = $lei->complete_url_prepare(\@argv);
         map {
                 $match_cb->(substr($_, length('external.')));
-        } grep(/\Aexternal\.$re\Q$cur/, @{$cfg->{-section_order}});
+        } grep(/\Aexternal\.\Q$pfx$cur/, @{$cfg->{-section_order}});
 }
 
 1;