diff options
author | Karl Berry <karl@freefriends.org> | 2011-05-16 18:27:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-05-16 18:27:55 +0000 |
commit | 417e91d078352571aefe2bffd3cc2c1e5cc08f60 (patch) | |
tree | 5ff0763cb3062bb1527744c0a3e989d72a5ea7dd /Master/tlpkg/TeXLive | |
parent | 7e20b5c1b0433cf03f5a823a225eb847df52bb65 (diff) |
TLPOBJ.pm (from_fh): do not remove trailing whitespace; turns out this
takes consequential time, and the creation programs should not ever
produce it. Also added trailing-whitespace check to cron job for master
tlpdb creation. With this change, tlpdb-read-test time is reduced from
~2.4sec to ~1.2sec.
TeXCatalogue.pm (beautify): remove trailing whitespace. Looks like this
can matter in <caption>s which we turn into shortdescs, but nowhere else.
dev/tlpdb-read-test: trivial test script to read tlpdb and nothing else.
git-svn-id: svn://tug.org/texlive/trunk@22498 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive')
-rw-r--r-- | Master/tlpkg/TeXLive/TLPOBJ.pm | 7 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TeXCatalogue.pm | 17 |
2 files changed, 13 insertions, 11 deletions
diff --git a/Master/tlpkg/TeXLive/TLPOBJ.pm b/Master/tlpkg/TeXLive/TLPOBJ.pm index b73ee0e3cff..9713c87b90a 100644 --- a/Master/tlpkg/TeXLive/TLPOBJ.pm +++ b/Master/tlpkg/TeXLive/TLPOBJ.pm @@ -83,7 +83,11 @@ sub from_fh { my $size; while (my $line = <$fh>) { + # we do not worry about whitespace at the end of a line; + # that would be a bug in the db creation, and it takes some + # noticeable time to get rid of it. So just chomp. chomp($line); + # we call tllog only when something will be logged, to speed things up. # this is the inner loop bounding the time to read tlpdb. dddebug("reading line: >>>$line<<<\n") if ($::opt_verbosity >= 3); @@ -111,8 +115,7 @@ sub from_fh { die("Continuation of $lastcmd not allowed, please fix tlpobj: line = $line!\n"); } } - # remove white space at the end of a line - $line =~ s/\s*$//; + if ($line =~ /^name\s*([-.\w]+)/o) { $name = "$1"; $lastcmd = "name"; diff --git a/Master/tlpkg/TeXLive/TeXCatalogue.pm b/Master/tlpkg/TeXLive/TeXCatalogue.pm index 95ba60442a1..34f7a7f512b 100644 --- a/Master/tlpkg/TeXLive/TeXCatalogue.pm +++ b/Master/tlpkg/TeXLive/TeXCatalogue.pm @@ -1,6 +1,6 @@ # $Id$ # TeXLive::TeXCatalogue - module for accessing the TeX Catalogue -# Copyright 2007, 2008, 2009, 2010 Norbert Preining +# Copyright 2007, 2008, 2009, 2010, 2011 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. # @@ -88,15 +88,15 @@ sub initialize { } } -sub beautify -{ +sub beautify { my ($txt) = @_; - $txt =~ s/\n/ /g; - $txt =~ s/^[[:space:]]*//g; - $txt =~ s/[[:space:]][[:space:]]*/ /g; + $txt =~ s/\n/ /g; # make one line + $txt =~ s/^\s+//g; # rm leading whitespace + $txt =~ s/\s+$//g; # rm trailing whitespace + $txt =~ s/\s\s+/ /g; # multiple spaces to one # transliterate to ascii: it allows the final tlpdb to be pure ascii, # avoiding problems since we don't control the user's terminal encoding - return(Text::Unidecode::unidecode($txt)); + return Text::Unidecode::unidecode($txt); } sub name { @@ -197,8 +197,7 @@ sub initialize { # Copy every catalogue $entry under the name $entry->{'texlive'} # if it makes sense. # -sub quest4texlive -{ +sub quest4texlive { my $self = shift; # The catalogue has a partial mapping from catalogue entries to |