From c1c6d73af9421082eecd62ac0b3760f97c87c43e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 28 Sep 2020 21:01:50 +0000 Subject: texdef (28sep20) git-svn-id: svn://tug.org/texlive/trunk@56466 c570f23f-e606-0410-a88d-b1316a301751 --- .../texk/texlive/linked_scripts/texdef/texdef.pl | 34 +++++++++++------- .../texk/texlive/linked_scripts/texlive/tlmgr.pl | 40 +++++++++++++++++----- 2 files changed, 53 insertions(+), 21 deletions(-) (limited to 'Build') 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 +# Copyright (c) 2011-2020 Martin Scharrer # # 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 +Version 1.9 -- 2020/09/27 +Copyright (C) 2011-2020 Martin Scharrer 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 , -t : 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 : 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, C, C, C, C, C, C, C, C, C, -C, C, or C. 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. The C column contains -the name of all dependencies separated by C<:>. +C, C, or C, and various C +fields. For the C fields, there are two more variants with prefix C +and C, that is C and C etc, which indicate +the local and remote information, respectively. The variants without C and +C 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. The C +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) 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 -- cgit v1.2.3