diff options
-rw-r--r-- | lib/PublicInbox/Admin.pm | 9 | ||||
-rwxr-xr-x | script/public-inbox-edit | 7 |
2 files changed, 6 insertions, 10 deletions
diff --git a/lib/PublicInbox/Admin.pm b/lib/PublicInbox/Admin.pm index d2a0d06b..dddeeae9 100644 --- a/lib/PublicInbox/Admin.pm +++ b/lib/PublicInbox/Admin.pm @@ -9,7 +9,6 @@ use warnings; use Cwd 'abs_path'; use base qw(Exporter); our @EXPORT_OK = qw(resolve_repo_dir); -my $CFG; # all the admin stuff is a singleton require PublicInbox::Config; sub resolve_repo_dir { @@ -80,14 +79,12 @@ sub unconfigured_ibx ($$) { }); } -sub config () { $CFG //= eval { PublicInbox::Config->new } } - -sub resolve_inboxes ($;$) { - my ($argv, $opt) = @_; +sub resolve_inboxes ($;$$) { + my ($argv, $opt, $cfg) = @_; require PublicInbox::Inbox; $opt ||= {}; - my $cfg = config(); + $cfg //= eval { PublicInbox::Config->new }; if ($opt->{all}) { my $cfgfile = PublicInbox::Config::default_file(); $cfg or die "--all specified, but $cfgfile not readable\n"; diff --git a/script/public-inbox-edit b/script/public-inbox-edit index 0accd7c1..b437b3c0 100755 --- a/script/public-inbox-edit +++ b/script/public-inbox-edit @@ -22,12 +22,11 @@ my @opt = qw(mid|m=s file|F=s raw); GetOptions($opt, @PublicInbox::AdminEdit::OPT, @opt) or die "bad command-line args\n$usage\n"; +my $cfg = eval { PublicInbox::Config->new }; my $editor = $ENV{MAIL_EDITOR}; # e.g. "mutt -f" unless (defined $editor) { my $k = 'publicinbox.mailEditor'; - if (my $cfg = PublicInbox::Admin::config()) { - $editor = $cfg->{lc($k)}; - } + $editor = $cfg->{lc($k)} if $cfg; unless (defined $editor) { warn "\`$k' not configured, trying \`git var GIT_EDITOR'\n"; chomp($editor = `git var GIT_EDITOR`); @@ -41,7 +40,7 @@ if (defined $mid && defined $file) { die "the --mid and --file options are mutually exclusive\n"; } -my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt); +my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt, $cfg); PublicInbox::AdminEdit::check_editable(\@ibxs); my $found = {}; # cid => [ [ibx, smsg] [, [ibx, smsg] ] ] |