summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2015-07-28 05:41:29 +0000
committerNorbert Preining <preining@logic.at>2015-07-28 05:41:29 +0000
commitf0434b7c89f5ad48065e0500fa8be29526c3f316 (patch)
tree71dd086448c9daf1067467e56bcfa5281a4f9b65 /Master/texmf-dist
parent39352257a6cf99cbb9dd83a7f555692c87563647 (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')
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/tlmgr.pl25
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;