summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkii/mult-ro.mkii1
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/mult-def.lua3
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin26101 -> 26100 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin253610 -> 253608 bytes
-rw-r--r--tex/context/base/mkiv/strc-doc.lua1
-rw-r--r--tex/context/base/mkiv/strc-lst.lua1
-rw-r--r--tex/context/base/mkiv/strc-ref.lua2
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/core-env.mkxl8
-rw-r--r--tex/context/base/mkxl/math-ali.mkxl26
-rw-r--r--tex/context/base/mkxl/strc-con.mklx42
-rw-r--r--tex/context/base/mkxl/strc-sec.mkxl49
-rw-r--r--tex/context/base/mkxl/syst-aux.mkxl104
-rw-r--r--tex/context/interface/mkii/keys-ro.xml1
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
20 files changed, 124 insertions, 128 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 146a3ad9c..256006f2f 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2020.12.18 18:28}
+\newcontextversion{2020.12.21 09:32}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index b036f7229..e0b7329fd 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2020.12.18 18:28}
+\edef\contextversion{2020.12.21 09:32}
%D For those who want to use this:
diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii
index 997c3f4ab..21c69669f 100644
--- a/tex/context/base/mkii/mult-ro.mkii
+++ b/tex/context/base/mkii/mult-ro.mkii
@@ -1131,6 +1131,7 @@
\setinterfaceconstant{reference}{referinta}
\setinterfaceconstant{referencemethod}{referencemethod}
\setinterfaceconstant{referenceprefix}{referenceprefix}
+\setinterfaceconstant{referencetext}{referencetext}
\setinterfaceconstant{referencing}{referinta}
\setinterfaceconstant{region}{region}
\setinterfaceconstant{regionin}{regiuneintrare}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 2e7c722bf..0497d4005 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2020.12.18 18:28}
+\newcontextversion{2020.12.21 09:32}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 59cc03096..73324b92f 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2020.12.18 18:28}
+\edef\contextversion{2020.12.21 09:32}
%D Kind of special:
diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua
index 661a444de..f9f233892 100644
--- a/tex/context/base/mkiv/mult-def.lua
+++ b/tex/context/base/mkiv/mult-def.lua
@@ -11027,6 +11027,9 @@ return {
["en"]="referencemethod",
["fr"]="methodereference",
},
+ ["referencetext"]={
+ ["en"]="referencetext",
+ },
["referenceprefix"]={
["en"]="referenceprefix",
["fr"]="prefixereference",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index b58ba82d8..2c9f519e0 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 069320e47..06cc3bd93 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-doc.lua b/tex/context/base/mkiv/strc-doc.lua
index aadbd8a90..5cb207c38 100644
--- a/tex/context/base/mkiv/strc-doc.lua
+++ b/tex/context/base/mkiv/strc-doc.lua
@@ -1160,6 +1160,7 @@ implement {
{ "bookmark" },
{ "marking" },
{ "list" },
+ { "reference" },
}
},
{ "numberdata", {
diff --git a/tex/context/base/mkiv/strc-lst.lua b/tex/context/base/mkiv/strc-lst.lua
index fdbb97873..a6799d80f 100644
--- a/tex/context/base/mkiv/strc-lst.lua
+++ b/tex/context/base/mkiv/strc-lst.lua
@@ -1054,6 +1054,7 @@ implement {
{ "bookmark" },
{ "marking" },
{ "list" },
+ { "reference" },
}
},
{ "prefixdata", {
diff --git a/tex/context/base/mkiv/strc-ref.lua b/tex/context/base/mkiv/strc-ref.lua
index fb4d22807..4203e6aac 100644
--- a/tex/context/base/mkiv/strc-ref.lua
+++ b/tex/context/base/mkiv/strc-ref.lua
@@ -2289,7 +2289,7 @@ function genericfilters.title(data)
if data then
local titledata = data.titledata or data.useddata
if titledata then
- helpers.title(titledata.title or "?",data.metadata)
+ helpers.title(titledata.reference or titledata.title or "?",data.metadata)
end
end
end
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index e93c21f01..448809e0f 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2020.12.18 18:28}
+\newcontextversion{2020.12.21 09:32}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index 9f7bc755f..90fe9c913 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\immutable\edef\contextformat {\jobname}
-\immutable\edef\contextversion{2020.12.18 18:28}
+\immutable\edef\contextversion{2020.12.21 09:32}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/core-env.mkxl b/tex/context/base/mkxl/core-env.mkxl
index ccb5b665e..c90b92f22 100644
--- a/tex/context/base/mkxl/core-env.mkxl
+++ b/tex/context/base/mkxl/core-env.mkxl
@@ -750,8 +750,6 @@
\permanent\tolerant\protected\def\defineselector[#1]#*[#2]{\getparameters[\??selector#1][\c!max=\plusone,\c!n=\plusone,#2]}
\permanent\tolerant\protected\def\setupselector [#1]#*[#2]{\getparameters[\??selector#1][#2]}
-\permanent\protected\let\select\directselect % we promote to protected
-
% \def\directselect#1% expandable
% {\filterfromnext % maybe add an \expanded
% {\csname\??selector\ifcsname\??selector#1\c!max\endcsname#1\fi\c!max\endcsname}%
@@ -764,7 +762,9 @@
\csname\??selector\ifcsname\??selector#1\c!max\endcsname#1\fi\c!max\expandafter\endcsname
\csname\??selector\ifcsname\??selector#1\c!n \endcsname#1\fi\c!n \endcsname}
-\letvalue{\??selector\c!max}\plusone % \aliased ?
-\letvalue{\??selector\c!n }\plusone % \aliased ?
+\permanent\protected\let\select\directselect % we promote to protected
+
+\letcsname\??selector\c!max\endcsname\plusone
+\letcsname\??selector\c!n \endcsname\plusone
\protect \endinput
diff --git a/tex/context/base/mkxl/math-ali.mkxl b/tex/context/base/mkxl/math-ali.mkxl
index d7d7088c1..a8b0fa113 100644
--- a/tex/context/base/mkxl/math-ali.mkxl
+++ b/tex/context/base/mkxl/math-ali.mkxl
@@ -660,8 +660,8 @@
\c!right={\right.}]
\appendtoks
- \frozen\instance\setuevalue{\e!start\currentmathcases}{\math_cases_start[\currentmathcases]}%
- \frozen\instance\setvalue {\e!stop \currentmathcases}{\math_cases_stop}%
+ \frozen\instance\protected\edefcsname\e!start\currentmathcases\endcsname{\math_cases_start[\currentmathcases]}%
+ \frozen\instance \defcsname \e!stop \currentmathcases\endcsname{\math_cases_stop}%
\to \everydefinemathcases
\permanent\protected\def\math_cases_NC_zero
@@ -812,8 +812,9 @@
\c!rulethickness=\linewidth]
\appendtoks
- \frozen\instance\setuevalue{\e!start\currentmathmatrix}{\math_matrix_start[\currentmathmatrix]}%
- \frozen\instance\setvalue {\e!stop \currentmathmatrix}{\math_matrix_stop}% no u else lookahead problem
+ \frozen\instance\protected\edefcsname\e!start\currentmathmatrix\endcsname{\math_matrix_start[\currentmathmatrix]}%
+ % \noaligned\protected should work here:
+ \frozen\instance \defcsname \e!stop \currentmathmatrix\endcsname{\math_matrix_stop}% no u else lookahead problem
\to \everydefinemathmatrix
\def\math_matrix_start_table
@@ -825,12 +826,23 @@
{\dostoptagged
\dostoptagged}
+% \def\math_matrix_start_row
+% {\noalign{\global\c_math_eqalign_column\zerocount}%
+% \dostarttagged\t!mtablerow\empty}
+%
+% \def\math_matrix_stop_row
+% {\dostoptagged}
+
\def\math_matrix_start_row
- {\noalign{\global\c_math_eqalign_column\zerocount}%
- \dostarttagged\t!mtablerow\empty}
+ {\beginlocalcontrol
+ \global\c_math_eqalign_column\zerocount
+ \dostarttagged\t!mtablerow\empty
+ \endlocalcontrol}
\def\math_matrix_stop_row
- {\dostoptagged}
+ {\beginlocalcontrol
+ \dostoptagged
+ \endlocalcontrol}
\protected\def\math_matrix_start_cell
{\dostarttagged\t!mtablecell\empty
diff --git a/tex/context/base/mkxl/strc-con.mklx b/tex/context/base/mkxl/strc-con.mklx
index ddaa9e570..d64be35f0 100644
--- a/tex/context/base/mkxl/strc-con.mklx
+++ b/tex/context/base/mkxl/strc-con.mklx
@@ -122,6 +122,7 @@
\mutable\let\currentconstructionmarking \empty
\mutable\let\currentconstructionnumber \empty
\mutable\let\currentconstructionreference \empty
+\mutable\let\currentconstructionreferencetext \empty
\mutable\let\currentconstructionreferenceprefix\empty
\mutable\let\currentconstructionsynchronize \empty
\mutable\let\currentconstructiontitle \empty
@@ -157,7 +158,7 @@
\tolerant\protected\def\strc_constructions_start[#1]#*[#2]#*[#3]%
{\begingroup
\strc_constructions_initialize{#1}%
- \strc_constructions_register[#3][\c!label={\constructionparameter\c!text},\c!reference=,\c!title=,\c!bookmark=,\c!list=,#2]%
+ \strc_constructions_register[#3][\c!label={\constructionparameter\c!text},\c!reference=,\c!title=,\c!bookmark=,\c!list=,\c!referencetext=,#2]%
\csname\??constructionstarthandler\currentconstructionhandler\endcsname}
\protected\def\strc_constructions_stop
@@ -1030,6 +1031,7 @@
\xdef\currentconstructioncatcodes {\constructionparameter\s!catcodes}%
\xdef\currentconstructionlabel {\constructionparameter\c!label}%
\xdef\currentconstructionreference {\constructionparameter\c!reference}%
+ \xdef\currentconstructionreferencetext {\constructionparameter\c!referencetext}%
\xdef\currentconstructionreferenceprefix{\constructionparameter\c!referenceprefix}%
%xdef\currentconstructionshownumber {\constructionparameter\c!number}%
\xdef\currentconstructionincrementnumber{\constructionparameter\c!incrementnumber}%
@@ -1043,10 +1045,11 @@
\fi
\ifx\currentconstructionexpansion\s!xml
\xmlstartraw
- \xdef\currentconstructiontitle {\constructionparameter\c!title}%
- \xdef\currentconstructionbookmark{\constructionparameter\c!bookmark}%
- \xdef\currentconstructionmarking {\constructionparameter\c!marking}%
- \xdef\currentconstructionlist {\constructionparameter\c!list}%
+ \xdef\currentconstructiontitle {\constructionparameter\c!title}%
+ \xdef\currentconstructionbookmark {\constructionparameter\c!bookmark}%
+ \xdef\currentconstructionmarking {\constructionparameter\c!marking}%
+ \xdef\currentconstructionlist {\constructionparameter\c!list}%
+ \xdef\currentconstructionreferencetext{\constructionparameter\c!referencetext}%
\xmlstopraw
\ifempty\currentconstructionlist
\glet\currentconstructionlist\currentconstructiontitle
@@ -1054,15 +1057,17 @@
\glet\currentconstructioncoding\s!xml
\else
\ifx\currentconstructionexpansion\v!yes
- \xdef\currentconstructiontitle {\constructionparameter\c!title}%
- \xdef\currentconstructionbookmark{\constructionparameter\c!bookmark}%
- \xdef\currentconstructionmarking {\constructionparameter\c!marking}%
- \xdef\currentconstructionlist {\constructionparameter\c!list}%
+ \xdef\currentconstructiontitle {\constructionparameter\c!title}%
+ \xdef\currentconstructionbookmark {\constructionparameter\c!bookmark}%
+ \xdef\currentconstructionmarking {\constructionparameter\c!marking}%
+ \xdef\currentconstructionlist {\constructionparameter\c!list}%
+ \xdef\currentconstructionreferencetext{\constructionparameter\c!referencetext}%
\else
- \xdef\currentconstructiontitle {\detokenizedconstructionparameter\c!title}%
- \xdef\currentconstructionbookmark{\detokenizedconstructionparameter\c!bookmark}%
- \xdef\currentconstructionmarking {\detokenizedconstructionparameter\c!marking}%
- \xdef\currentconstructionlist {\detokenizedconstructionparameter\c!list}%
+ \xdef\currentconstructiontitle {\detokenizedconstructionparameter\c!title}%
+ \xdef\currentconstructionbookmark {\detokenizedconstructionparameter\c!bookmark}%
+ \xdef\currentconstructionmarking {\detokenizedconstructionparameter\c!marking}%
+ \xdef\currentconstructionlist {\detokenizedconstructionparameter\c!list}%
+ \xdef\currentconstructionreferencetext{\detokenizedconstructionparameter\c!referencetext}%
\iflocation \ifempty\currentconstructionbookmark
\begingroup
\simplifycommands
@@ -1104,13 +1109,16 @@
% section structures.sections.currentid(),
}
titledata {
- label {\detokenize\expandafter{\currentconstructionlabel}}
- title {\detokenize\expandafter{\currentconstructiontitle}}
+ label {\detokenize\expandafter{\currentconstructionlabel}}
+ title {\detokenize\expandafter{\currentconstructiontitle}}
\ifx\currentconstructionbookmark\currentconstructiontitle \else
- bookmark {\detokenize\expandafter{\currentconstructionbookmark}}
+ bookmark {\detokenize\expandafter{\currentconstructionbookmark}}
+ \fi
+ \ifx\currentconstructionreferencetext\currentconstructiontitle \else
+ reference {\detokenize\expandafter{\currentconstructionreferencetext}}
\fi
\ifx\currentconstructionlist\currentconstructiontitle \else
- list {\detokenize\expandafter{\currentconstructionlist}}
+ list {\detokenize\expandafter{\currentconstructionlist}}
\fi
}
\ifconditional\c_strc_constructions_number_state
diff --git a/tex/context/base/mkxl/strc-sec.mkxl b/tex/context/base/mkxl/strc-sec.mkxl
index 9025b9930..81e0248e6 100644
--- a/tex/context/base/mkxl/strc-sec.mkxl
+++ b/tex/context/base/mkxl/strc-sec.mkxl
@@ -29,10 +29,11 @@
\c!level=,
\c!name=,
\c!title=,
- \c!bookmark=,
- \c!marking=,
- \c!list=,
- \c!label=,
+ \c!bookmark=, % no real need, default to empty anyway
+ \c!marking=, % no real need, default to empty anyway
+ \c!list=, % no real need, default to empty anyway
+ \c!referencetext=, % no real need, default to empty anyway
+ \c!label=, % no real need, default to empty anyway
\c!coupling=,
\c!ownnumber=,
% \c!interaction=\v!list,
@@ -158,10 +159,11 @@
\xdef\currentstructureplaceholder {\structureparameter\c!placeholder}%
\ifx\currentstructureexpansion\s!xml
\xmlstartraw
- \xdef\currentstructuretitle {\structureparameter\c!title}%
- \xdef\currentstructurebookmark{\structureparameter\c!bookmark}%
- \xdef\currentstructuremarking {\structureparameter\c!marking}%
- \xdef\currentstructurelist {\structureparameter\c!list}%
+ \xdef\currentstructuretitle {\structureparameter\c!title}%
+ \xdef\currentstructurebookmark {\structureparameter\c!bookmark}%
+ \xdef\currentstructuremarking {\structureparameter\c!marking}%
+ \xdef\currentstructurelist {\structureparameter\c!list}%
+ \xdef\currentstructurereferencetext{\structureparameter\c!referencetext}%
\xmlstopraw
\iflocation \ifempty\currentstructurebookmark \ifconditional\c_strc_bookmarks_preroll
\strc_sectioning_autobookmark\currentstructuretitle
@@ -172,18 +174,20 @@
\glet\currentstructurecoding\s!xml
\else
\ifx\currentstructureexpansion\v!yes
- \xdef\currentstructuretitle {\structureparameter\c!title}%
- \xdef\currentstructurebookmark{\structureparameter\c!bookmark}%
- \xdef\currentstructuremarking {\structureparameter\c!marking}%
- \xdef\currentstructurelist {\structureparameter\c!list}%
+ \xdef\currentstructuretitle {\structureparameter\c!title}%
+ \xdef\currentstructurebookmark {\structureparameter\c!bookmark}%
+ \xdef\currentstructuremarking {\structureparameter\c!marking}%
+ \xdef\currentstructurelist {\structureparameter\c!list}%
+ \xdef\currentstructurereferencetext{\structureparameter\c!referencetext}%
\iflocation \ifempty\currentstructurebookmark \ifconditional\c_strc_bookmarks_preroll
\strc_sectioning_autobookmark\currentstructuretitle
\fi \fi \fi
\else
- \xdef\currentstructuretitle {\detokenizedstructureparameter\c!title}%
- \xdef\currentstructurebookmark{\detokenizedstructureparameter\c!bookmark}%
- \xdef\currentstructuremarking {\detokenizedstructureparameter\c!marking}%
- \xdef\currentstructurelist {\detokenizedstructureparameter\c!list}%
+ \xdef\currentstructuretitle {\detokenizedstructureparameter\c!title}%
+ \xdef\currentstructurebookmark {\detokenizedstructureparameter\c!bookmark}%
+ \xdef\currentstructuremarking {\detokenizedstructureparameter\c!marking}%
+ \xdef\currentstructurelist {\detokenizedstructureparameter\c!list}%
+ \xdef\currentstructurereferencetext{\detokenizedstructureparameter\c!referencetext}%
\iflocation \ifempty\currentstructurebookmark
\ifconditional\c_strc_bookmarks_preroll
\strc_sectioning_autobookmark{\structureparameter\c!title}%
@@ -233,19 +237,22 @@
\fi
}
titledata {
- label {\detokenize\expandafter{\currentstructurelabel}}
- title {\detokenize\expandafter{\currentstructuretitle}}
+ label {\detokenize\expandafter{\currentstructurelabel}}
+ title {\detokenize\expandafter{\currentstructuretitle}}
\ifx\currentstructurebookmark\currentstructuretitle \else
- bookmark {\detokenize\expandafter{\currentstructurebookmark}}
+ bookmark {\detokenize\expandafter{\currentstructurebookmark}}
\fi
\ifx\currentstructuremarking\currentstructuretitle \else
- marking {\detokenize\expandafter{\currentstructuremarking}}
+ marking {\detokenize\expandafter{\currentstructuremarking}}
\fi
\ifx\currentstructuresaveinlist\v!no \else
\ifx\currentstructurelist\currentstructuretitle \else
- list {\detokenize\expandafter{\currentstructurelist}}
+ list {\detokenize\expandafter{\currentstructurelist}}
\fi
\fi
+ \ifx\currentstructurereferencetext\currentstructuretitle \else
+ reference {\detokenize\expandafter{\currentstructurereferencetext}}
+ \fi
}
numberdata {
% block {\currentsectionblock}
diff --git a/tex/context/base/mkxl/syst-aux.mkxl b/tex/context/base/mkxl/syst-aux.mkxl
index 7b1b889c3..9dea8e5bb 100644
--- a/tex/context/base/mkxl/syst-aux.mkxl
+++ b/tex/context/base/mkxl/syst-aux.mkxl
@@ -5169,36 +5169,17 @@
%D \definesomething[alfa,beta,...][variable=...,...]
%D \stoptyping
-%% \let\syst_helpers_with_set_step\relax
-%% \let\m_syst_helpers_with_set_command\empty
-%%
-%% \def\syst_helpers_with_set_double[#1][#2]%
-%% {\doifsomething{#1}%
-%% {\def\syst_helpers_with_set_step##1{\m_syst_helpers_with_set_command[##1][#2]}%
-%% \processcommalist[#1]\syst_helpers_with_set_step}}
-%%
-%% \def\syst_helpers_with_set_triple[#1][#2][#3]%
-%% {\doifsomething{#1}%
-%% {\def\syst_helpers_with_set_step##1{\m_syst_helpers_with_set_command[##1][#2][#3]}%
-%% \processcommalist[#1]\syst_helpers_with_set_step}}
-%%
-%% \def\dodoubleemptywithset #1{\let\m_syst_helpers_with_set_command#1\dodoubleempty \syst_helpers_with_set_double} % \command
-%% \def\dodoubleargumentwithset#1{\let\m_syst_helpers_with_set_command#1\dodoubleargument\syst_helpers_with_set_double} % \command
-%%
-%% \def\dotripleemptywithset #1{\let\m_syst_helpers_with_set_command#1\dotripleempty \syst_helpers_with_set_triple} % \command
-%% \def\dotripleargumentwithset#1{\let\m_syst_helpers_with_set_command#1\dotripleargument\syst_helpers_with_set_triple} % \command
-
\let\syst_helpers_with_set_step\relax % maybe push pop
\permanent\tolerant\protected\def\dodoubleemptywithset#1#*[#2]#*[#3]%
{\doifsomething{#2}%
{\def\syst_helpers_with_set_step##1{#1[##1][#3]}%
- \processcommalist[#1]\syst_helpers_with_set_step}}
+ \processcommalist[#2]\syst_helpers_with_set_step}}
\permanent\tolerant\protected\def\dotripleemptywithset#1#*[#2]#*[#3]#*[#4]%
{\doifsomething{#2}%
{\def\syst_helpers_with_set_step##1{#1[##1][#3][#4]}%
- \processcommalist[#1]\syst_helpers_with_set_step}}
+ \processcommalist[#2]\syst_helpers_with_set_step}}
\aliased\let\dodoubleargumentwithset\dodoubleemptywithset
\aliased\let\dotripleargumentwithset\dotripleemptywithset
@@ -5918,7 +5899,7 @@
\permanent\def\purenumber#1{\expandafter\firstofoneargument\expandafter{\number#1}}
%D \macros
-%D {filterfromvalue}
+%D {filterfromvalue, filterfromnext}
%D
%D \starttyping
%D \setvalue{xx}{{A}{B}{C}}
@@ -5927,59 +5908,40 @@
%D \filterfromvalue{xx}{3}{2}
%D \filterfromvalue{xx}{3}{1}
%D \stoptyping
-%D
-%D An alternative is to store 'max' in the list, say:
-%D
-%D \starttyping
-%D \setvalue{xx}{3{A}{B}{C}}
-%D
-%D \filterfromvalues{3}{xx}{3}
-%D \filterfromvalues{3}{xx}{2}
-%D \filterfromvalues{3}{xx}{1}
-%D \stoptyping
-%D
-%D I'll implement this when I'm in \quotation {writing dirty macros mood}.
-
-\permanent\def\dofilterfromstr#1#2% max n % no need to be fast
- {\expandafter \expandafter \expandafter \csstring
- \ifcase#1\or \ifcase#2\or
- \firstofoneargument \else
- \gobbleoneargument \fi
- \or \ifcase#2\or
- \firstoftwoarguments \or
- \secondoftwoarguments \else
- \gobbletwoarguments \fi
- \or \ifcase#2\or
- \firstofthreearguments \or
- \secondofthreearguments \or
- \thirdofthreearguments \else
- \gobblethreearguments \fi
- \or \ifcase#2\or
- \firstoffourarguments \or
- \secondoffourarguments \or
- \thirdoffourarguments \or
- \fourthoffourarguments \else
- \gobblefourarguments \fi
- \or \ifcase#2\or
- \firstoffivearguments \or
- \secondoffivearguments \or
- \thirdoffivearguments \or
- \fourthoffivearguments \or
- \fifthoffivearguments \else
- \gobblefivearguments \fi
+
+% can be sped up with ignored arguments
+
+\def\syst_filter_from_next_yes#1%
+ {\advance\scratchcounterone\plusone
+ \ifnum\scratchcounterone=\scratchcountertwo
+ \scratchtoks{#1}%
+ \fi
+ \ifnum\scratchcounterone=\scratchcounterthree
+ \expandafter\syst_filter_from_next_nop
+ \else
+ \expandafter\syst_filter_from_next_yes
\fi}
-\permanent\def\filterfromvalue#1#2#3% value max n
- {\expandafter\doubleexpandafter\csname % we use the fact that an
- \expandafter\ifrelax\csname#1\endcsname % undefined cs has become \relax
- \csstring\gobbleoneargument % which we then gobble here
- \else
- \dofilterfromstr{#2}{#3}%
- \fi
- \endcsname\csname#1\endcsname}
+\def\syst_filter_from_next_nop
+ {\expandafter\endgroup
+ \expandafter\endlocalcontrol
+ \the\scratchtoks}
\permanent\def\filterfromnext#1#2% max n {..}{..}{..}{..}
- {\csname\dofilterfromstr{#1}{#2}\endcsname}
+ {\beginlocalcontrol
+ \begingroup
+ \scratchcounterone \zerocount
+ \scratchcountertwo #2%
+ \scratchcounterthree #1%
+ \syst_filter_from_next_yes}
+
+\permanent\def\filterfromvalue#1#2#3% max n {..}{..}{..}{..}
+ {\beginlocalcontrol
+ \begingroup
+ \scratchcounterone \zerocount
+ \scratchcountertwo #3%
+ \scratchcounterthree #2%
+ \expandafter\expandafter\expandafter\syst_filter_from_next_yes\csname#1\endcsname}
%D \macros
%D {definemeasure}
diff --git a/tex/context/interface/mkii/keys-ro.xml b/tex/context/interface/mkii/keys-ro.xml
index 6d215d6c3..ef5c385fc 100644
--- a/tex/context/interface/mkii/keys-ro.xml
+++ b/tex/context/interface/mkii/keys-ro.xml
@@ -1137,6 +1137,7 @@
<cd:constant name='reference' value='referinta'/>
<cd:constant name='referencemethod' value='referencemethod'/>
<cd:constant name='referenceprefix' value='referenceprefix'/>
+ <cd:constant name='referencetext' value='referencetext'/>
<cd:constant name='referencing' value='referinta'/>
<cd:constant name='region' value='region'/>
<cd:constant name='regionin' value='regiuneintrare'/>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 479ac5491..2b9335285 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 2020-12-18 18:28
+-- merge date : 2020-12-21 09:32
do -- begin closure to overcome local limits and interference