diff options
author | Karl Berry <karl@freefriends.org> | 2023-02-19 20:57:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-02-19 20:57:28 +0000 |
commit | 3955c6f567cb3dcb8061a5f6b5989673371c143e (patch) | |
tree | 1bdb3932178dee950d835998adcd72b2228dcd4f /Master/texmf-dist/tex/latex/yquant/yquant-env.tex | |
parent | 9c8377ee047747b61cf8242b3a072efee1c772a6 (diff) |
yquant (19feb23)
git-svn-id: svn://tug.org/texlive/trunk@65933 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/yquant/yquant-env.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/yquant/yquant-env.tex | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/latex/yquant/yquant-env.tex b/Master/texmf-dist/tex/latex/yquant/yquant-env.tex index bbbf740e713..f87745b05c0 100644 --- a/Master/texmf-dist/tex/latex/yquant/yquant-env.tex +++ b/Master/texmf-dist/tex/latex/yquant/yquant-env.tex @@ -259,17 +259,9 @@ \listremove\noexpand\redolist{#1}% \expandafter\noexpand\csname yquant@env@end@calcypositions@#1@\i\endcsname% \expandafter\unless\expandafter\ifx\csname\yquant@prefix subcircuits\endcsname\empty% - \ifinlist{#1}\noexpand\redolist{% - \noexpand\forlistloop% - \yquant@env@end@calcypositions@run% - \expandafter\noexpand\csname\yquant@prefix subcircuits\endcsname% - }{% - \noexpand\ifyquant@env@end@calcypositions@godeep% - \noexpand\forlistloop% - \yquant@env@end@calcypositions@run% - \expandafter\noexpand\csname\yquant@prefix subcircuits\endcsname% - \noexpand\fi% - }% + \noexpand\forlistloop% + \yquant@env@end@calcypositions@run% + \expandafter\noexpand\csname\yquant@prefix subcircuits\endcsname% \fi% }% % END_FOLD @@ -416,8 +408,20 @@ \csname yquant@env@end@calcypositions@#1\endcsname% } +\protected\def\yquant@env@end@calcypositions@redo@min#1{% + \ifnum#1<\redoitem\space % + \def\redoitem{#1}% + \fi% +} + \protected\def\yquant@env@end@calcypositions@redo{% - \forlistloop\yquant@env@end@calcypositions@run\redolist% + % instead of looping through the list, we only check the lowest item - since running it may actually remove some other items from the list. Note that the lowest item is not necessarily the outermost, but for sure the topmost wire that should be redone is contained in it. + \unless\ifx\redolist\empty% + \def\redoitem{2147483647}% + \forlistloop\yquant@env@end@calcypositions@redo@min\redolist% + % this will automatically remove the item from the list + \expandafter\yquant@env@end@calcypositions@run\expandafter{\redoitem}% + \fi% \unless\ifx\redolist\empty% \expandafter\yquant@env@end@calcypositions@redo% \fi% |