summaryrefslogtreecommitdiff
path: root/Master/texmf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-01-03 19:10:19 +0000
committerKarl Berry <karl@freefriends.org>2009-01-03 19:10:19 +0000
commit4a99b7afa624662867335325f07b6e36e7d57ad6 (patch)
treec16a9d37da5d5ca6dd97b86e5709a80f59ef2974 /Master/texmf
parent71dcedfe354adfec2f2e051b2108a12f7022b037 (diff)
new paper size module for tlmgr2
git-svn-id: svn://tug.org/texlive/trunk@11807 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf')
-rw-r--r--Master/texmf/scripts/texlive/papersize-setting.pl613
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr2.pl21
2 files changed, 8 insertions, 626 deletions
diff --git a/Master/texmf/scripts/texlive/papersize-setting.pl b/Master/texmf/scripts/texlive/papersize-setting.pl
deleted file mode 100644
index 13557b132d2..00000000000
--- a/Master/texmf/scripts/texlive/papersize-setting.pl
+++ /dev/null
@@ -1,613 +0,0 @@
-#
-# $Id$
-#
-# Adjusting and querying paper sizes from various config files
-#
-# Copyright 2008 Norbert Preining
-# This file is licensed under the GNU General Public License version 2
-# or any later version.
-#
-# TODO TODO TODO
-# if no paperconfig line is found in paper_do_simple it adds to the end of the
-# file the new line, but this does not work on context because it
-# has an \endinput at the end ... needs to be fixed
-#
-# output is done to stdout, not the right config file
-#
-
-$^W = 1;
-use strict;
-
-our $localtlpdb;
-
-our %default_paper_config_path_component;
-
-$default_paper_config_path_component{"pdftex"} =
- "tex/generic/config/pdftexconfig.tex";
-$default_paper_config_path_component{"xdvi"} =
- "xdvi/XDvi";
-$default_paper_config_path_component{"dvipdfm"} =
- "dvipdfm/config/config";
-$default_paper_config_path_component{"dvipdfmx"} =
- "dvipdfmx/dvipdfmx.cfg";
-$default_paper_config_path_component{"context"} =
- "tex/context/user/cont-sys.tex";
-$default_paper_config_path_component{"dvips"} =
- "dvips/config/config.ps";
-
-# Output is actually done to the components in this hash, and
-# if a value is undefined to the one from %default_....
-#
-our %paper_config_path_component;
-
-
-my %pdftex_papersize = (
- "letter" => [ '8.5 true in', '11 true in' ],
- "a4" => [ '210 true mm', '297 true mm' ],
-);
-
-my %xdvi_papersize;
-$xdvi_papersize{'us'}='8.5x11';
-$xdvi_papersize{'letter'}='8.5x11';
-$xdvi_papersize{'usr'}='11x8.5';
-$xdvi_papersize{'legal'}='8.5x14';
-$xdvi_papersize{'ledger'}='17.0x11.0';
-$xdvi_papersize{'tabloid'}= '11.0x17.0';
-$xdvi_papersize{'foolscap'}='13.5x17.0';
-$xdvi_papersize{'a1'}='59.4x84.0cm';
-$xdvi_papersize{'a2'}='42.0x59.4cm';
-$xdvi_papersize{'a3'}='29.7x42.0cm';
-$xdvi_papersize{'a4'}='21.0x29.7cm';
-$xdvi_papersize{'a5'}='14.85x21.0cm';
-$xdvi_papersize{'a6'}='10.5x14.85cm';
-$xdvi_papersize{'a7'}='7.42x10.5cm';
-$xdvi_papersize{'a1r'}='84.0x59.4cm';
-$xdvi_papersize{'a2r'}='59.4x42.0cm';
-$xdvi_papersize{'a3r'}='42.0x29.7cm';
-$xdvi_papersize{'a4r'}='29.7x21.0cm';
-$xdvi_papersize{'a5r'}='21.0x14.85cm';
-$xdvi_papersize{'a6r'}='14.85x10.5cm';
-$xdvi_papersize{'a7r'}='10.5x7.42cm';
-$xdvi_papersize{'b1'}='70.6x100.0cm';
-$xdvi_papersize{'b2'}='50.0x70.6cm';
-$xdvi_papersize{'b3'}='35.3x50.0cm';
-$xdvi_papersize{'b4'}='25.0x35.3cm';
-$xdvi_papersize{'b5'}='17.6x25.0cm';
-$xdvi_papersize{'b6'}='13.5x17.6cm';
-$xdvi_papersize{'b7'}='8.8x13.5cm';
-$xdvi_papersize{'b1r'}='100.0x70.6cm';
-$xdvi_papersize{'b2r'}='70.6x50.0cm';
-$xdvi_papersize{'b3r'}='50.0x35.3cm';
-$xdvi_papersize{'b4r'}='35.3x25.0cm';
-$xdvi_papersize{'b5r'}='25.0x17.6cm';
-$xdvi_papersize{'b6r'}='17.6x13.5cm';
-$xdvi_papersize{'b7r'}='13.5x8.8cm';
-$xdvi_papersize{'c1'}='64.8x91.6cm';
-$xdvi_papersize{'c2'}='45.8x64.8cm';
-$xdvi_papersize{'c3'}='32.4x45.8cm';
-$xdvi_papersize{'c4'}='22.9x32.4cm';
-$xdvi_papersize{'c5'}='16.2x22.9cm';
-$xdvi_papersize{'c6'}='11.46x16.2cm';
-$xdvi_papersize{'c7'}='8.1x11.46cm';
-$xdvi_papersize{'c1r'}='91.6x64.8cm';
-$xdvi_papersize{'c2r'}='64.8x45.8cm';
-$xdvi_papersize{'c3r'}='45.8x32.4cm';
-$xdvi_papersize{'c4r'}='32.4x22.9cm';
-$xdvi_papersize{'c5r'}='22.9x16.2cm';
-$xdvi_papersize{'c6r'}='16.2x11.46cm';
-$xdvi_papersize{'c7r'}='11.46x8.1cm';
-
-my %dvipdfm_papersize = ( 'letter' => 1, 'legal' => 1, 'ledger' => 1,
- 'tabloid' => 1, 'a4' => 1, 'a3' => 1 );
-
-
-our %papersetting_subs;
-
-sub paper_all {
- my %ret;
- for my $p (keys %papersetting_subs) {
- #info("setting paper size for $p to @_\n");
- merge_into(\%ret, &{$papersetting_subs{$p}}(@_));
- }
- return \%ret;
-}
-
-sub get_paper_list {
- my $prog = shift;
- return ( &{$papersetting_subs{$prog}} ( "/dummy", "--returnlist" ) );
-}
-
-#
-# pdftex pdftexconfig.tex format
-# /--- pdftexconfig.tex ---
-# |...
-# |\pdfpagewidth=NNN true <unit>
-# |\pdfpageheight=NNN true <unit>
-# |...
-# \------------------------
-#
-# Reading is done via --progname=pdftex --format='tex' pdftexconfig.tex
-# Writing is done to TEXMFSYSCONFIG/tex/generic/config/pdftexconfig.tex
-#
-sub paper_pdftex {
- my %ret;
- my $outtree = shift;
- my $outcomp = $paper_config_path_component{"pdftex"};
- $outcomp || ($outcomp = $default_paper_config_path_component{"pdftex"});
- my $outfile = "$outtree/$outcomp";
- my $newpaper = shift;
- my $cf = `kpsewhich --progname=pdftex --format=tex pdftexconfig.tex`;
- chomp($cf);
- debug("file used for pdftex: $cf\n");
-
- open(FOO, "<$cf") or die("cannot open file: $!");
- my @lines = <FOO>;
- close(FOO);
-
- my ($cpw, $cph);
- my ($cpwidx, $cphidx);
- my $endinputidx;
- # read the lines and the last pdfpageswidth/height wins
- for my $idx (0..$#lines) {
- my $l = $lines[$idx];
- if ($l =~ m/^\s*\\pdfpagewidth\s*=?\s*(.+)\s*$/) {
- $cpw = $1;
- $cpwidx = $idx;
- next;
- }
- if ($l =~ m/^\s*\\pdfpageheight\s*=?\s*(.+)\s*$/) {
- $cph = $1;
- $cphidx = $idx;
- next;
- }
- if ($l =~ m/^\s*\\endinput\s*/) {
- $endinputidx = $idx;
- next;
- }
- }
- # trying to find the right papersize
- #
- my $currentpaper;
- if (defined($cpw) && defined($cph)) {
- for my $pname (keys %pdftex_papersize) {
- my ($w, $h) = @{$pdftex_papersize{$pname}};
- if (($w eq $cpw) && ($h eq $cph)) {
- $currentpaper = $pname;
- last;
- }
- }
- } else {
- $currentpaper = "(undefined)";
- }
- $currentpaper || ($currentpaper = "$cpw x $cph");
- if (defined($newpaper)) {
- if ($newpaper eq "--list") {
- info("$currentpaper\n");
- for my $p (keys %pdftex_papersize) {
- info("$p\n") unless ($p eq $currentpaper);
- }
- } elsif ($newpaper eq "--returnlist") {
- my @ret;
- push @ret, "$currentpaper";
- for my $p (keys %pdftex_papersize) {
- push @ret, $p unless ($p eq $currentpaper);
- }
- return @ret;
- } else {
- my $found = 0;
- for my $p (keys %pdftex_papersize) {
- if ($p eq $newpaper) {
- $found = 1;
- last;
- }
- }
- if ($found) {
- my $newwline =
- '\pdfpagewidth=' . ${$pdftex_papersize{$newpaper}}[0] . "\n";
- my $newhline =
- '\pdfpageheight=' . ${$pdftex_papersize{$newpaper}}[1] . "\n";
- if (defined($cpwidx)) {
- $lines[$cpwidx] = $newwline;
- } else {
- if (defined($endinputidx)) {
- $lines[$endinputidx] = $newwline . $lines[$endinputidx];
- } else {
- $lines[$#lines] = $newwline;
- }
- }
- if (defined($cphidx)) {
- $lines[$cphidx] = $newhline;
- } else {
- if (defined($endinputidx)) {
- $lines[$endinputidx] = $newhline . $lines[$endinputidx];
- } else {
- $lines[$#lines] = $newwline;
- }
- }
- info("Setting paper for pdftex to $newpaper.\n");
- mkdirhier(dirname($outfile));
- # if we create the outfile we have to call mktexlsr
- $ret{"mktexlsr"} = 1 unless (-r $outfile);
- if (!open(TMP, ">$outfile")) {
- tlwarn("Cannot write to $outfile: $!\n");
- tlwarn("Not setting paper for pdftex.\n");
- return;
- }
- for (@lines) { print TMP; }
- close (TMP);
- } else {
- warn "Not a valid paper size for pdftex: $newpaper\n";
- }
- }
- } else {
- # just print the current value
- info("current pdftex paper size: $currentpaper\n");
- }
- return \%ret;
-}
-$papersetting_subs{"pdftex"} = \&paper_pdftex;
-
-###############################################
-#
-# dvips config.ps format:
-# /--- config.ps ---
-# |...
-# |stuff not related to paper sizes
-# |...
-# | <empty line>
-# |% some comments
-# |% more comments
-# |@ <NAME> <WIDTH> <HEIGHT>
-# |@+ ...definition line
-# |@+ ...definition line
-# |... more definition lines
-# |@+ %%EndPaperSize
-# |
-# |@ <NAME> <WIDTH> <HEIGHT>
-# |...
-# \------------
-#
-# the first paper definition is the default
-# selecting paper is done like with texconfig which used ed to move the
-# selected part between @ $selected_paper .... @ /-1 (the line before the
-# next @ line) to the line before the first @ line.
-# (what a tricky ed invocation te created there, impressive!!!)
-#
-# Reading is done via --progname=dvips --format='dvips config' config.ps
-# Writing is done to TEXMFSYSCONFIG/dvips/config/config.ps
-#
-sub paper_dvips {
- my %ret;
- my $outtree = shift;
- my $outcomp = $paper_config_path_component{"dvips"};
- $outcomp || ($outcomp = $default_paper_config_path_component{"dvips"});
- my $outfile = "$outtree/$outcomp";
- my $newpaper = shift;
- my $configps = `kpsewhich --progname=dvips --format="dvips config" config.ps`;
- chomp($configps);
- debug("file used for dvips: $configps\n");
-
- open(FOO, "<$configps") or die("cannot open file: $!");
- my @lines = <FOO>;
- close(FOO);
-
- my @papersizes;
- my $firstpaperidx;
- my %startidx;
- my %endidx;
- my $in_block = "";
- my $idx = 0;
- for my $idx (0 .. $#lines) {
- if ($lines[$idx] =~ m/^@ (\w+)/) {
- $startidx{$1} = $idx;
- $firstpaperidx || ($firstpaperidx = $idx-1);
- $in_block = $1;
- push @papersizes, $1;
- next;
- }
- # empty lines or comments stop a block
- if ($in_block) {
- if ($lines[$idx] =~ m/^\s*(%.*)?\s*$/) {
- $endidx{$in_block} = $idx-1;
- $in_block = "";
- }
- next;
- }
- }
-
- if (defined($newpaper)) {
- if ($newpaper eq "--list") {
- for my $p (@papersizes) {
- info("$p\n"); # first is already the selected one
- }
- } elsif ($newpaper eq "--returnlist") {
- return(@papersizes);
- } else {
- my $found = 0;
- for my $p (@papersizes) {
- if ($p eq $newpaper) {
- $found = 1;
- last;
- }
- }
- if ($found) {
- my @newlines;
- for my $idx (0..$#lines) {
- if ($idx < $firstpaperidx) {
- push @newlines, $lines[$idx];
- next;
- }
- if ($idx == $firstpaperidx) {
- # insert the selected paper definition
- push @newlines, @lines[$startidx{$newpaper}..$endidx{$newpaper}];
- push @newlines, $lines[$idx];
- next;
- }
- if ($idx >= $startidx{$newpaper} && $idx <= $endidx{$newpaper}) {
- next;
- }
- push @newlines, $lines[$idx];
- }
- info("Setting paper for dvips to $newpaper.\n");
- mkdirhier(dirname($outfile));
- # if we create the outfile we have to call mktexlsr
- $ret{"mktexlsr"} = 1 unless (-r $outfile);
- if (!open(TMP, ">$outfile")) {
- tlwarn("Cannot write to $outfile: $!\n");
- tlwarn("Not setting paper for dvips.\n");
- return;
- }
- for (@newlines) { print TMP; }
- close (TMP);
- } else {
- warn "Not a valid paper size for dvips: $newpaper\n";
- }
- }
- } else {
- # just print the current value
- info("current dvips paper size: $papersizes[0]\n");
- }
- return \%ret;
-}
-$papersetting_subs{"dvips"} = \&paper_dvips;
-
-#
-# context format:
-# /--- cont-sys.{tex,rme}
-# |...
-# |\setuppapersize[letter][letter]
-# |...
-# \------------
-#
-# Reading is done first via kpsewhich -prog=tex -format=tex cont-sys.tex
-# if that fails via -prog=tex -format='other text files' cont-sys.rme
-#
-# Writing is done to TEXMFSYSCONFIG/tex/context/user/cont-sys.tex
-#
-sub paper_context {
- my $outtree = shift;
- my $outcomp = $paper_config_path_component{"context"};
- $outcomp || ($outcomp = $default_paper_config_path_component{"context"});
- my $outfile = "$outtree/$outcomp";
- my $newpaper = shift;
- # check that context is installed at all
- if (!defined($localtlpdb->get_package("context"))) {
- debug("context not installed, not setting paper size\n");
- return;
- }
- my $inp = `kpsewhich --progname=tex --format=tex cont-sys.tex`;
- chomp($inp);
- if (!$inp) {
- # we didn't get anything, so retry with .rme
- $inp = `kpsewhich --progname=tex --format="other text files" cont-sys.rme`;
- chomp($inp);
- }
- my @bla = keys %pdftex_papersize;
- # take care here, the \\\\ are necessary in some places and not in
- # some others because there is no intermediate evaluation
- return &paper_do_simple($inp, "context", '^\s*\\\\setuppapersize\s*',
- '^\s*\\\\setuppapersize\s*\[([^][]*)\].*$',
- sub {
- my ($ll,$np) = @_;
- if ($ll =~ m/^\s*\\setuppapersize\s*/) {
- return("\\setuppapersize[$np][$np]\n");
- } else {
- return($ll);
- }
- },
- $outfile, \@bla, 'a4', '\setuppapersize[a4][a4]', $newpaper);
-}
-$papersetting_subs{"context"} = \&paper_context;
-
-
-#
-# xdvi format:
-# /--- XDvi ---
-# |...
-# |*paper: <NAME>
-# |...
-# \------------
-#
-# Reading is done via --progname=xdvi --format='other text files' XDvi
-# Writing is done to TEXMFSYSCONFIG/xdvi/XDvi
-#
-sub paper_xdvi {
- my $outtree = shift;
- my $outcomp = $paper_config_path_component{"xdvi"};
- $outcomp || ($outcomp = $default_paper_config_path_component{"xdvi"});
- my $outfile = "$outtree/$outcomp";
- my $newpaper = shift;
- my $xdvi = `kpsewhich --progname=xdvi --format="other text files" XDvi`;
- chomp($xdvi);
- my @bla = keys %xdvi_papersize;
- return &paper_do_simple($xdvi, "xdvi", '^\*paper: ', '^\*paper:\s+(\w+)\s*$',
- sub {
- my ($ll,$np) = @_;
- $ll =~ s/^\*paper:\s+(\w+)\s*$/\*paper: $np\n/;
- return($ll);
- }, $outfile, \@bla, '(not defined)', '*paper: a4', $newpaper);
-}
-$papersetting_subs{"xdvi"} = \&paper_xdvi;
-
-
-#
-# dvipdfm(x) format:
-# /--- dvipdfm/config, dvipdfmx/dvipdfmx.cfg ---
-# |...
-# |p <NAME>
-# |...
-# \------------
-#
-# Reading is done
-# for dvipdfm via --progname=dvipdfm --format='other text files' config
-# for dvipdfmx via --progname=dvipdfmx --format='other text files' dvipdfmx.cfg
-# Writing is done to TEXMFSYSCONFIG/dvipdfm/config/config
-# and /dvipdfmx/dvipdfmx.cfg
-#
-#
-sub do_dvipdfm_and_x {
- my ($inp, $prog, $outtree, $paplist, $newpaper) = @_;
- my $outcomp = $paper_config_path_component{$prog};
- $outcomp || ($outcomp = $default_paper_config_path_component{$prog});
- my $outfile = "$outtree/$outcomp";
- return &paper_do_simple($inp, $prog, '^p\s+', '^p\s+(\w+)\s*$',
- sub {
- my ($ll,$np) = @_;
- $ll =~ s/^p\s+(\w+)\s*$/p $np\n/;
- return($ll);
- }, $outfile, $paplist, '(not defined)', 'p a4', $newpaper);
-}
-
-sub paper_dvipdfm {
- my $outtree = shift;
- my $newpaper = shift;
- my $inp = `kpsewhich --progname=dvipdfm --format="other text files" config`;
- chomp($inp);
- my @bla = keys %dvipdfm_papersize;
- return &do_dvipdfm_and_x($inp, "dvipdfm", $outtree, \@bla, $newpaper);
-}
-$papersetting_subs{"dvipdfm"} = \&paper_dvipdfm;
-
-sub paper_dvipdfmx {
- my $outtree = shift;
- my $newpaper = shift;
- my $inp = `kpsewhich --progname=dvipdfmx --format="other text files" dvipdfmx.cfg`;
- chomp($inp);
- my @bla = keys %dvipdfm_papersize;
- return &do_dvipdfm_and_x($inp, "dvipdfmx", $outtree, \@bla, $newpaper);
-}
-$papersetting_subs{"dvipdfmx"} = \&paper_dvipdfmx;
-
-
-
-#
-# paper_do_simple does the work for single line config files
-# (xdvi, dvipdfm, dvipdfmx)
-# arguments:
-# $inp, $prog, $firstre, $secondre, $bl, $outp, $paplist, $newpaper
-# with
-# $inp .. input file location
-# $prog .. program name
-# $firstre .. re that searches for paper lines
-# $secondre .. re that extracts the paper from a paper line
-# $bl .. block/sub taking two args, one paper line and the new paper, and
-# returns the line with the paper configured, only lines mathing
-# $firstre are shipped over to $bl
-# $outp .. location of the output file
-# $paplist .. ref to an array with the list of admissible paper sizes
-# $defaultpaper .. default papersize (arbitrary string) if the $firstre is
-# not found in the config file
-# $defaultline .. the line to be added at the bottom of the file if
-# no line has been found
-# $newpaper .. --list, new paper, or undef
-sub paper_do_simple {
- my ($inp, $prog, $firstre, $secondre, $bl, $outp, $paplist, $defaultpaper, $defaultline, $newpaper) = @_;
-
- my %ret;
-
- debug("file used for $prog: $inp\n");
-
- open(FOO, "<$inp") or die("cannot open file $inp: $!");
- my @lines = <FOO>;
- close(FOO);
-
- my $currentpaper;
- my @paperlines = grep (m/$firstre/,@lines);
- if (!@paperlines) {
- $currentpaper = $defaultpaper;
- } else {
- if ($#paperlines > 0) {
- warn "Strange, more than one paper definiton, using the first one in\n$inp\n";
- }
- $currentpaper = $paperlines[0];
- chomp($currentpaper);
- $currentpaper =~ s/$secondre/$1/;
- }
-
- # change value
- if (defined($newpaper)) {
- if ($newpaper eq "--list") {
- info("$currentpaper\n");
- for my $p (@$paplist) {
- info("$p\n") unless ($p eq $currentpaper);
- }
- } elsif ($newpaper eq "--returnlist") {
- my @ret;
- push @ret, $currentpaper;
- for my $p (@$paplist) {
- push @ret, $p unless ($p eq $currentpaper);
- }
- return(@ret);
- } else {
- my $found = 0;
- for my $p (@$paplist) {
- if ($p eq $newpaper) {
- $found = 1;
- last;
- }
- }
- if ($found) {
- my @newlines;
- my $foundcfg = 0;
- for my $l (@lines) {
- if ($l =~ m/$firstre/) {
- push @newlines, &$bl($l, $newpaper);
- $foundcfg = 1;
- } else {
- push @newlines, $l;
- }
- }
- # what to do if no default line found???
- if (!$foundcfg) {
- push @newlines, &$bl($defaultline, $newpaper);
- }
- info("Setting paper for $prog to $newpaper.\n");
- mkdirhier(dirname($outp));
- # if we create the outfile we have to call mktexlsr
- $ret{"mktexlsr"} = 1 unless (-r $outp);
- if (!open(TMP, ">$outp")) {
- tlwarn("Cannot write to $outp: $!\n");
- tlwarn("Not setting paper for $prog.\n");
- return;
- }
- for (@newlines) { print TMP; }
- close (TMP);
- } else {
- warn "Not a valid paper size for $prog: $newpaper\n";
- }
- }
- } else {
- # just return the current value
- info("Current paper setting for $prog: $currentpaper\n");
- }
- return \%ret;
-}
-
-1;
-
-### Local Variables:
-### perl-indent-level: 2
-### tab-width: 2
-### indent-tabs-mode: nil
-### End:
-# vim:set tabstop=2 expandtab: #
diff --git a/Master/texmf/scripts/texlive/tlmgr2.pl b/Master/texmf/scripts/texlive/tlmgr2.pl
index fb46752f730..8212dbaa66d 100755
--- a/Master/texmf/scripts/texlive/tlmgr2.pl
+++ b/Master/texmf/scripts/texlive/tlmgr2.pl
@@ -59,9 +59,7 @@ use TeXLive::TLWinGoo;
TeXLive::TLUtils->import(qw(member info give_ctan_mirror win32 dirname
mkdirhier merge_into copy log debug));
-require("papersize-setting.pl");
-our %papersetting_subs;
-#use TeXLive::TLPaper;
+use TeXLive::TLPaper;
binmode(STDOUT, ":utf8");
binmode(STDERR, ":utf8");
@@ -715,15 +713,10 @@ sub action_paper {
my $newpaper = shift @ARGV;
if (!defined($newpaper) || $newpaper !~ /^(a4|letter)$/) {
$newpaper = "the empty string." if !defined($newpaper);
- tlwarn("tlmgr: paper expects `a4' or `letter', not $newpaper\n");
+ tlwarn("tlmgr: paper expects `a4' or `letter', not $newpaper.\n");
return;
}
- # output is done to the path components as given in
- # our %paper_config_path_component, and if not present the defaults
- # in %default_paper_config_path_component;
- # together with the tree as given in the first argument of paper_*
- merge_into(\%ret, paper_all($texmfsysconfig, $newpaper));
- #karl merge_into(\%ret, TeXLive::TLPaper::paper_all($texmfsysconfig, $newpaper));
+ merge_into(\%ret, TeXLive::TLPaper::paper_all($texmfsysconfig, $newpaper));
} else {
my $prog = $action; # first argument is the program to change
my $arg = shift @ARGV; # get "paper" argument
@@ -732,10 +725,12 @@ sub action_paper {
tlwarn("tlmgr: expected `paper' after $prog, not $arg\n");
return;
}
- merge_into(\%ret, &{$papersetting_subs{$prog}}($texmfsysconfig, @ARGV));
- #karl merge_into(\%ret,TeXLive::TLPaper::do_paper($prog,$texmfsysconfig,@ARGV));
+ merge_into(\%ret,TeXLive::TLPaper::do_paper($prog,$texmfsysconfig,@ARGV));
+ }
+ if ($ret{"format"} && ! $localtlpdb->option_create_formats) {
+ info("$0: option to update formats is off, skipping.\n");
+ delete $ret{"format"};
}
- $ret{"format"} = 1 if ($localtlpdb->option_create_formats);
return \%ret;
}