diff options
author | Karl Berry <karl@freefriends.org> | 2020-12-25 22:01:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-12-25 22:01:58 +0000 |
commit | 1e611e5edb570cb045a27e8fa52e7ffa36ba2f29 (patch) | |
tree | 7ab33bc15b74c32c00a740fca680c541387320eb /Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz | |
parent | 59ded7330e89e2fd397692f54866a264ef5ba679 (diff) |
pgf (25dec20)
git-svn-id: svn://tug.org/texlive/trunk@57224 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz')
3 files changed, 44 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex index 3ade8fa1cce..73a47f6574c 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex @@ -393,7 +393,7 @@ execute before day scope={\ifdate{day of month=1}{% \pgfutil@next% } \def\tikz@lib@cal@expand{% - \advance\tikz@expandcount by -1% + \advance\tikz@expandcount by -1 \ifnum\tikz@expandcount<0\relax% \tikzerror{Giving up on this calendar}% \let\pgfutil@next=\tikz@lib@cal@end% diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex index 36df6b69efd..ecf850ab40c 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex @@ -135,6 +135,7 @@ [every curve to] \pgfextra{\iftikz@to@relative\tikz@to@compute@relative\else\tikz@to@compute\fi} \tikz@computed@path + \pgfextra{\tikz@updatenexttrue\tikz@updatecurrenttrue}% \tikztonodes% } @@ -166,6 +167,9 @@ \def\tikz@first@point{#1}% \tikz@scan@one@point\tikz@@@to@compute@distance(\tikz@toto)} \def\tikz@@@to@compute@distance#1{% + \iftikz@updatecurrent\else + \tikz@updatenextfalse + \fi \def\tikz@second@point{#1}% \tikz@to@compute@distance@main% } diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex index 70f8da088e0..477418b7167 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex @@ -2120,10 +2120,15 @@ \else% \tikz@invoke@collected@onpath% \fi% - \afterassignment\tikz@handle\let\pgf@let@token=% + \tikz@scan@@next@command }% +\def\tikz@scan@@next@command{% + \afterassignment\tikz@handle\let\pgf@let@token=% +} + \newcount\tikz@expandcount \let\tikz@collected@onpath=\pgfutil@empty% +\edef\tikz@frozen@relax@token{\ifnum0=0\fi} % Central dispatcher for commands \def\tikz@handle{% @@ -2224,7 +2229,7 @@ \ifx\pgf@let@token:% \let\pgfutil@next=\tikz@colon@char% \else% - \let\pgfutil@next=\tikz@expand% + \let\pgfutil@next=\tikz@handle@evenmore \fi% \fi% \fi% @@ -2240,10 +2245,26 @@ \fi% \fi% \fi% - \ifx\pgfutil@next\tikz@expand\else\tikz@expandcount=100\relax\fi% \pgfutil@next% }% +% Continued... +\def\tikz@handle@evenmore{% + % if \pgf@let@token is \relax or frozen \relax, skip it and + % scan from the next token + \ifx\pgf@let@token\relax + \let\pgfutil@next=\tikz@scan@@next@command + \else + \ifx\pgf@let@token\tikz@frozen@relax@token + \let\pgfutil@next=\tikz@scan@@next@command + \else + \let\pgfutil@next=\tikz@expand + \fi + \fi + \ifx\pgfutil@next\tikz@expand\else\tikz@expandcount=100\relax\fi + \pgfutil@next +} + \def\tikz@l@char{% \pgfutil@ifnextchar e{\tikz@let@command}{% \pgfutil@ifnextchar i{\tikz@lsystem}{% @@ -2566,7 +2587,7 @@ \def\tikz@skip#1{\tikz@scan@next@command#1}% \def\tikz@expand{% - \advance\tikz@expandcount by -1% + \advance\tikz@expandcount by -1 \ifnum\tikz@expandcount<0\relax% \tikzerror{Giving up on this path. Did you forget a semicolon?}% \let\pgfutil@next=\tikz@finish% @@ -2939,7 +2960,7 @@ % -| <point> \def\tikz@hv@lineto{% - \pgfutil@ifnextchar n{\tikz@collect@label@onpath\tikz@hv@lineto}{ + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\tikz@hv@lineto}{% \pgfutil@ifnextchar p{\tikz@collect@pic@onpath\tikz@hv@lineto}% {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\tikz@hv@lineto}% {\tikz@scan@one@point{\tikz@@hv@lineto}}}}}% @@ -3159,6 +3180,7 @@ \pgf@stop% \expandafter\tikz@scan@next@command\expandafter% }\tikz@after@path% + \pgfextra{\tikz@updatenexttrue\tikz@updatecurrenttrue}% }% @@ -3204,13 +3226,13 @@ \let\tikz@collected@onpath=\pgfutil@empty% \tikz@edgetoparentcollect% }% -\def\tikz@edgetoparentcollect{ +\def\tikz@edgetoparentcollect{% \pgfutil@ifnextchar n{\tikz@collect@label@onpath\tikz@edgetoparentcollect}% {% \expandafter% \endgroup% \expandafter\tikz@edgetoparent@rollout\expandafter{\tikz@collected@onpath}% - } + }% }% \def\tikz@edgetoparent@rollout#1{% @@ -3262,7 +3284,9 @@ \else% \tikzerror{Dot expected}% \fi% - \tikz@updatecurrenttrue% + \iftikz@updatenext + \tikz@updatecurrenttrue% + \fi \tikz@curveCcheck% }% \def\tikz@curveCcheck{% @@ -3840,7 +3864,7 @@ % A label text always ``ends'' the node. % \def\tikz@fig ode{% - \pgfutil@ifnextchar a\tikz@test@also{ + \pgfutil@ifnextchar a\tikz@test@also{% \pgfutil@ifnextchar f{\tikz@nodes@start}\tikz@normal@fig}}% \def\tikz@test@also a{\pgfutil@ifnextchar l\tikz@node@also{\tikz@normal@fig a}}% \def\tikz@normal@fig{% @@ -5221,11 +5245,15 @@ \tikz@lastxsaved=\pgf@x\relax% \tikz@lastysaved=\pgf@y\relax% \fi% - \tikz@updatecurrenttrue% + \iftikz@updatenext + \tikz@updatecurrenttrue% + \fi }% \newif\iftikz@updatecurrent \tikz@updatecurrenttrue +\newif\iftikz@updatenext +\tikz@updatenexttrue @@ -5240,7 +5268,7 @@ \def\tikz@scan@absolute#1{% \pgfutil@ifnextchar({\tikz@scan@@absolute#1}%) {% - \advance\tikz@expandcount by -1% + \advance\tikz@expandcount by -1 \ifnum\tikz@expandcount<0\relax% \let\pgfutil@next=\tikz@@scangiveup% \else% |