diff options
author | Karl Berry <karl@freefriends.org> | 2018-11-17 23:00:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-11-17 23:00:23 +0000 |
commit | fe1abfbeb205f7d33ba416add2b4c0ea505c1131 (patch) | |
tree | 0ce9ec88215da928d635d8e5058b88bc129990a2 | |
parent | 0267e085053f70eb56e95cdc62462d981023d806 (diff) |
doc, sync
git-svn-id: svn://tug.org/texlive/trunk@49183 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/texk/tests/TeXLive/TLConfig.pm | 14 | ||||
-rw-r--r-- | Build/source/texk/tests/TeXLive/TLUtils.pm | 219 | ||||
-rwxr-xr-x | Build/source/texk/texlive/w32_wrapper/runscript.tlu | 13 | ||||
-rw-r--r-- | Master/texmf-dist/bibtex/bib/beebe/texbook3.bib | 320 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/texlive/NEWS | 4 |
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. |