diff options
author | Norbert Preining <preining@logic.at> | 2015-07-28 05:41:29 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2015-07-28 05:41:29 +0000 |
commit | f0434b7c89f5ad48065e0500fa8be29526c3f316 (patch) | |
tree | 71dd086448c9daf1067467e56bcfa5281a4f9b65 /Master/texmf-dist/scripts | |
parent | 39352257a6cf99cbb9dd83a7f555692c87563647 (diff) |
paper handling - only call subs for packages that are installed
git-svn-id: svn://tug.org/texlive/trunk@37973 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts')
-rwxr-xr-x | Master/texmf-dist/scripts/texlive/tlmgr.pl | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl index 9df03c3108c..ff5c8ce67c1 100755 --- a/Master/texmf-dist/scripts/texlive/tlmgr.pl +++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl @@ -1185,7 +1185,15 @@ sub action_paper { return($F_ERROR) } elsif (!defined($newpaper)) { # tlmgr paper => show all current sizes. - return TeXLive::TLPaper::paper_all($texmfconfig,undef); + my $ret = $F_OK; + for my $prog (sort keys %TeXLive::TLPaper::prog_to_pkg) { + my $pkg = $TeXLive::TLPaper::prog_to_pkg{$prog}; + if ($localtlpdb->get_package($pkg)) { + $ret |= TeXLive::TLPaper::do_paper($prog,$texmfconfig,undef); + } + } + return($ret); + # return TeXLive::TLPaper::paper_all($texmfconfig,undef); } elsif ($newpaper !~ /^(a4|letter)$/) { # tlmgr paper junk => complain. $newpaper = "the empty string" if !defined($newpaper); @@ -1194,11 +1202,24 @@ sub action_paper { } else { # tlmgr paper {a4|letter} => do it. return ($F_ERROR) if !check_on_writable(); - return (TeXLive::TLPaper::paper_all($texmfconfig,$newpaper)); + my $ret = $F_OK; + for my $prog (sort keys %TeXLive::TLPaper::prog_to_pkg) { + my $pkg = $TeXLive::TLPaper::prog_to_pkg{$prog}; + if ($localtlpdb->get_package($pkg)) { + $ret |= TeXLive::TLPaper::do_paper($prog,$texmfconfig,$newpaper); + } + } + return($ret); + # return (TeXLive::TLPaper::paper_all($texmfconfig,$newpaper)); } } else { # program-specific paper my $prog = $action; # first argument is the program to change + my $pkg = $TeXLive::TLPaper::prog_to_pkg{$prog}; + if (!$localtlpdb->get_package($pkg)) { + tlwarn("$prg: package $pkg is not installed - cannot adjust paper size!\n"); + return ($F_ERROR); + } my $arg = shift @ARGV; # get "paper" argument if (!defined($arg) || $arg ne "paper") { $arg = "the empty string." if ! $arg; |