summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-05-01 15:56:19 +0000
committerKarl Berry <karl@freefriends.org>2015-05-01 15:56:19 +0000
commitade74033ac5eb78a9d1218cbcad8d8c86c57a8dc (patch)
tree16d2c1ef913b7d62ebd818ae4a15d58f38411b3a /Master
parentedcd0ffca4d7fb395a3cb3e6639044850cd71c93 (diff)
(action_search): don't print (unused) return code,
just the matches. Report from Nelson. (main): Use $prg instead of hardwiring "tlmgr". git-svn-id: svn://tug.org/texlive/trunk@37141 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/tlmgr.pl21
1 files changed, 14 insertions, 7 deletions
diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl
index c31818d8a9e..674e30fdf95 100755
--- a/Master/texmf-dist/scripts/texlive/tlmgr.pl
+++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl
@@ -637,7 +637,7 @@ for the full story.\n";
my $ret = execute_action($action, @ARGV);
if ($ret & $F_ERROR) {
- tlwarn("tlmgr: an error has occurred. See above messages. Exiting.\n");
+ tlwarn("$prg: An error has occurred. See above messages. Exiting.\n");
}
# end of main program, returns also error codes
@@ -701,12 +701,12 @@ sub execute_action {
return($foo);
}
if ($foo & $F_WARNING) {
- tlwarn("tlmgr: action $action returned a warning.\n");
+ tlwarn("$prg: action $action returned a warning.\n");
$ret = $foo;
}
} else {
$ret = $F_OK;
- tlwarn("tlmgr: didn't get return value from action $action, assuming ok.\n");
+ tlwarn("$prg: didn't get return value from action $action, assuming ok.\n");
}
my $run_post = 1;
if ($ret & $F_NOPOSTACTION) {
@@ -1610,7 +1610,6 @@ sub action_info {
#
sub action_search {
my ($r) = @ARGV;
- my $ret = $F_OK | $F_NOPOSTACTION;
my $tlpdb;
# check the arguments
my $search_type_nr = 0;
@@ -1633,8 +1632,11 @@ sub action_search {
} else {
$tlpdb = $localtlpdb;
}
+
foreach my $pkg ($tlpdb->list_packages) {
my $tlp = $tlpdb->get_package($pkg);
+
+ # --file or --all -> search (full) file names
if ($opts{"file"} || $opts{"all"}) {
my @files = $tlp->all_files;
if ($tlp->relocated) {
@@ -1647,7 +1649,10 @@ sub action_search {
print "\t$_\n";
}
}
- } else {
+ }
+ #
+ # no options or --all -> search package names/descriptions
+ if ($search_type_nr == 0 || $opts{"all"}) {
next if ($pkg =~ m/\./);
# glom description strings together for one search
my $t = "$pkg\n";
@@ -1655,13 +1660,15 @@ sub action_search {
$t = $t . $tlp->longdesc . "\n" if (defined($tlp->longdesc));
my $pat = $r;
$pat = '\W' . $r . '\W' if ($opts{"word"});
+ my $matched = "";
if ($t =~ m/$pat/i) {
my $shortdesc = $tlp->shortdesc || "";
- $ret .= " $pkg - $shortdesc\n";
+ $matched .= " $pkg - $shortdesc\n";
}
+ print $matched;
}
}
- print $ret;
+
return ($F_OK | $F_NOPOSTACTION);
}