summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/base/if-macros.opm
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-02-10 03:01:13 +0000
committerNorbert Preining <norbert@preining.info>2021-02-10 03:01:13 +0000
commit7428e668f046bec10d1200214789e40390fa51e7 (patch)
treed28de61e9d3ed96c80ebf2300d0ba3d6a76414e6 /macros/luatex/optex/base/if-macros.opm
parent1350502b809c028b8f123dec94ca92782eda564f (diff)
CTAN sync 202102100301
Diffstat (limited to 'macros/luatex/optex/base/if-macros.opm')
-rw-r--r--macros/luatex/optex/base/if-macros.opm14
1 files changed, 9 insertions, 5 deletions
diff --git a/macros/luatex/optex/base/if-macros.opm b/macros/luatex/optex/base/if-macros.opm
index 0e7e401558..462e496017 100644
--- a/macros/luatex/optex/base/if-macros.opm
+++ b/macros/luatex/optex/base/if-macros.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \newif {Special if-macros, is-macros and loops <2020-05-22>} % preloaded in format
+\_codedecl \newif {Special if-macros, is-macros and loops <2021-02-03>} % preloaded in format
\_doc ----------------------------
\secc Classical \code{\\newif}
@@ -55,7 +55,7 @@
\_cod ----------------------------
\_long\_def \_loop #1\_repeat{\_def\_body{#1}\_iterate}
-\_def \loop #1\repeat{\_def\_body{#1}\_iterate}
+\_long\_def \loop #1\repeat{\_def\_body{#1}\_iterate}
\_let \_repeat=\_fi % this makes \loop...\if...\repeat skippable
\_let \repeat=\_fi
\_def \_iterate {\_body \_ea \_iterate \_fi}
@@ -93,7 +93,7 @@
\_def\_testparam#1#2#3\_iftrue{\_ifx###1\_empty\_ea\_finbody\_else}
\_def\_finbody#1\_finbody{}
-\_def\foreach #1\do#2#{\_isempty{#2}\_iftrue
+\_long\_def\foreach #1\do#2#{\_isempty{#2}\_iftrue
\_afterfi{\_foreachA{#1}{##1}}\_else\_afterfi{\_foreachA{#1}{#2}}\_fi}
\_doc -----------------------------
@@ -147,15 +147,18 @@
\_sxdef{_frnum:\_the\_forlevel\_ea}{\_the\_frnum}%
\_global\_slet{_fbody:\_the\_forlevel}{_fbody}%
\_fi
- \_global\_advance\_forlevel by1
+ \_incr\_forlevel
}}
\_def\_getforstack{\_immediateassigned{%
- \_global\_advance\_forlevel by-1
+ \_decr\_forlevel
\_ifnum\_forlevel>0
\_global\_slet{_fbody}{_fbody:\_the\_forlevel}%
\_global\_frnum=\_cs{_frnum:\_the\_forlevel}\_space
\_fi
}}
+\_ifx\_immediateassignment\_undefined % for compatibility with older LuaTeX
+ \_let\_immediateassigned=\_useit \_let\_immediateassignment=\_empty
+\_fi
\_doc ----------------------------
User can define own expandable \"foreach" macro by
@@ -301,6 +304,7 @@
\_endcode
+2021-02-03 public version of \loop and \foreach are \long
2020-05-22 \foreach, \fornum: all settings are global, independent on TeX group
2020-05-06 \isnextchar: \let\tmp=#1 -> \let\tmp= #1 (bug fix, #1 should be space)
2020-05-02 \newif bug fix