summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/tests/TeXLive/TLConfig.pm14
-rw-r--r--Build/source/texk/tests/TeXLive/TLUtils.pm219
-rwxr-xr-xBuild/source/texk/texlive/w32_wrapper/runscript.tlu13
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/texbook3.bib320
-rw-r--r--Master/texmf-dist/scripts/texlive/NEWS4
5 files changed, 403 insertions, 167 deletions
diff --git a/Build/source/texk/tests/TeXLive/TLConfig.pm b/Build/source/texk/tests/TeXLive/TLConfig.pm
index 3efef6a5c96..3775c5b6f67 100644
--- a/Build/source/texk/tests/TeXLive/TLConfig.pm
+++ b/Build/source/texk/tests/TeXLive/TLConfig.pm
@@ -1,4 +1,3 @@
-# $Id: TLConfig.pm 48093 2018-06-26 21:03:56Z preining $
# TeXLive::TLConfig.pm - module exporting configuration values
# Copyright 2007-2018 Norbert Preining
# This file is licensed under the GNU General Public License version 2
@@ -6,7 +5,7 @@
package TeXLive::TLConfig;
-my $svnrev = '$Revision: 48093 $';
+my $svnrev = '$Revision: 48727 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -22,7 +21,6 @@ BEGIN {
$MetaCategoriesRegexp
$CategoriesRegexp
$DefaultCategory
- $DefaultFallbackDownloader
@AcceptedFallbackDownloaders
%FallbackDownloaderProgram
%FallbackDownloaderArgs
@@ -112,11 +110,11 @@ if ($^O =~ /^MSWin/i) {
}
#
-our $DefaultFallbackDownloader = "wget";
our @AcceptedFallbackDownloaders = qw/curl wget/;
our %FallbackDownloaderProgram = ( 'wget' => 'wget', 'curl' => 'curl');
our %FallbackDownloaderArgs = (
- 'curl' => ['--user-agent', 'texlive/curl', '--retry', '10', '--fail', '--location',
+ 'curl' => ['--user-agent', 'texlive/curl', '--retry', '10',
+ '--fail', '--location',
'--connect-timeout', "$NetworkTimeout", '--silent', '--output'],
'wget' => ['--user-agent=texlive/wget', '--tries=10',
"--timeout=$NetworkTimeout", '-q', '-O'],
@@ -145,7 +143,9 @@ our %Compressors = (
"priority" => 30,
},
);
-our $CompressorExtRegexp = "(" . join("|", map { $Compressors{$_}{'extension'} } keys(%Compressors)) . ")";
+our $CompressorExtRegexp = "("
+ . join("|", map { $Compressors{$_}{'extension'} } keys %Compressors)
+ . ")";
# archive (not user) settings.
# these can be overridden by putting them into 00texlive.config.tlpsrc
@@ -225,7 +225,7 @@ our %TLPDBOptions = (
our %TLPDBSettings = (
"platform" => [ "s", "Main platform for this computer" ],
- "available_architectures" => [ "l", "All available/installed architectures" ],
+ "available_architectures" => [ "l","All available/installed architectures" ],
"usertree" => [ "b", "This tree acts as user tree" ]
);
diff --git a/Build/source/texk/tests/TeXLive/TLUtils.pm b/Build/source/texk/tests/TeXLive/TLUtils.pm
index 372009d16c1..cd9160f6804 100644
--- a/Build/source/texk/tests/TeXLive/TLUtils.pm
+++ b/Build/source/texk/tests/TeXLive/TLUtils.pm
@@ -1,4 +1,3 @@
-# $Id: TLUtils.pm 48130 2018-07-03 22:24:07Z preining $
# TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
# Copyright 2007-2018 Norbert Preining, Reinhard Kotucha
# This file is licensed under the GNU General Public License version 2
@@ -6,7 +5,7 @@
package TeXLive::TLUtils;
-my $svnrev = '$Revision: 48130 $';
+my $svnrev = '$Revision: 49173 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -2267,8 +2266,9 @@ sub untar {
# on w32 don't extract file modified time, because AV soft can open
# files in the mean time causing time stamp modification to fail
- if (system($tar, win32() ? "xmf" : "xf", $tarfile) != 0) {
- tlwarn("untar: untarring $tarfile failed (in $targetdir)\n");
+ my $taropt = win32() ? "xmf" : "xf";
+ if (system($tar, $taropt, $tarfile) != 0) {
+ tlwarn("TLUtils::untar: $tar $taropt $tarfile failed (in $targetdir)\n");
$ret = 0;
} else {
$ret = 1;
@@ -2344,16 +2344,20 @@ Return 0 if failure, nonzero if success.
=cut
sub setup_programs {
- my ($bindir, $platform) = @_;
+ my ($bindir, $platform, $tlfirst) = @_;
my $ok = 1;
+ debug("setup_programs: preferring " . ($tlfirst ? "TL" : "system") . " versions\n");
+
my $isWin = ($^O =~ /^MSWin/i);
if ($isWin) {
- setup_windows_one('tar', "$bindir/tar.exe", "--version", 1);
+ # we need to make sure that we use our own tar, since
+ # Windows system tar is stupid bsdtar ...
+ setup_one("w32", 'tar', "$bindir/tar.exe", "--version", 1);
$platform = "exe";
} else {
- # tar needs to be provided by the system!
+ # tar needs to be provided by the system, we not even check!
$::progs{'tar'} = "tar";
if (!defined($platform) || ($platform eq "")) {
@@ -2372,14 +2376,14 @@ sub setup_programs {
# do not warn on errors
push @working_downloaders, $dltype if
setup_one(($isWin ? "w32" : "unix"), $defprog,
- "$bindir/$dltype/$defprog.$platform", "--version", 1);
+ "$bindir/$dltype/$defprog.$platform", "--version", $tlfirst);
}
$::progs{'working_downloaders'} = [ @working_downloaders ];
my @working_compressors;
for my $defprog (sort {$Compressors{$a}{'priority'} <=> $Compressors{$b}{'priority'}} keys %Compressors) {
# do not warn on errors
if (setup_one(($isWin ? "w32" : "unix"), $defprog,
- "$bindir/$defprog/$defprog.$platform", "--version", 1)) {
+ "$bindir/$defprog/$defprog.$platform", "--version", $tlfirst)) {
push @working_compressors, $defprog;
# also set up $::{'compressor'} if not already done
# this selects the first one, but we might reset this depending on
@@ -2422,7 +2426,7 @@ END_COMPRESSOR_BAD
$::progs{'compressor'} = $ENV{'TEXLIVE_COMPRESSOR'};
}
- if ($::opt_verbosity >= 2) {
+ if ($::opt_verbosity >= 1) {
require Data::Dumper;
use vars qw($Data::Dumper::Indent $Data::Dumper::Sortkeys
$Data::Dumper::Purity); # -w pain
@@ -2436,149 +2440,123 @@ END_COMPRESSOR_BAD
}
sub setup_one {
- my ($what, $p, $def, $arg, $donotwarn) = @_;
- if ($what eq "unix") {
- return(setup_unix_one($p, $def, $arg, $donotwarn));
+ my ($what, $p, $def, $arg, $tlfirst) = @_;
+ my $setupfunc = ($what eq "unix") ? \&setup_unix_tl_one : \&setup_windows_tl_one ;
+ if ($tlfirst) {
+ if (&$setupfunc($p, $def, $arg)) {
+ return(1);
+ } else {
+ return(setup_system_one($p, $arg));
+ }
} else {
- return(setup_windows_one($p, $def, $arg, $donotwarn));
+ if (setup_system_one($p, $arg)) {
+ return(1);
+ } else {
+ return(&$setupfunc($p, $def, $arg));
+ }
+ }
+}
+
+sub setup_system_one {
+ my ($p, $arg) = @_;
+ my $nulldev = nulldev();
+ debug("trying to set up system $p, arg $arg\n");
+ my $ret = system("$p $arg >$nulldev 2>&1");
+ if ($ret == 0) {
+ debug("program $p found in the path\n");
+ $::progs{$p} = $p;
+ return(1);
+ } else {
+ debug("program $p not usable from path\n");
+ return(0);
}
}
-sub setup_windows_one {
- my ($p, $def, $arg, $donotwarn) = @_;
+sub setup_windows_tl_one {
+ my ($p, $def, $arg) = @_;
debug("(w32) trying to set up $p, default $def, arg $arg\n");
- my $ready = 0;
+
if (-r $def) {
my $prog = conv_to_w32_path($def);
my $ret = system("$prog $arg >nul 2>&1"); # on windows
if ($ret == 0) {
+ debug("Using shipped $def for $p (tested).\n");
$::progs{$p} = $prog;
- $ready = 1;
+ return(1);
} else {
tlwarn("Setting up $p with $def as $prog didn't work\n");
system("$prog $arg");
+ return(0);
}
} else {
debug("Default program $def not readable?\n");
+ return(0);
}
- return($ready) if ($ready);
- # still here, try plain name without any specification
- debug("trying to test for plain prog name $p\n");
- $ret = system("$p $arg >nul 2>&1");
- if ($ret == 0) {
- debug("program $p seems to be in the path!\n");
- $::progs{$p} = $p;
- return(1);
- }
- return(0);
}
-
# setup one prog on unix using the following logic:
# - if the shipped one is -x and can be executed, use it
# - if the shipped one is -x but cannot be executed, copy it. set -x
# . if the copy is -x and executable, use it
-# . if the copy is not executable, GOTO fallback
# - if the shipped one is not -x, copy it, set -x
# . if the copy is -x and executable, use it
-# . if the copy is not executable, GOTO fallback
-# - if nothing shipped, GOTO fallback
-#
-# fallback:
-# if prog is found in PATH and can be executed, use it.
-#
-# Return 0 if failure, 1 if success.
-#
-sub setup_unix_one {
- my ($p, $def, $arg, $donotwarn) = @_;
+sub setup_unix_tl_one {
+ my ($p, $def, $arg) = @_;
our $tmp;
- my $test_fallback = 0;
- ddebug("trying to set up $p, default $def, arg $arg\n");
+ debug("(unix) trying to set up $p, default $def, arg $arg\n");
if (-r $def) {
- my $ready = 0;
if (-x $def) {
ddebug("default $def has executable permissions\n");
# we have to check for actual "executability" since a "noexec"
# mount option may interfere, which is not taken into account by -x.
- $::progs{$p} = $def;
- if ($arg ne "notest") {
- my $ret = system("'$def' $arg >/dev/null 2>&1" ); # we are on Unix
- if ($ret == 0) {
- $ready = 1;
- debug("Using shipped $def for $p (tested).\n");
- } else {
- ddebug("Shipped $def has -x but cannot be executed, "
- . "trying tmp copy.\n");
- }
+ my $ret = system("'$def' $arg >/dev/null 2>&1" ); # we are on Unix
+ if ($ret == 0) {
+ $::progs{$p} = $def;
+ debug("Using shipped $def for $p (tested).\n");
+ return(1);
} else {
- # do not test, just return
- $ready = 1;
- debug("Using shipped $def for $p (not tested).\n");
+ ddebug("Shipped $def has -x but cannot be executed, "
+ . "trying tmp copy.\n");
}
}
- if (!$ready) {
- # out of some reasons we couldn't execute the shipped program
- # try to copy it to a temp directory and make it executable
- #
- # create tmp dir only when necessary
- $tmp = TeXLive::TLUtils::tl_tmpdir() unless defined($tmp);
- # probably we are running from uncompressed media and want to copy it to
- # some temporary location
- copy($def, $tmp);
- my $bn = basename($def);
- $::progs{$p} = "$tmp/$bn";
- chmod(0755,$::progs{$p});
- # we do not check the return value of chmod, but check whether
- # the -x bit is now set, the only thing that counts
- if (! -x $::progs{$p}) {
- # hmm, something is going really bad, not even the copy is
- # executable. Fall back to normal path element
- $test_fallback = 1;
- ddebug("Copied $p $::progs{$p} does not have -x bit, strange!\n");
- } else {
- # check again for executability
- if ($arg ne "notest") {
- my $ret = system("$::progs{$p} $arg > /dev/null 2>&1");
- if ($ret == 0) {
- # ok, the copy works
- debug("Using copied $::progs{$p} for $p (tested).\n");
- } else {
- # even the copied prog is not executable, strange
- $test_fallback = 1;
- ddebug("Copied $p $::progs{$p} has x bit but not executable?!\n");
- }
- } else {
- debug("Using copied $::progs{$p} for $p (not tested).\n");
- }
- }
- }
- } else {
- # hope that we can find in the global PATH
- $test_fallback = 1;
- }
- if ($test_fallback) {
- # all our playing around and copying did not succeed, try PATH.
- $::progs{$p} = $p;
- if ($arg ne "notest") {
- my $ret = system("$p $arg >/dev/null 2>&1");
+ # we are still here
+ # out of some reasons we couldn't execute the shipped program
+ # try to copy it to a temp directory and make it executable
+ #
+ # create tmp dir only when necessary
+ $tmp = TeXLive::TLUtils::tl_tmpdir() unless defined($tmp);
+ # probably we are running from uncompressed media and want to copy it to
+ # some temporary location
+ copy($def, $tmp);
+ my $bn = basename($def);
+ my $tmpprog = "$tmp/$bn";
+ chmod(0755,$tmpprog);
+ # we do not check the return value of chmod, but check whether
+ # the -x bit is now set, the only thing that counts
+ if (! -x $tmpprog) {
+ # hmm, something is going really bad, not even the copy is
+ # executable. Fall back to normal path element
+ ddebug("Copied $p $tmpprog does not have -x bit, strange!\n");
+ return(0);
+ } else {
+ # check again for executability
+ my $ret = system("$tmpprog $arg > /dev/null 2>&1");
if ($ret == 0) {
- debug("Using system $p (tested).\n");
+ # ok, the copy works
+ debug("Using copied $tmpprog for $p (tested).\n");
+ $::progs{$p} = $tmpprog;
+ return(1);
} else {
- if ($donotwarn) {
- debug("$0: initialization of $p failed but ignored!\n");
- } else {
- tlwarn("$0: Initialization failed (in setup_unix_one):\n");
- tlwarn("$0: could not find a usable $p.\n");
- tlwarn("$0: Please install $p and try again.\n");
- }
- return 0;
+ # even the copied prog is not executable, strange
+ ddebug("Copied $p $tmpprog has x bit but not executable?!\n");
+ return(0);
}
- } else {
- debug ("Using system $p (not tested).\n");
}
+ } else {
+ # default program is not readable
+ return(0);
}
- return 1;
}
@@ -3787,9 +3765,8 @@ sub check_on_working_mirror {
=cut
sub give_ctan_mirror_base {
- my @backbone = qw!http://www.ctan.org/tex-archive
- http://www.tex.ac.uk/tex-archive
- http://dante.ctan.org/tex-archive!;
+ # only one backbone has existed for a while (2018).
+ my @backbone = qw!http://www.ctan.org/tex-archive!;
# start by selecting a mirror and test its operationality
my $mirror = query_ctan_mirror();
@@ -4343,8 +4320,14 @@ passed in C<$r>. If passed undef or empty string, die.
sub repository_to_array {
my $r = shift;
my %r;
- die "internal error, repository_to_array passed nothing (caller="
- . caller . ")" if (!$r);
+ if (!$r) {
+ # either empty string or undef was passed
+ # before 20181023 we die here, now we return
+ # an empty array
+ return %r;
+ }
+ #die "internal error, repository_to_array passed nothing (caller="
+ # . caller . ")" if (!$r);
my @repos = split (' ', $r);
if ($#repos == 0) {
# only one repo, this is the main one!
diff --git a/Build/source/texk/texlive/w32_wrapper/runscript.tlu b/Build/source/texk/texlive/w32_wrapper/runscript.tlu
index da2c1cf5e9f..3356ed09dd9 100755
--- a/Build/source/texk/texlive/w32_wrapper/runscript.tlu
+++ b/Build/source/texk/texlive/w32_wrapper/runscript.tlu
@@ -1,7 +1,7 @@
-local svnrevision = string.match("$Revision: 48059 $", "%d+") or "0"
-local svndate = string.match("$Date: 2018-06-20 05:55:23 +0200 (Wed, 20 Jun 2018) $", "[-%d]+") or "2009-12-04"
+local svnrevision = string.match("$Revision: 48877 $", "%d+") or "0"
+local svndate = string.match("$Date: 2018-10-10 09:25:30 +0200 (Wed, 10 Oct 2018) $", "[-%d]+") or "2009-12-04"
local bannerstr = "runscript wrapper utility (rev. " ..
svnrevision .. ", " .. svndate .. ")\n" ..
"usage: runscript script-name [arguments]\n" ..
@@ -270,6 +270,9 @@ local docstr = [[
2018/06/20
- support also scripts in trees other than TEXMFDIST:
https://tug.org/pipermail/tex-live/2018-June/041922.html
+ 2018/10/10
+ - support cluttex scripts
+
]]
-- HELPER SUBROUTINES --
@@ -762,6 +765,12 @@ elseif progname == 'tlperl' then
elseif progname == 'latexdef' then
progname = 'texdef'
argline = ' --tex latex ' .. argline
+elseif progname == 'cllualatex' then
+ progname = 'cluttex'
+ argline = ' --engine=lualatex ' .. argline
+elseif progname == 'clxelatex' then
+ progname = 'cluttex'
+ argline = ' --engine=xelatex ' .. argline
end
-- general case
diff --git a/Master/texmf-dist/bibtex/bib/beebe/texbook3.bib b/Master/texmf-dist/bibtex/bib/beebe/texbook3.bib
index ad2d7e5c264..40b17684f1c 100644
--- a/Master/texmf-dist/bibtex/bib/beebe/texbook3.bib
+++ b/Master/texmf-dist/bibtex/bib/beebe/texbook3.bib
@@ -5,9 +5,9 @@
%%% ====================================================================
%%% BibTeX-file{
%%% author = "Nelson H. F. Beebe",
-%%% version = "3.66",
-%%% date = "03 November 2017",
-%%% time = "06:55:35 MDT",
+%%% version = "3.68",
+%%% date = "01 November 2018",
+%%% time = "11:18:32 MDT",
%%% filename = "texbook3.bib",
%%% address = "University of Utah
%%% Department of Mathematics, 110 LCB
@@ -17,7 +17,7 @@
%%% telephone = "+1 801 581 5254",
%%% FAX = "+1 801 581 4148",
%%% URL = "http://www.math.utah.edu/~beebe",
-%%% checksum = "20418 17301 71011 697150",
+%%% checksum = "20714 17541 72266 710017",
%%% email = "beebe at math.utah.edu, beebe at acm.org,
%%% beebe at computer.org (Internet)",
%%% codetable = "ISO/ASCII",
@@ -37,45 +37,46 @@
%%% covered in separate bibliographies
%%% (ep.bib, epodd.bib, and sgml.bib).
%%%
-%%% At version 3.66, the year coverage looks
+%%% At version 3.68, the year coverage looks
%%% like this:
%%%
-%%% 1928 ( 1) 1958 ( 0) 1988 ( 50)
-%%% 1929 ( 0) 1959 ( 0) 1989 ( 54)
-%%% 1930 ( 0) 1960 ( 0) 1990 ( 51)
-%%% 1931 ( 0) 1961 ( 0) 1991 ( 41)
-%%% 1932 ( 0) 1962 ( 1) 1992 ( 82)
-%%% 1933 ( 0) 1963 ( 0) 1993 ( 45)
-%%% 1934 ( 0) 1964 ( 0) 1994 ( 36)
-%%% 1935 ( 0) 1965 ( 0) 1995 ( 28)
-%%% 1936 ( 0) 1966 ( 0) 1996 ( 14)
-%%% 1937 ( 0) 1967 ( 1) 1997 ( 24)
-%%% 1938 ( 0) 1968 ( 0) 1998 ( 7)
-%%% 1939 ( 0) 1969 ( 1) 1999 ( 10)
-%%% 1940 ( 0) 1970 ( 2) 2000 ( 6)
-%%% 1941 ( 0) 1971 ( 1) 2001 ( 8)
-%%% 1942 ( 0) 1972 ( 2) 2002 ( 3)
-%%% 1943 ( 0) 1973 ( 1) 2003 ( 12)
-%%% 1944 ( 0) 1974 ( 1) 2004 ( 37)
-%%% 1945 ( 0) 1975 ( 1) 2005 ( 13)
-%%% 1946 ( 0) 1976 ( 3) 2006 ( 5)
-%%% 1947 ( 0) 1977 ( 2) 2007 ( 6)
-%%% 1948 ( 0) 1978 ( 7) 2008 ( 5)
-%%% 1949 ( 0) 1979 ( 5) 2009 ( 6)
-%%% 1950 ( 0) 1980 ( 8) 2010 ( 4)
-%%% 1951 ( 0) 1981 ( 12) 2011 ( 6)
-%%% 1952 ( 0) 1982 ( 21) 2012 ( 6)
-%%% 1953 ( 0) 1983 ( 24) 2013 ( 5)
-%%% 1954 ( 0) 1984 ( 15) 2014 ( 0)
-%%% 1955 ( 0) 1985 ( 36) 2015 ( 2)
-%%% 1956 ( 0) 1986 ( 42) 2016 ( 2)
-%%% 1957 ( 0) 1987 ( 48) 2017 ( 3)
+%%% 1928 ( 1) 1959 ( 0) 1990 ( 54)
+%%% 1929 ( 0) 1960 ( 0) 1991 ( 41)
+%%% 1930 ( 0) 1961 ( 0) 1992 ( 82)
+%%% 1931 ( 0) 1962 ( 1) 1993 ( 45)
+%%% 1932 ( 0) 1963 ( 0) 1994 ( 36)
+%%% 1933 ( 0) 1964 ( 0) 1995 ( 28)
+%%% 1934 ( 0) 1965 ( 0) 1996 ( 14)
+%%% 1935 ( 0) 1966 ( 0) 1997 ( 24)
+%%% 1936 ( 0) 1967 ( 1) 1998 ( 7)
+%%% 1937 ( 0) 1968 ( 0) 1999 ( 10)
+%%% 1938 ( 0) 1969 ( 1) 2000 ( 6)
+%%% 1939 ( 0) 1970 ( 2) 2001 ( 8)
+%%% 1940 ( 0) 1971 ( 1) 2002 ( 3)
+%%% 1941 ( 0) 1972 ( 2) 2003 ( 12)
+%%% 1942 ( 0) 1973 ( 1) 2004 ( 37)
+%%% 1943 ( 0) 1974 ( 1) 2005 ( 13)
+%%% 1944 ( 0) 1975 ( 1) 2006 ( 5)
+%%% 1945 ( 0) 1976 ( 3) 2007 ( 6)
+%%% 1946 ( 0) 1977 ( 2) 2008 ( 5)
+%%% 1947 ( 0) 1978 ( 7) 2009 ( 6)
+%%% 1948 ( 0) 1979 ( 5) 2010 ( 4)
+%%% 1949 ( 0) 1980 ( 8) 2011 ( 6)
+%%% 1950 ( 0) 1981 ( 12) 2012 ( 6)
+%%% 1951 ( 0) 1982 ( 21) 2013 ( 5)
+%%% 1952 ( 0) 1983 ( 24) 2014 ( 0)
+%%% 1953 ( 0) 1984 ( 15) 2015 ( 2)
+%%% 1954 ( 0) 1985 ( 36) 2016 ( 2)
+%%% 1955 ( 0) 1986 ( 42) 2017 ( 3)
+%%% 1956 ( 0) 1987 ( 48) 2018 ( 1)
+%%% 1957 ( 0) 1988 ( 50)
+%%% 1958 ( 0) 1989 ( 54)
%%% 19xx ( 2)
%%%
-%%% Article: 195
-%%% Book: 317
+%%% Article: 196
+%%% Book: 318
%%% Booklet: 12
-%%% InCollection: 11
+%%% InCollection: 13
%%% InProceedings: 125
%%% Manual: 16
%%% MastersThesis: 3
@@ -86,7 +87,7 @@
%%% TechReport: 60
%%% Unpublished: 2
%%%
-%%% Total entries: 808
+%%% Total entries: 812
%%%
%%% The ISBN and ISSN fields will be printed if
%%% the is-alpha.bst or is-plain.bst style
@@ -429,6 +430,8 @@
@String{j-IBM-SYS-J = "IBM Systems Journal"}
+@String{j-IEEE-ANN-HIST-COMPUT = "IEEE Annals of the History of Computing"}
+
@String{j-IEEE-CGA = "IEEE Computer Graphics and Applications"}
@String{j-IEEE-COMPUTER = "IEEE Computer"}
@@ -6232,7 +6235,7 @@
@Book{Gratzer:2016:MML,
author = "George Gr{\"a}tzer",
- title = "More Math Into {LaTeX}",
+ title = "More Math Into {\LaTeX}",
publisher = "Springer International Publishing",
address = "Cham, Switzerland",
edition = "Fifth",
@@ -6294,6 +6297,25 @@
acknowledgement = ack-nhfb,
}
+@InCollection{Gries:1990:BDO,
+ author = "David Gries",
+ title = "Binary to Decimal, One More Time",
+ crossref = "Feijen:1990:BOB",
+ chapter = "16",
+ pages = "141--148",
+ year = "1990",
+ DOI = "https://doi.org/10.1007/978-1-4612-4476-9_17",
+ bibdate = "Sat Sep 03 09:41:32 1994",
+ bibsource = "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
+ http://www.math.utah.edu/pub/tex/bib/texbook3.bib",
+ note = "This paper presents an alternate proof of Knuth's
+ algorithm \cite{Knuth:1990:SPW} for conversion between
+ decimal and fixed-point binary numbers.",
+ URL = "https://link.springer.com/chapter/10.1007/978-1-4612-4476-9_17",
+ acknowledgement = ack-nhfb,
+ keywords = "decimal floating-point arithmetic",
+}
+
@Article{Griffee:1988:ITF,
author = "Alan W. Griffee and Cherrelyn A. Casey",
title = "An introduction to typographic fonts and digital font
@@ -9396,6 +9418,32 @@
fjournal = "{\TeX\-hax}",
}
+@InCollection{Knuth:1990:SPW,
+ author = "Donald E. Knuth",
+ title = "A Simple Program Whose Proof Isn't",
+ crossref = "Feijen:1990:BOB",
+ chapter = "27",
+ pages = "233--242",
+ year = "1990",
+ DOI = "https://doi.org/10.1007/978-1-4612-4476-9_28",
+ MRclass = "68Q20 (11A67 68-04)",
+ MRnumber = "93c:68035",
+ MRreviewer = "F. J. van der Linden",
+ bibdate = "Fri Mar 22 18:03:29 MST 2002",
+ bibsource = "http://www.math.utah.edu/pub/tex/bib/texbook3.bib;
+ MathSciNet database",
+ note = "This paper discusses the algorithm used in {\TeX} for
+ converting between decimal and scaled fixed-point
+ binary values, and for guaranteeing a minimum number of
+ digits in the decimal representation. See also
+ \cite{Clinger:1990:HRF} for decimal to binary
+ conversion, \cite{Steele:1990:HPF} for binary to
+ decimal conversion, and \cite{Gries:1990:BDO} for an
+ alternate proof of Knuth's algorithm.",
+ URL = "https://link.springer.com/chapter/10.1007/978-1-4612-4476-9_28",
+ acknowledgement = ack-nhfb,
+}
+
@Article{Knuth:1990:VFMa,
author = "Donald Knuth",
title = "Virtual Fonts: More Fun for Grand Wizards",
@@ -16288,6 +16336,28 @@
(2005--2015).",
}
+@Article{Beeton:2018:TBD,
+ author = "Barbara Beeton and Karl Berry and David Walden",
+ title = "{\TeX}: A Branch of Desktop Publishing, Part 1",
+ journal = j-IEEE-ANN-HIST-COMPUT,
+ volume = "40",
+ number = "3",
+ pages = "78--93",
+ month = "????",
+ year = "2018",
+ CODEN = "IAHCEX",
+ DOI = "https://doi.org/10.1109/MAHC.2018.033841114",
+ ISSN = "1058-6180 (print), 1934-1547 (electronic)",
+ ISSN-L = "1058-6180",
+ bibdate = "Thu Nov 1 06:16:12 MDT 2018",
+ bibsource = "http://www.math.utah.edu/pub/tex/bib/ieeeannhistcomput.bib;
+ http://www.math.utah.edu/pub/tex/bib/texbook3.bib",
+ URL = "https://ieeexplore.ieee.org/document/8509554/",
+ acknowledgement = ack-nhfb,
+ fjournal = "IEEE Annals of the History of Computing",
+ journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=85",
+}
+
%%% =====================================================================
%%% We put all Proceedings entries at the end so they can be
%%% cross-referenced by earlier entries. This order is regrettably
@@ -16596,6 +16666,176 @@
acknowledgement = ack-nhfb,
}
+@Book{Feijen:1990:BOB,
+ editor = "W. H. J. Feijen and A. J. M. van Gasteren and D. Gries
+ and J. Misra",
+ booktitle = "Beauty is our business: a birthday salute to {Edsger
+ W. Dijkstra}",
+ title = "Beauty is our business: a birthday salute to {Edsger
+ W. Dijkstra}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xix + 453",
+ year = "1990",
+ DOI = "https://doi.org/10.1007/978-1-4612-4476-9",
+ ISBN = "0-387-97299-4, 1-4612-8792-8 (print), 1-4612-4476-5
+ (online)",
+ ISBN-13 = "978-0-387-97299-2, 978-1-4612-8792-6 (print),
+ 978-1-4612-4476-9 (online)",
+ ISSN = "0172-603X",
+ ISSN-L = "0172-603X",
+ LCCN = "QA76 .B326 1990",
+ bibdate = "Thu Mar 24 09:27:40 1994",
+ bibsource = "http://www.math.utah.edu/pub/tex/bib/master.bib;
+ http://www.math.utah.edu/pub/tex/bib/texbook3.bib",
+ acknowledgement = ack-nhfb,
+ tableofcontents = "Anonymous / Front Matter / i--xix \\
+ Krzysztof R. Apt, Frank S. de Boer, Ernst-R{\"u}diger
+ Olderog / Proving Termination of Parallel Programs /
+ 1--6 / doi:10.1007/978-1-4612-4476-9_1 \\
+ Roland C. Backhouse / On a Relation on Functions /
+ 7--18 / doi:10.1007/978-1-4612-4476-9_2 \\
+ F. L. Bauer / Efficient Solution of a Non--Monotonic
+ Inverse Problem / 19--26 /
+ doi:10.1007/978-1-4612-4476-9_3 \\
+ A. Bijlsma / Semantics of Quasi--Boolean Expressions /
+ 27--35 / doi:10.1007/978-1-4612-4476-9_4 \\
+ Richard S. Bird / Small Specification Exercises /
+ 36--43 / doi:10.1007/978-1-4612-4476-9_5 \\
+ Maarten Boasson / Architecture of Real--Time Systems /
+ 44--53 / doi:10.1007/978-1-4612-4476-9_6 \\
+ Robert S. Boyer, Milton W. Green, J Strother Moore /
+ The Use of a Formal Simulator to Verify a Simple Real
+ Time Control Program / 54--66 /
+ doi:10.1007/978-1-4612-4476-9_7 \\
+ Donald W. Braben / Exploring the Future: Trends and
+ Discontinuities / 67--75 /
+ doi:10.1007/978-1-4612-4476-9_8 \\
+ Coen Bron / On a Renewed Visit to the Banker and a
+ Remarkable Analogy / 76--82 /
+ doi:10.1007/978-1-4612-4476-9_9 \\
+ Manfred Broy / On Bounded Buffers: Modularity,
+ Robustness, and Reliability in Reactive Systems /
+ 83--93 / doi:10.1007/978-1-4612-4476-9_10 \\
+ K. Mani Chandy, Stephen Taylor / Examples in Program
+ Composition / 94--101 /
+ doi:10.1007/978-1-4612-4476-9_11 \\
+ Albert J. Dijkstra / On the Mechanism of the
+ Hydrogenation of Edible Oils / 102--111 /
+ doi:10.1007/978-1-4612-4476-9_12 \\
+ W. H. J. Feijen, A. J. M. van Gasteren, D. Gries, J.
+ Misra / The Problem of the Majority Network / 112--118
+ / doi:10.1007/978-1-4612-4476-9_13 \\
+ W. H. J. Feijen / A Little Exercise in Deriving
+ Multiprograms / 119--126 /
+ doi:10.1007/978-1-4612-4476-9_14 \\
+ A. J. M. van Gasteren / Experimenting with a Refinement
+ Calculus / 127--134 / doi:10.1007/978-1-4612-4476-9_15
+ \\
+ Mohamed G. Gouda / Serializable Programs,
+ Parallelizable Assertions: A Basis for Interleaving /
+ 135--140 / doi:10.1007/978-1-4612-4476-9_16 \\
+ David Gries / Binary to Decimal, One More Time /
+ 141--148 / doi:10.1007/978-1-4612-4476-9_17 \\
+ A. N. Habermann / Rotate and Double / 149--162 /
+ doi:10.1007/978-1-4612-4476-9_18 \\
+ Eric C. R. Hehner / Beautifying G{\"o}del / 163--172 /
+ doi:10.1007/978-1-4612-4476-9_19 \\
+ G. Helmberg / A Striptease of Entropy / 173--175 /
+ doi:10.1007/978-1-4612-4476-9_20 \\
+ Ted Herman / On a Theorem of Jacobson / 176--181 /
+ doi:10.1007/978-1-4612-4476-9_21 \\
+ Wim H. Hesselink / Modalities of Nondeterminacy /
+ 182--192 / doi:10.1007/978-1-4612-4476-9_22 \\
+ C. A. R. Hoare / A Theory for the Derivation of C-mos
+ Circuit Designs / 193--205 /
+ doi:10.1007/978-1-4612-4476-9_23 \\
+ Rob Hoogerwoord / On Mathematical Induction and the
+ Invariance Theorem / 206--211 /
+ doi:10.1007/978-1-4612-4476-9_24 \\
+ J. J. Horning / Formalizing Some Classic
+ Synchronization Primitives / 212--219 /
+ doi:10.1007/978-1-4612-4476-9_25 \\
+ Cliff B. Jones / Consequences / 220--225 /
+ doi:10.1007/978-1-4612-4476-9_26 \\
+ Anne Kaldewaij / Shortest and Longest Segments /
+ 226--232 / doi:10.1007/978-1-4612-4476-9_27 \\
+ Donald E. Knuth / A Simple Program Whose Proof Isn't /
+ 233--242 / doi:10.1007/978-1-4612-4476-9_28 \\
+ Vadim E. Kotov / Binding Structure and Behaviour in
+ ``Whole Net'' Concurrency Semantics / 243--250 /
+ doi:10.1007/978-1-4612-4476-9_29 \\
+ F. E. J. Kruseman Aretz / Maximal Strong Components: An
+ Exercise in Program Presentation / 251--261 /
+ doi:10.1007/978-1-4612-4476-9_30 \\
+ Christian Lengauer, Duncan G. Hudson / A Systolic
+ Program for Gauss--Jordan Elimination / 262--273 /
+ doi:10.1007/978-1-4612-4476-9_31 \\
+ J. H. van Lint / Coding for Channels with Localized
+ Errors / 274--279 / doi:10.1007/978-1-4612-4476-9_32
+ \\
+ Johan J. Lukkien, Jan L. A. van de Snepscheut /
+ Topology-Independent Algorithms Based on Spanning Trees
+ / 280--288 / doi:10.1007/978-1-4612-4476-9_33 \\
+ Zohar Manna, Amir Pnueli / An Exercise in the
+ Verification of Multi--Process Programs / 289--301 /
+ doi:10.1007/978-1-4612-4476-9_34 \\
+ Alain J. Martin / The Limitations to
+ Delay--Insensitivity in Asynchronous Circuits /
+ 302--311 / doi:10.1007/978-1-4612-4476-9_35 \\
+ Jayadev Misra / A Simple Proof of a Simple Consensus
+ Algorithm / 312--318 / doi:10.1007/978-1-4612-4476-9_36
+ \\
+ Carroll Morgan / Of wp and {CSP} / 319--326 /
+ doi:10.1007/978-1-4612-4476-9_37 \\
+ Joseph M. Morris / Programming by Expression
+ Refinement: the {KMP} Algorithm / 327--338 /
+ doi:10.1007/978-1-4612-4476-9_38 \\
+ Greg Nelson / Methodical Competitive Snoopy--Caching /
+ 339--345 / doi:10.1007/978-1-4612-4476-9_39 \\
+ Peter G. Neumann / Beauty and the Beast of Software
+ Complexity Elegance versus Elephants / 346--351 /
+ doi:10.1007/978-1-4612-4476-9_40 \\
+ W. Peremans / A Note on Feasibility / 352--355 /
+ doi:10.1007/978-1-4612-4476-9_41 \\
+ Karel A. Post / A Curious Property of Points and
+ Circles in the Plane / 356--357 /
+ doi:10.1007/978-1-4612-4476-9_42 \\
+ Paul Pritchard / A Problem Involving Subsequences /
+ 358--364 / doi:10.1007/978-1-4612-4476-9_43 \\
+ Martin Rem / A Personal Perspective of the
+ Alpern--Schneider Characterization of Safety and
+ Liveness / 365--372 / doi:10.1007/978-1-4612-4476-9_44
+ \\
+ Fred B. Schneider / Simpler Proofs for Concurrent
+ Reading and Writing / 373--379 /
+ doi:10.1007/978-1-4612-4476-9_45 \\
+ Carel S. Scholten / Goodbye Junctivity? / 380--385 /
+ doi:10.1007/978-1-4612-4476-9_46 \\
+ Henk C. A. van Tilborg / An Assignment Problem for the
+ Vertices of a Cycle / 386--389 /
+ doi:10.1007/978-1-4612-4476-9_47 \\
+ D. A. Turner / Duality and De Morgan Principles for
+ Lists / 390--398 / doi:10.1007/978-1-4612-4476-9_48 \\
+ W. M. Turski / The Quest for Timeless Specifications
+ Leads to Non--Stepping Automata / 399--409 /
+ doi:10.1007/978-1-4612-4476-9_49 \\
+ Jan Tijmen Udding / The Maximum Length of a Palindrome
+ in a Sequence / 410--416 /
+ doi:10.1007/978-1-4612-4476-9_50 \\
+ Lincoln A. Wallen / On Form, Formalism and Equivalence
+ / 417--426 / doi:10.1007/978-1-4612-4476-9_51 \\
+ N. Wirth / Drawing Lines, Circles, and Ellipses in a
+ Raster / 427--434 / doi:10.1007/978-1-4612-4476-9_52
+ \\
+ Jaap van der Woude / Calculations with Relations, an
+ Example / 435--441 / doi:10.1007/978-1-4612-4476-9_53
+ \\
+ Heinz Zemanek / Two Proofs for Pythagoras / 442--447 /
+ doi:10.1007/978-1-4612-4476-9_54 \\
+ Anonymous / Back Matter / 448--453",
+}
+
@Proceedings{Forsley:1989:RFC,
editor = "Lawrence P. Forsley",
booktitle = "1989 Rochester Forth Conference. Industrial
diff --git a/Master/texmf-dist/scripts/texlive/NEWS b/Master/texmf-dist/scripts/texlive/NEWS
index 5d89b26fa76..a3cf6503cf1 100644
--- a/Master/texmf-dist/scripts/texlive/NEWS
+++ b/Master/texmf-dist/scripts/texlive/NEWS
@@ -1,6 +1,10 @@
(This file public domain. Originally written by Norbert Preining and
Karl Berry, 2010.)
+<p><b>tlmgr 48598 (released 29oct18):</b>
+<li>remove debugging line for caller() left in by mistake.
+<li>update ctan backbone list (to the one remaining).
+
<p><b>tlmgr 48522 (released 3sep18):</b>
<li>tlmgr info: report Catalogue contact info if available.
<li>only run mtxrun if luatex is available.