summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMojca Miklavec <mojca.miklavec@gmail.com>2014-05-17 18:38:56 +0000
committerMojca Miklavec <mojca.miklavec@gmail.com>2014-05-17 18:38:56 +0000
commiteee5aedecc1c0c3f484016a2b73f29a6f4cb9cb7 (patch)
treeca2673ba2b18b70ed6c32fda317dd108afd7c172
parent237141a8094c14ab28177177c991d14c5041c116 (diff)
asymptote 2.31
git-svn-id: svn://tug.org/texlive/trunk@34082 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/utils/README2
-rw-r--r--Build/source/utils/asymptote/doc/asy.12
-rw-r--r--Master/texmf-dist/asymptote/bezulate.asy3
-rw-r--r--Master/texmf-dist/asymptote/embed.asy18
-rw-r--r--Master/texmf-dist/asymptote/math.asy2
-rw-r--r--Master/texmf-dist/asymptote/three.asy5
-rw-r--r--Master/texmf-dist/asymptote/three_surface.asy34
-rw-r--r--Master/texmf-dist/doc/asymptote/CAD.pdfbin67500 -> 67500 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdfbin31516 -> 31527 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asy-latex.pdfbin194499 -> 194499 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asyRefCard.pdfbin53478 -> 53672 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asymptote.pdfbin1271270 -> 1272511 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/examples/splitpatch.asy8
-rw-r--r--Master/texmf-dist/doc/info/asy-faq.info2
-rw-r--r--Master/texmf-dist/doc/info/asymptote.info347
-rw-r--r--Master/texmf-dist/doc/man/man1/asy.12
-rw-r--r--Master/texmf-dist/doc/man/man1/asy.man1.pdfbin11626 -> 11616 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/xasy.man1.pdfbin3863 -> 3863 bytes
-rwxr-xr-xMaster/tlpkg/asymptote/asy.exebin5847040 -> 5853696 bytes
20 files changed, 215 insertions, 212 deletions
diff --git a/Build/source/utils/README b/Build/source/utils/README
index b2f5e876e28..6adea8e717b 100644
--- a/Build/source/utils/README
+++ b/Build/source/utils/README
@@ -4,7 +4,7 @@ Public domain. Originally written 2005 by Karl Berry.
Extra utilities we (optionally) compile for TeX Live.
See comments in ../texk/README.
-asymptote 2.27 - checked 29apr14
+asymptote 2.31 - checked 17may14
update to TL from CTAN, to include prebuilt doc.
see http://tug.org/texlive/build.html#asymptote
and tlpkg/bin/tl-update-asy
diff --git a/Build/source/utils/asymptote/doc/asy.1 b/Build/source/utils/asymptote/doc/asy.1
index 0dcceb01330..f0163faaade 100644
--- a/Build/source/utils/asymptote/doc/asy.1
+++ b/Build/source/utils/asymptote/doc/asy.1
@@ -239,7 +239,7 @@ Emulate unimplemented SVG shading [false].
Interactive prompt auto-completion [true].
.TP
.B \-tex engine
-latex|pdflatex|xelatex|tex|pdftex|luatex|lualatex|none [latex].
+latex|pdflatex|xelatex|tex|pdftex|luatex|lualatex|context|none [latex].
.TP
.B \-thick
Render thick 3D lines [true].
diff --git a/Master/texmf-dist/asymptote/bezulate.asy b/Master/texmf-dist/asymptote/bezulate.asy
index a0f6689b504..60be8cb7045 100644
--- a/Master/texmf-dist/asymptote/bezulate.asy
+++ b/Master/texmf-dist/asymptote/bezulate.asy
@@ -2,6 +2,7 @@
private real fuzz=sqrtEpsilon;
real duplicateFuzz=1e-3; // Work around font errors.
+real maxrefinements=7;
private real[][] intersections(pair a, pair b, path p)
{
@@ -291,7 +292,7 @@ path[] bezulate(path[] p)
if(!found && k == SIZE_STEPS && length(p) > 4 && i == length(p)-1) {
// avoid infinite recursion
++refinements;
- if(refinements > mantissaBits) {
+ if(refinements > maxrefinements) {
warning("subdivisions","too many subdivisions",position=true);
} else {
p=subdivide(p);
diff --git a/Master/texmf-dist/asymptote/embed.asy b/Master/texmf-dist/asymptote/embed.asy
index ad2b710c36b..588ad79c283 100644
--- a/Master/texmf-dist/asymptote/embed.asy
+++ b/Master/texmf-dist/asymptote/embed.asy
@@ -1,12 +1,12 @@
-if(latex() && !settings.inlineimage) {
+if(latex()) {
usepackage("hyperref");
texpreamble("\hypersetup{"+settings.hyperrefOptions+"}");
usepackage("media9","bigfiles");
- texpreamble("\makeatletter%
-\newif\ifnoplaybutton
-\@ifpackagelater{media9}{2013/11/15}{%
-\noplaybuttontrue}{}%
-\makeatother%");
+ texpreamble("\newif\ifplaybutton");
+ texpreamble("\count255=\the\catcode`\@\makeatletter%
+\@ifpackagelater{media9}{2013/11/15}{}{\playbuttontrue}%
+\catcode`\@=\the\count255
+%");
}
// For documentation of the options see
@@ -19,10 +19,10 @@ string embedplayer(string name, string text="", string options="",
if(width != 0) options += ",width="+(string) (width/pt)+"pt";
if(height != 0) options += ",height="+(string) (height/pt)+"pt";
return "%
-\ifnoplaybutton%
-\includemedia[noplaybutton,"+options+"]{"+text+"}{"+name+"}%
-\else%
+\ifplaybutton%
\includemedia["+options+"]{"+text+"}{"+name+"}%
+\else%
+\includemedia[noplaybutton,"+options+"]{"+text+"}{"+name+"}%
\fi";
}
diff --git a/Master/texmf-dist/asymptote/math.asy b/Master/texmf-dist/asymptote/math.asy
index 69863634210..47044a75df1 100644
--- a/Master/texmf-dist/asymptote/math.asy
+++ b/Master/texmf-dist/asymptote/math.asy
@@ -175,7 +175,7 @@ int[][] segment(bool[] b)
int[][] S=segmentlimits(b);
return sequence(new int[](int i) {
return sequence(S[i][0],S[i][1]);
- },S[0].length);
+ },S.length);
}
// If the sorted array a does not contain x, insert it sequentially,
diff --git a/Master/texmf-dist/asymptote/three.asy b/Master/texmf-dist/asymptote/three.asy
index 1c3716173d3..210ed55ddfe 100644
--- a/Master/texmf-dist/asymptote/three.asy
+++ b/Master/texmf-dist/asymptote/three.asy
@@ -3,7 +3,7 @@ private import math;
if(inXasyMode) settings.render=0;
if(prc0()) {
- if(settings.tex == "context") settings.prc=false;
+ if(!latex()) settings.prc=false;
else {
access embed;
Embed=embed.embedplayer;
@@ -1611,8 +1611,7 @@ transform transform(triple u, triple v, triple O=O,
projection P=currentprojection)
{
transform3 t=P.t;
- static real[] O={0,0,0,1};
- real[] tO=t*O;
+ real[] tO=t*new real[] {O.x,O.y,O.z,1};
real tO3=tO[3];
real factor=1/tO3^2;
real[] x=(tO3*t[0]-tO[0]*t[3])*factor;
diff --git a/Master/texmf-dist/asymptote/three_surface.asy b/Master/texmf-dist/asymptote/three_surface.asy
index fc09ac798d9..bf070e2a4a9 100644
--- a/Master/texmf-dist/asymptote/three_surface.asy
+++ b/Master/texmf-dist/asymptote/three_surface.asy
@@ -954,7 +954,7 @@ private triple[] split(triple z0, triple c0, triple c1, triple z1, real t=0.5)
// Return the control points of the subpatches
// produced by a horizontal split of P
-triple[][][] hsplit(triple[][] P)
+triple[][][] hsplit(triple[][] P, real v=0.5)
{
// get control points in rows
triple[] P0=P[0];
@@ -962,10 +962,10 @@ triple[][][] hsplit(triple[][] P)
triple[] P2=P[2];
triple[] P3=P[3];
- triple[] c0=split(P0[0],P0[1],P0[2],P0[3]);
- triple[] c1=split(P1[0],P1[1],P1[2],P1[3]);
- triple[] c2=split(P2[0],P2[1],P2[2],P2[3]);
- triple[] c3=split(P3[0],P3[1],P3[2],P3[3]);
+ triple[] c0=split(P0[0],P0[1],P0[2],P0[3],v);
+ triple[] c1=split(P1[0],P1[1],P1[2],P1[3],v);
+ triple[] c2=split(P2[0],P2[1],P2[2],P2[3],v);
+ triple[] c3=split(P3[0],P3[1],P3[2],P3[3],v);
// bottom, top
return new triple[][][] {
{{P0[0],c0[0],c0[1],c0[2]},
@@ -981,7 +981,7 @@ triple[][][] hsplit(triple[][] P)
// Return the control points of the subpatches
// produced by a vertical split of P
-triple[][][] vsplit(triple[][] P)
+triple[][][] vsplit(triple[][] P, real u=0.5)
{
// get control points in rows
triple[] P0=P[0];
@@ -989,10 +989,10 @@ triple[][][] vsplit(triple[][] P)
triple[] P2=P[2];
triple[] P3=P[3];
- triple[] c0=split(P0[0],P1[0],P2[0],P3[0]);
- triple[] c1=split(P0[1],P1[1],P2[1],P3[1]);
- triple[] c2=split(P0[2],P1[2],P2[2],P3[2]);
- triple[] c3=split(P0[3],P1[3],P2[3],P3[3]);
+ triple[] c0=split(P0[0],P1[0],P2[0],P3[0],u);
+ triple[] c1=split(P0[1],P1[1],P2[1],P3[1],u);
+ triple[] c2=split(P0[2],P1[2],P2[2],P3[2],u);
+ triple[] c3=split(P0[3],P1[3],P2[3],P3[3],u);
// left, right
return new triple[][][] {
{{P0[0],P0[1],P0[2],P0[3]},
@@ -1008,7 +1008,7 @@ triple[][][] vsplit(triple[][] P)
// Return a 2D array of the control point arrays of the subpatches
// produced by horizontal and vertical splits of P at u and v
-triple[][][][] split(triple[][] P, real u=1/2, real v=1/2)
+triple[][][][] split(triple[][] P, real u=0.5, real v=0.5)
{
triple[] P0=P[0];
triple[] P1=P[1];
@@ -1160,15 +1160,13 @@ triple[] intersectionpoints(path3 p, surface s, real fuzz=-1)
return sequence(new triple(int i) {return point(p,t[i][0]);},t.length);
}
-// Return true iff the bounding boxes of patch p and q overlap.
+// Return true iff the control point bounding boxes of patches p and q overlap.
bool overlap(triple[][] p, triple[][] q, real fuzz=-1)
{
- triple p0=p[0][0];
- triple q0=q[0][0];
- triple pmin=minbezier(p,p0);
- triple pmax=maxbezier(p,p0);
- triple qmin=minbezier(q,q0);
- triple qmax=maxbezier(q,q0);
+ triple pmin=minbound(p);
+ triple pmax=maxbound(p);
+ triple qmin=minbound(q);
+ triple qmax=maxbound(q);
static real Fuzz=1000*realEpsilon;
real fuzz=max(10*fuzz,Fuzz*max(abs(pmin),abs(pmax)));
diff --git a/Master/texmf-dist/doc/asymptote/CAD.pdf b/Master/texmf-dist/doc/asymptote/CAD.pdf
index c66b46cd4f1..ba59db86d8a 100644
--- a/Master/texmf-dist/doc/asymptote/CAD.pdf
+++ b/Master/texmf-dist/doc/asymptote/CAD.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
index 0d7ed23167d..82a110f254f 100644
--- a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
+++ b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asy-latex.pdf b/Master/texmf-dist/doc/asymptote/asy-latex.pdf
index f221968b949..33812486191 100644
--- a/Master/texmf-dist/doc/asymptote/asy-latex.pdf
+++ b/Master/texmf-dist/doc/asymptote/asy-latex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
index 58ee3e156e6..66f8027aee6 100644
--- a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
+++ b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asymptote.pdf b/Master/texmf-dist/doc/asymptote/asymptote.pdf
index f2a6b867c62..71254d9591b 100644
--- a/Master/texmf-dist/doc/asymptote/asymptote.pdf
+++ b/Master/texmf-dist/doc/asymptote/asymptote.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy b/Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy
index 12fdf04dedc..7557266bb00 100644
--- a/Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy
@@ -1,6 +1,6 @@
// An embedded movie;
//
-// See http://www.tug.org/tex-archive/macros/latex/contrib/movie15/README
+// See http://mirror.ctan.org/macros/latex/contrib/media9/doc/media9.pdf
// for documentation of the options.
import embed; // Add embedded movie
diff --git a/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy b/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy
index 2e9fae66431..f8578bbbcc9 100644
--- a/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy
+++ b/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy
@@ -5,8 +5,8 @@ size(300);
// A structure to subdivide two intersecting patches about their intersection.
struct split
{
- surface[] S=sequence(new surface(int i) {return new surface;},1);
- surface[] T=sequence(new surface(int i) {return new surface;},1);
+ surface[] S={new surface};
+ surface[] T={new surface};
struct tree {
tree[] tree=new tree[2];
@@ -17,7 +17,7 @@ struct split
// Subdivide p and q to depth n if they overlap.
void write(tree pt, tree qt, triple[][] p, triple[][] q, int depth=n) {
--depth;
- triple[][][] Split(triple[][] P)=depth % 2 == 0 ? hsplit : vsplit;
+ triple[][][] Split(triple[][] P, real u=0)=depth % 2 == 0 ? hsplit : vsplit;
triple[][][] P=Split(p);
triple[][][] Q=Split(q);
@@ -40,7 +40,7 @@ struct split
// Output the subpatches of p from subdivision.
void read(surface[] S, tree t, triple[][] p, int depth=n) {
--depth;
- triple[][][] Split(triple[][] P)=depth % 2 == 0 ? hsplit : vsplit;
+ triple[][][] Split(triple[][] P, real u=0)=depth % 2 == 0 ? hsplit : vsplit;
triple[][][] P=Split(p);
for(int i=0; i < 2; ++i) {
diff --git a/Master/texmf-dist/doc/info/asy-faq.info b/Master/texmf-dist/doc/info/asy-faq.info
index dde23dadbf6..a49da13ab3b 100644
--- a/Master/texmf-dist/doc/info/asy-faq.info
+++ b/Master/texmf-dist/doc/info/asy-faq.info
@@ -10,7 +10,7 @@ END-INFO-DIR-ENTRY
File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 28 Apr 2014
+ 16 May 2014
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/Master/texmf-dist/doc/info/asymptote.info b/Master/texmf-dist/doc/info/asymptote.info
index 23fc5a09702..168b13ba5a9 100644
--- a/Master/texmf-dist/doc/info/asymptote.info
+++ b/Master/texmf-dist/doc/info/asymptote.info
@@ -1,7 +1,7 @@
This is asymptote.info, produced by makeinfo version 4.13 from
../asymptote.texi.
-This file documents `Asymptote', version 2.27.
+This file documents `Asymptote', version 2.31.
`http://asymptote.sourceforge.net'
@@ -23,7 +23,7 @@ File: asymptote.info, Node: Top, Next: Description, Up: (dir)
Asymptote
*********
-This file documents `Asymptote', version 2.27.
+This file documents `Asymptote', version 2.31.
`http://asymptote.sourceforge.net'
@@ -428,6 +428,7 @@ variables `paperwidth' and `paperheight'.
The following configuration variables normally do not require
adjustment:
+config
texpath
texcommand
dvips
@@ -436,8 +437,8 @@ libgs
convert
display
animate
- Warnings (such as "writeoverloaded") may be enabled or disabled with
-the functions
+ Warnings (such as "unbounded" and "offaxis") may be enabled or
+disabled with the functions
warn(string s);
nowarn(string s);
or by directly modifying the string array `settings.suppress', which
@@ -1082,8 +1083,8 @@ void draw(picture pic=currentpicture, pen fillrule=currentpen, path[] g,
example files `tensor.asy', `Coons.asy', `BezierSurface.asy', and
`rainbow.asy'.
- More general shading possibilities are available with the `pdflatex',
-`context', and `pdftex' TeX engines: the routine
+ More general shading possibilities are available using TeX engines
+that produce PDF output (*note texengines::): the routine
void functionshade(picture pic=currentpicture, path[] g, bool stroke=false,
pen fillrule=currentpen, string shader);
shades on picture `pic' the interior of path `g' according to fill
@@ -3179,11 +3180,22 @@ struct T {
++Tcount;
}
+T foo=new T;
T foo;
-
- Here, the expression `new T' will produce a new instance of the
-class, but will also cause `Tcount' to be incremented, so that it keeps
-track of the number of instances produced.
+ Here, `new T' produces a new instance of the class, which causes
+`Tcount' to be incremented, tracking the number of instances produced.
+The declarations `T foo=new T' and `T foo' are equivalent: the second
+form implicitly creates a new instance of `T'. That is, after the
+definition of a structure `T', a variable of type `T' is initialized to
+a new instance (`new T') by default. During the definition of the
+structure, however, variables of type `T' are initialized to `null' by
+default. This special behaviour is to avoid infinite recursion of
+creating new instances in code such as
+struct tree {
+ int value;
+ tree left;
+ tree right;
+}
The expression `null' can be cast to any structure type to yield a
null reference, a reference that does not actually refer to any
@@ -3192,23 +3204,12 @@ will cause an error.
The function `bool alias(T,T)' checks to see if two structure
references refer to the same instance of the structure (or both to
-`null'). For example, in the example code at the start of the section,
-`alias(foo,bar)' would return true, but `alias(foo,new T)' would return
-false, as `new T' creates a new instance of the structure `T'. The
-boolean operators `==' and `!=' are by default equivalent to `alias' and
-`!alias' respectively, but may be overwritten for a particular type
-(for example, to do a deep comparison).
-
- After the definition of a structure `T', a variable of type `T' is
-initialized to a new instance (`new T') by default. During the
-definition of the structure, however, variables of type `T' are
-initialized to `null' by default. This special behaviour is to avoid
-infinite recursion of creating new instances in code such as
-struct tree {
- int value;
- tree left;
- tree right;
-}
+`null'). In example at the beginning of this section, `alias(foo,bar)'
+would return true, but `alias(foo,new T)' would return false, as `new
+T' creates a new instance of the structure `T'. The boolean operators
+`==' and `!=' are by default equivalent to `alias' and `!alias'
+respectively, but may be overwritten for a particular type (for
+example, to do a deep comparison).
Here is a simple example that illustrates the use of structures:
struct S {
@@ -4732,7 +4733,7 @@ pdflatex latexusage
`http://mirror.ctan.org/support/latexmk/'
after putting the contents of
-`http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/doc/latexmkrc'
+`http://sourceforge.net/p/asymptote/code/HEAD/tree/trunk/asymptote/doc/latexmkrc'
in a file `latexmkrc' in the same directory. The command
latexmk -pdf latexusage
will then call `Asymptote' automatically, recompiling only the figures
@@ -4741,7 +4742,7 @@ process, this method also tends to use less memory. To store the
figures in a separate directory named `asy', one can define
\def\asydir{asy}
in `latexusage.tex' and put the contents of
-`http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/doc/latexmkrc_asydir'
+`http://sourceforge.net/p/asymptote/code/HEAD/tree/trunk/asymptote/doc/latexmkrc_asydir'
in a file `latexmkrc' in the same directory. External `Asymptote' code
in `filename.asy' should be included with
\asyinclude[<options>]{<filename.asy>}
@@ -8020,7 +8021,7 @@ Options (negate by replacing - with -no):
-spinstep deg/s Spin speed [60]
-svgemulation Emulate unimplemented SVG shading [false]
-tabcompletion Interactive prompt auto-completion [true]
--tex engine latex|pdflatex|xelatex|tex|pdftex|context|none [latex]
+-tex engine latex|pdflatex|xelatex|tex|pdftex|luatex|lualatex|none [latex]
-thick Render thick 3D lines [true]
-thin Render thin 3D lines [true]
-threads Use POSIX threads for 3D rendering [true]
@@ -8084,9 +8085,9 @@ settings.autoplain=true;
`Asymptote' code.
The default output format is EPS for the (default) `latex' and `tex'
-tex engine and PDF for the `pdflatex', `xelatex', and `context' tex
-engines. Alternative output formats may be produced using the `-f'
-option (or `outformat' setting).
+tex engine and PDF for the `pdflatex', `xelatex', `context', `luatex',
+and `lualatex' tex engines. Alternative output formats may be produced
+using the `-f' option (or `outformat' setting).
To produce SVG output, you will need `dvisvgm' (version 0.8.7 or
later) from `http://dvisvgm.sourceforge.net' and must use the `latex'
@@ -8482,7 +8483,7 @@ Index
(line 68)
* != <1>: Arithmetic & logical.
(line 38)
-* !=: Structures. (line 52)
+* !=: Structures. (line 63)
* % <1>: Interactive mode. (line 17)
* %: Arithmetic & logical.
(line 23)
@@ -8539,7 +8540,7 @@ Index
(line 44)
* == <1>: Arithmetic & logical.
(line 37)
-* ==: Structures. (line 52)
+* ==: Structures. (line 63)
* >: Arithmetic & logical.
(line 50)
* >=: Arithmetic & logical.
@@ -8577,7 +8578,7 @@ Index
* Airy: Mathematical functions.
(line 48)
* alias <1>: Arrays. (line 181)
-* alias: Structures. (line 52)
+* alias: Structures. (line 63)
* align: Options. (line 174)
* Align: label. (line 12)
* all: Arrays. (line 329)
@@ -8781,7 +8782,7 @@ Index
* comma: Files. (line 61)
* comma-separated-value mode: Arrays. (line 362)
* command-line options <1>: Options. (line 6)
-* command-line options: Configuring. (line 84)
+* command-line options: Configuring. (line 85)
* comment character: Files. (line 16)
* compass directions: Tutorial. (line 106)
* Compiling from UNIX source: Compiling from UNIX source.
@@ -8791,7 +8792,8 @@ Index
* conditional <1>: Arithmetic & logical.
(line 73)
* conditional: Programming. (line 8)
-* config: Options. (line 116)
+* config <1>: Options. (line 116)
+* config: Configuring. (line 67)
* configuration file <1>: Options. (line 116)
* configuration file: Configuring. (line 23)
* configuring: Configuring. (line 6)
@@ -8938,7 +8940,7 @@ Index
* EndPenMargin3: three. (line 577)
* EndPoint: label. (line 56)
* envelope: Frames and pictures. (line 22)
-* environment variables: Configuring. (line 88)
+* environment variables: Configuring. (line 89)
* eof <1>: Arrays. (line 344)
* eof: Files. (line 92)
* eol <1>: Arrays. (line 344)
@@ -9245,6 +9247,8 @@ Index
* longdashed: Pens. (line 95)
* longitude: Data types. (line 141)
* loop: Programming. (line 8)
+* lualatex: Options. (line 145)
+* luatex: Options. (line 145)
* MacOS X binary distributions: MacOS X binary distributions.
(line 6)
* makepen: Pens. (line 300)
@@ -9852,137 +9856,138 @@ Node: MacOS X binary distributions12622
Node: Microsoft Windows13506
Ref: psview14216
Node: Configuring15150
-Node: Search paths19370
-Node: Compiling from UNIX source20212
-Node: Editing modes23109
-Node: Subversion25541
-Node: Uninstall25989
-Node: Tutorial26339
-Ref: unitcircle30637
-Node: Drawing commands32693
-Node: draw34404
-Ref: arrows35552
-Node: fill40795
-Ref: gradient shading41839
-Node: clip46396
-Node: label46988
-Ref: Label47586
-Node: Bezier curves53389
-Node: Programming57091
-Ref: array iteration57905
-Node: Data types59011
-Ref: format68208
-Node: Paths and guides72461
-Ref: circle72715
-Ref: extension82273
-Node: Pens89328
-Ref: fillrule96696
-Ref: basealign97593
-Ref: transparency100410
-Ref: makepen103853
-Ref: overwrite104691
-Node: Transforms105901
-Node: Frames and pictures107692
-Ref: envelope108833
-Ref: size109916
-Ref: unitsize110903
-Ref: shipout111963
-Ref: filltype114296
-Ref: add117433
-Ref: add about118379
-Ref: tex121317
-Node: Files122191
-Ref: cd123174
-Ref: scroll127848
-Node: Variable initializers130763
-Node: Structures133488
-Node: Operators140890
-Node: Arithmetic & logical141204
-Node: Self & prefix operators143177
-Node: User-defined operators143965
-Node: Implicit scaling144876
-Node: Functions145439
-Ref: stack overflow148192
-Node: Default arguments148756
-Node: Named arguments149495
-Node: Rest arguments152066
-Node: Mathematical functions155187
-Node: Arrays159852
-Ref: sort166841
-Ref: tridiagonal169245
-Ref: solve170473
-Node: Slices174667
-Node: Casts178557
-Node: Import180522
-Node: Static185759
-Node: LaTeX usage188653
-Node: Base modules195056
-Node: plain197556
-Node: simplex198208
-Node: math198481
-Node: interpolate201186
-Node: geometry201465
-Node: trembling202059
-Node: stats202328
-Node: patterns202588
-Node: markers202824
-Node: tree204607
-Node: binarytree204795
-Node: drawtree205415
-Node: syzygy205619
-Node: feynman205893
-Node: roundedpath206168
-Node: animation206451
-Ref: animate206871
-Node: embed207992
-Node: slide208950
-Node: MetaPost209290
-Node: unicode210006
-Node: latin1210885
-Node: babel211253
-Node: labelpath211482
-Node: labelpath3212302
-Node: annotate212613
-Node: CAD213084
-Node: graph213394
-Ref: ticks220523
-Ref: pathmarkers233850
-Ref: marker234315
-Ref: markuniform234666
-Ref: errorbars236457
-Ref: automatic scaling240494
-Node: palette251123
-Ref: images251241
-Ref: image255413
-Ref: logimage255891
-Ref: penimage256952
-Ref: penfunctionimage257173
-Node: three257897
-Ref: PostScript3D283576
-Node: obj285268
-Node: graph3285520
-Ref: GaussianSurface290675
-Node: grid3291779
-Node: solids292519
-Node: tube293467
-Node: flowchart295702
-Node: contour300271
-Node: contour3305361
-Node: slopefield305668
-Node: ode307105
-Node: Options307365
-Ref: configuration file313410
-Ref: settings313410
-Ref: convert314649
-Node: Interactive mode317798
-Ref: history319951
-Node: GUI321256
-Node: GUI installation321759
-Node: GUI usage322889
-Node: PostScript to Asymptote323792
-Node: Help324548
-Node: Debugger326274
-Node: Credits328059
-Node: Index328991
+Node: Search paths19385
+Node: Compiling from UNIX source20227
+Node: Editing modes23124
+Node: Subversion25556
+Node: Uninstall26004
+Node: Tutorial26354
+Ref: unitcircle30652
+Node: Drawing commands32708
+Node: draw34419
+Ref: arrows35567
+Node: fill40810
+Ref: gradient shading41854
+Node: clip46417
+Node: label47009
+Ref: Label47607
+Node: Bezier curves53410
+Node: Programming57112
+Ref: array iteration57926
+Node: Data types59032
+Ref: format68229
+Node: Paths and guides72482
+Ref: circle72736
+Ref: extension82294
+Node: Pens89349
+Ref: fillrule96717
+Ref: basealign97614
+Ref: transparency100431
+Ref: makepen103874
+Ref: overwrite104712
+Node: Transforms105922
+Node: Frames and pictures107713
+Ref: envelope108854
+Ref: size109937
+Ref: unitsize110924
+Ref: shipout111984
+Ref: filltype114317
+Ref: add117454
+Ref: add about118400
+Ref: tex121338
+Node: Files122212
+Ref: cd123195
+Ref: scroll127869
+Node: Variable initializers130784
+Node: Structures133509
+Node: Operators140984
+Node: Arithmetic & logical141298
+Node: Self & prefix operators143271
+Node: User-defined operators144059
+Node: Implicit scaling144970
+Node: Functions145533
+Ref: stack overflow148286
+Node: Default arguments148850
+Node: Named arguments149589
+Node: Rest arguments152160
+Node: Mathematical functions155281
+Node: Arrays159946
+Ref: sort166935
+Ref: tridiagonal169339
+Ref: solve170567
+Node: Slices174761
+Node: Casts178651
+Node: Import180616
+Node: Static185853
+Node: LaTeX usage188747
+Node: Base modules195142
+Node: plain197642
+Node: simplex198294
+Node: math198567
+Node: interpolate201272
+Node: geometry201551
+Node: trembling202145
+Node: stats202414
+Node: patterns202674
+Node: markers202910
+Node: tree204693
+Node: binarytree204881
+Node: drawtree205501
+Node: syzygy205705
+Node: feynman205979
+Node: roundedpath206254
+Node: animation206537
+Ref: animate206957
+Node: embed208078
+Node: slide209036
+Node: MetaPost209376
+Node: unicode210092
+Node: latin1210971
+Node: babel211339
+Node: labelpath211568
+Node: labelpath3212388
+Node: annotate212699
+Node: CAD213170
+Node: graph213480
+Ref: ticks220609
+Ref: pathmarkers233936
+Ref: marker234401
+Ref: markuniform234752
+Ref: errorbars236543
+Ref: automatic scaling240580
+Node: palette251209
+Ref: images251327
+Ref: image255499
+Ref: logimage255977
+Ref: penimage257038
+Ref: penfunctionimage257259
+Node: three257983
+Ref: PostScript3D283662
+Node: obj285354
+Node: graph3285606
+Ref: GaussianSurface290761
+Node: grid3291865
+Node: solids292605
+Node: tube293553
+Node: flowchart295788
+Node: contour300357
+Node: contour3305447
+Node: slopefield305754
+Node: ode307191
+Node: Options307451
+Ref: configuration file313504
+Ref: settings313504
+Ref: texengines314743
+Ref: convert314743
+Node: Interactive mode317913
+Ref: history320066
+Node: GUI321371
+Node: GUI installation321874
+Node: GUI usage323004
+Node: PostScript to Asymptote323907
+Node: Help324663
+Node: Debugger326389
+Node: Credits328174
+Node: Index329106

End Tag Table
diff --git a/Master/texmf-dist/doc/man/man1/asy.1 b/Master/texmf-dist/doc/man/man1/asy.1
index 979fd50ee38..f0163faaade 100644
--- a/Master/texmf-dist/doc/man/man1/asy.1
+++ b/Master/texmf-dist/doc/man/man1/asy.1
@@ -239,7 +239,7 @@ Emulate unimplemented SVG shading [false].
Interactive prompt auto-completion [true].
.TP
.B \-tex engine
-latex|pdflatex|xelatex|tex|pdftex|context|none [latex].
+latex|pdflatex|xelatex|tex|pdftex|luatex|lualatex|context|none [latex].
.TP
.B \-thick
Render thick 3D lines [true].
diff --git a/Master/texmf-dist/doc/man/man1/asy.man1.pdf b/Master/texmf-dist/doc/man/man1/asy.man1.pdf
index 29702094a18..dbd87e196e9 100644
--- a/Master/texmf-dist/doc/man/man1/asy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/asy.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
index a07a35ea68b..268cede940f 100644
--- a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
Binary files differ
diff --git a/Master/tlpkg/asymptote/asy.exe b/Master/tlpkg/asymptote/asy.exe
index f72940b8ada..5ad8224d8e9 100755
--- a/Master/tlpkg/asymptote/asy.exe
+++ b/Master/tlpkg/asymptote/asy.exe
Binary files differ