summaryrefslogtreecommitdiff
path: root/Master/texmf/scripts/tetex/updmap.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/scripts/tetex/updmap.pl')
-rwxr-xr-xMaster/texmf/scripts/tetex/updmap.pl19
1 files changed, 12 insertions, 7 deletions
diff --git a/Master/texmf/scripts/tetex/updmap.pl b/Master/texmf/scripts/tetex/updmap.pl
index 286d7053007..a5f1c683fb4 100755
--- a/Master/texmf/scripts/tetex/updmap.pl
+++ b/Master/texmf/scripts/tetex/updmap.pl
@@ -15,6 +15,13 @@
# limitation.
#
# TODO
+# IMPORTANT: When a config files is created the FIRST TIME
+# it is not included in the following update of maps
+# because it does NOT appear in the list of used cnffiles!!!
+# We have to re-run the list of files decision routine
+# probably best is to factor out the whole main function
+# and call it once more from within after an option has
+# been set or map enabled/disabled
# - check all other invocations
# - after TL2012? remove -oldmode version
# - after TL2012? Maybe remove support for reading updmap-local.cfg
@@ -1285,6 +1292,11 @@ sub save_updmap {
my @lines = @{$upd{'lines'}};
if (!@lines) {
print "Creating new config file $fn\n";
+ # update lsR database
+ $updLSR->{add}($fn);
+ $updLSR->{exec}();
+ # reset the LSR stuff, otherwise we add files several times
+ $updLSR->{reset}();
}
# collect the lines with data
my %line_to_setting;
@@ -1344,13 +1356,6 @@ sub save_updmap {
}
close(FN) || warn("Cannot close file handle for $fn: $!");
delete $alldata->{'updmap'}{$fn}{'changed'};
- #
- # update lsR database
- $updLSR->{add}($fn);
- $updLSR->{exec}();
- # reset the LSR stuff, otherwise we add files several times
- $updLSR->{reset}();
- #
return 1;
}
return 0;