summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-09-28 21:01:50 +0000
committerKarl Berry <karl@freefriends.org>2020-09-28 21:01:50 +0000
commitc1c6d73af9421082eecd62ac0b3760f97c87c43e (patch)
treecb38685b8f26985a209c256c8646f284401a701f /Build
parente6208354db843fb0d95197b86c0d4cddd8e7fd28 (diff)
texdef (28sep20)
git-svn-id: svn://tug.org/texlive/trunk@56466 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texdef/texdef.pl34
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl40
2 files changed, 53 insertions, 21 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/texdef/texdef.pl b/Build/source/texk/texlive/linked_scripts/texdef/texdef.pl
index 8b7b69a4da6..ac84c1f29cb 100755
--- a/Build/source/texk/texlive/linked_scripts/texdef/texdef.pl
+++ b/Build/source/texk/texlive/linked_scripts/texdef/texdef.pl
@@ -1,7 +1,7 @@
#!/usr/bin/env perl
################################################################################
# texdef -- Show definitions of TeX commands
-# Copyright (c) 2011-2012 Martin Scharrer <martin@scharrer-online.de>
+# Copyright (c) 2011-2020 Martin Scharrer <martin@scharrer-online.de>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -116,14 +116,14 @@ my $ISCONTEXT = 0;
my $BEGINENVSTR = '%s';
my $ENDENVSTR = '%s';
-my $VERSION = 'Version 1.8a -- 2018/03/28';
+my $VERSION = 'Version 1.9 -- 2020/09/27';
sub usage {
my $option = shift;
my $ret = ($option) ? 0 : 1;
print << 'EOT';
texdef -- Show definitions of TeX commands
-Version 1.8a -- 2019/03/28
-Copyright (C) 2011-2018 Martin Scharrer <martin@scharrer-online.de>
+Version 1.9 -- 2020/09/27
+Copyright (C) 2011-2020 Martin Scharrer <martin@scharrer-online.de>
This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it under certain conditions;
@@ -136,6 +136,7 @@ Other program names are possible. See the 'tex' option. Command names do not ne
Options:
--tex <format>, -t <format> : Use given format of TeX: 'tex', 'latex', 'context'.
Variations of 'tex' and 'latex', like 'luatex', 'lualatex', 'xetex', 'xelatex' are supported.
+ The postfix '-dev' for develop versions of the format is also supported (e.g. 'latex-dev').
The default is given by the used program name: 'texdef' -> 'tex', 'latexdef' -> 'latex', etc.
--texoptions <options> : Call (La)TeX with the given options.
--source, -s : Try to show the original source code of the command definition (L).
@@ -306,23 +307,23 @@ if ($EDIT && !$EDITOR) {
}
## Format specific settings
-if ($TEX =~ /latex$/) {
+if ($TEX =~ /latex(?:-dev)?$/) {
$ISLATEX = 1;
$BEGINENVSTR = '\begin{%s}' . "\n";
$ENDENVSTR = '\end{%s}' . "\n";
}
-elsif ($TEX =~ /tex$/) {
+elsif ($TEX =~ /tex(?:-dev)?$/) {
$ISTEX = 1;
$BEGINENVSTR = '\%s' . "\n";
$ENDENVSTR = '\end%s' . "\n";
}
-elsif ($TEX =~ /context$/) {
+elsif ($TEX =~ /context(?:-dev)?$/) {
$ISCONTEXT = 1;
$BEGINENVSTR = '\start%s' . "\n";
$ENDENVSTR = '\stop%s' . "\n";
}
-if ($TEX =~ /^dvi((la)?tex)$/) {
+if ($TEX =~ /^dvi((la)?tex)(?:-dev)?$/) {
$TEX = $1;
$TEXOPTIONS .= ' -output-format=dvi '
}
@@ -774,6 +775,16 @@ sub print_orig_def {
return $found;
}
+sub cleanpath {
+ my $path = shift;
+ chomp $path;
+ if ($path =~ /[a-z]:/i) {
+ $path =~ s/\//\\/g;
+ }
+ return $path;
+}
+
+
open (my $texpipe, '-|', "$TEX $TEXOPTIONS $USERTEXOPTIONS \"$TMPFILE\" ");
my $name = '';
@@ -786,21 +797,20 @@ while (<$texpipe>) {
my $line = $1;
if ($FINDDEF == 2) {
if ($line =~ /first defined in "(.*)"/) {
- my $path = `kpsewhich "$1"`;
- chomp $path;
+ my $path = cleanpath(`kpsewhich "$1"`);
$line =~ s/$1/$path/;
}
}
if ($PRINTORIGDEF) {
if ($line =~ /first defined in "(.*)"/) {
my $file = $1;
- my $path = `kpsewhich "$file"`;
+ my $path = cleanpath(`kpsewhich "$file"`);
chomp $path;
$origdeffound = print_orig_def($cmd, $file, $path);
}
elsif ($line =~ /is defined by \(La\)TeX./) {
my $file = 'latex.ltx';
- my $path = `kpsewhich "$file"`;
+ my $path = cleanpath(`kpsewhich "$file"`);
chomp $path;
$file = $path if $FINDDEF > 1;
$origdeffound = print_orig_def($cmd, $file, $path);
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index c82c286d548..6cb2f0c34e6 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -1,12 +1,12 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 56372 2020-09-18 05:52:26Z preining $
+# $Id: tlmgr.pl 56458 2020-09-27 22:20:18Z preining $
#
# Copyright 2008-2020 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
-my $svnrev = '$Revision: 56372 $';
-my $datrev = '$Date: 2020-09-18 07:52:26 +0200 (Fri, 18 Sep 2020) $';
+my $svnrev = '$Revision: 56458 $';
+my $datrev = '$Date: 2020-09-28 00:20:18 +0200 (Mon, 28 Sep 2020) $';
my $tlmgrrevision;
my $tlmgrversion;
my $prg;
@@ -1603,7 +1603,7 @@ sub action_info {
my $load_remote = 0;
for my $d (@datafields) {
$load_remote = 1 if ($d eq "remoterev");
- if ($d !~ m/^(name|category|localrev|remoterev|shortdesc|longdesc|size|installed|relocatable|depends|cat-version|cat-date|cat-license|cat-contact-.*)$/) {
+ if ($d !~ m/^(name|category|localrev|remoterev|shortdesc|longdesc|size|installed|relocatable|depends|[lr]?cat-version|[lr]?cat-date|[lr]?cat-license|[lr]?cat-contact-.*)$/) {
tlwarn("unknown data field: $d\n");
return($F_ERROR);
}
@@ -3911,6 +3911,7 @@ sub show_one_package_json {
installed => ($is_installed ? TeXLive::TLUtils::True() : TeXLive::TLUtils::False()),
lrev => ($is_installed ? $loctlp->revision : 0),
rrev => ($is_available ? $remtlp->revision : 0),
+ rcataloguedata => ($is_available ? $remtlp->cataloguedata : {}),
revision => undef);
print $str;
return($F_OK);
@@ -3961,12 +3962,28 @@ sub show_one_package_csv {
push @out, ($tlp->relocated ? 1 : 0);
} elsif ($d eq "cat-version") {
push @out, ($tlp->cataloguedata->{'version'} || "");
+ } elsif ($d eq "lcat-version") {
+ push @out, ($is_installed ? ($loctlp->cataloguedata->{'version'} || "") : "");
+ } elsif ($d eq "rcat-version") {
+ push @out, ($is_available ? ($remtlp->cataloguedata->{'version'} || "") : "");
} elsif ($d eq "cat-date") {
push @out, ($tlp->cataloguedata->{'date'} || "");
+ } elsif ($d eq "lcat-date") {
+ push @out, ($is_installed ? ($loctlp->cataloguedata->{'date'} || "") : "");
+ } elsif ($d eq "rcat-date") {
+ push @out, ($is_available ? ($remtlp->cataloguedata->{'date'} || "") : "");
} elsif ($d eq "cat-license") {
push @out, ($tlp->cataloguedata->{'license'} || "");
+ } elsif ($d eq "lcat-license") {
+ push @out, ($is_installed ? ($loctlp->cataloguedata->{'license'} || "") : "");
+ } elsif ($d eq "rcat-license") {
+ push @out, ($is_available ? ($remtlp->cataloguedata->{'license'} || "") : "");
} elsif ($d =~ m/^cat-(contact-.*)$/) {
push @out, ($tlp->cataloguedata->{$1} || "");
+ } elsif ($d =~ m/^lcat-(contact-.*)$/) {
+ push @out, ($is_installed ? ($loctlp->cataloguedata->{$1} || "") : "");
+ } elsif ($d =~ m/^rcat-(contact-.*)$/) {
+ push @out, ($is_available ? ($remtlp->cataloguedata->{$1} || "") : "");
} elsif ($d eq "localrev") {
push @out, ($is_installed ? $loctlp->revision : 0);
} elsif ($d eq "remoterev") {
@@ -8332,10 +8349,15 @@ C<--only-installed> and C<--only-remote> cannot both be specified.
If the option C<--data> is given, its argument must be a comma separated
list of field names from: C<name>, C<category>, C<localrev>, C<remoterev>,
C<shortdesc>, C<longdesc>, C<installed>, C<size>, C<relocatable>, C<depends>,
-C<cat-version>, C<cat-date>, or C<cat-license>. In this case the requested
-packages' information is listed in CSV format one package per line, and the
-column information is given by the C<itemN>. The C<depends> column contains
-the name of all dependencies separated by C<:>.
+C<cat-version>, C<cat-date>, or C<cat-license>, and various C<cat-contact-*>
+fields. For the C<cat-> fields, there are two more variants with prefix C<l>
+and C<r>, that is C<lcat-version> and C<rcat-version> etc, which indicate
+the local and remote information, respectively. The variants without C<l> and
+C<r> show the most current one, that is normally the remote one.
+
+The requested packages' information is listed in CSV format one package per
+line, and the column information is given by the C<itemN>. The C<depends>
+column contains the name of all dependencies separated by C<:>.
=item B<--json>
@@ -10065,7 +10087,7 @@ This script and its documentation were written for the TeX Live
distribution (L<https://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: tlmgr.pl 56372 2020-09-18 05:52:26Z preining $
+$Id: tlmgr.pl 56458 2020-09-27 22:20:18Z preining $
=cut
# test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html