diff options
Diffstat (limited to 'Master')
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index fd5eddd1703..9fa7d699ed0 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -2153,10 +2153,16 @@ sub action_update { my @todo; if ($opts{"list"}) { - if ($opts{"all"} || !@ARGV) { + if ($opts{"all"}) { @todo = $localtlpdb->list_packages; + } elsif ($opts{"self"}) { + @todo = @critical; } else { - @todo = @ARGV; + if (@ARGV) { + @todo = @ARGV; + } else { + @todo = $localtlpdb->list_packages; + } } } elsif ($opts{"self"} && @critical) { @todo = @critical; @@ -5166,9 +5172,15 @@ written to the terminal. This is a more detailed report than C<--list>. =item B<--list> [I<pkg>] Concisely list the packages which would be updated, newly installed, or -removed, without actually changing anything. If no package is given, -this acts like C<--list --all>, otherwise it lists only updates to the -packages given as arguments (and its dependencies). +removed, without actually changing anything. +If C<--all> is given, it lists all available updates. +If C<--self> is given, but not C<--all> lists only updates the the +critical packages (tlmgr, texlive infrastructure, perl on Windows, etc.). +If neither C<--all> nor C<--self> is given, and in addition no I<pkg> +is passed on the command line, then C<--all> is assumed (so +C<tlmgr update --list> behaves like C<tlmgr update --list --all>). +If neither C<--all> nor C<--self> is given, but package names passed +on the command line, those packages are checked for updates. =item B<--exclude> I<pkg> |