From 08c08ff0cd57eee0e785cb322841e3a805ffbdf3 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 25 Nov 2020 20:13:53 +0100 Subject: 2020-11-25 19:18:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkii/mult-cs.mkii | 5 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/mult-prm.lua | 1 + tex/context/base/mkiv/status-files.pdf | Bin 26177 -> 26171 bytes tex/context/base/mkiv/status-lua.pdf | Bin 256376 -> 256373 bytes tex/context/base/mkxl/cont-new.mkxl | 2 +- tex/context/base/mkxl/context.mkxl | 2 +- tex/context/base/mkxl/mult-aux.mkxl | 12 ++--- tex/context/base/mkxl/pack-rul.mkxl | 6 ++- tex/context/base/mkxl/spac-ali.mkxl | 18 ++++--- tex/context/base/mkxl/spac-hor.mkxl | 60 ++++++++++----------- tex/context/base/mkxl/syst-aux.mkxl | 57 ++++++++++++++------ tex/context/base/mkxl/syst-ini.mkxl | 21 ++++++-- tex/context/interface/mkii/keys-cs.xml | 5 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 18 files changed, 122 insertions(+), 77 deletions(-) (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 07b8c55e1..8850e72b4 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.11.25 16:53} +\newcontextversion{2020.11.25 19:15} %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 d3a0b269a..f78f5091b 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.11.25 16:53} +\edef\contextversion{2020.11.25 19:15} %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-cs.mkii b/tex/context/base/mkii/mult-cs.mkii index 290ae510e..d2a51a8ab 100644 --- a/tex/context/base/mkii/mult-cs.mkii +++ b/tex/context/base/mkii/mult-cs.mkii @@ -774,6 +774,7 @@ \setinterfaceconstant{deepnumbercommand}{deepnumbercommand} \setinterfaceconstant{deeptextcommand}{deeptextcommand} \setinterfaceconstant{default}{implicitni} +\setinterfaceconstant{define}{define} \setinterfaceconstant{delay}{prodleva} \setinterfaceconstant{depth}{hloubka} \setinterfaceconstant{depthcorrection}{korekcehloubky} @@ -2073,7 +2074,7 @@ \setinterfacecommand{startnarrower}{startzuzeni} \setinterfacecommand{startopposite}{startprotejsek} \setinterfacecommand{startoverlay}{startprekryv} -\setinterfacecommand{startoverzicht}{startprehled} +\setinterfacecommand{startoverview}{startprehled} \setinterfacecommand{startpacked}{startzhustene} \setinterfacecommand{startpositioning}{startumistovani} \setinterfacecommand{startproduct}{startprodukt} @@ -2116,7 +2117,7 @@ \setinterfacecommand{stopnarrower}{stopzuzeni} \setinterfacecommand{stopopposite}{stopprotejsek} \setinterfacecommand{stopoverlay}{stopprekryv} -\setinterfacecommand{stopoverzicht}{stopprehled} +\setinterfacecommand{stopoverview}{stopprehled} \setinterfacecommand{stoppacked}{stopzhustene} \setinterfacecommand{stoppositioning}{stopumistovani} \setinterfacecommand{stopproduct}{stopprodukt} diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index f0ee92bc2..4de3b29d1 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.11.25 16:53} +\newcontextversion{2020.11.25 19:15} %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 2f64747a9..ae19843a1 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.11.25 16:53} +\edef\contextversion{2020.11.25 19:15} %D Kind of special: diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index c60ed1640..725253995 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -328,6 +328,7 @@ return { "ifnumval", "ifparameter", "ifparameters", + "ifrelax", "iftok", "ignorearguments", "ignorepars", diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index e6b9a8894..562e5aaf1 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 75f6a775a..d1d6664ec 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl index facf1f03a..d06f31f89 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.11.25 16:53} +\newcontextversion{2020.11.25 19:15} %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 1c9a0c02f..ee7d92bee 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. \edef\contextformat {\jobname} -\edef\contextversion{2020.11.25 16:53} +\edef\contextversion{2020.11.25 19:15} %overloadmode 1 % check frozen / warning %overloadmode 2 % check frozen / error diff --git a/tex/context/base/mkxl/mult-aux.mkxl b/tex/context/base/mkxl/mult-aux.mkxl index 9c8613783..4bf682a78 100644 --- a/tex/context/base/mkxl/mult-aux.mkxl +++ b/tex/context/base/mkxl/mult-aux.mkxl @@ -196,9 +196,6 @@ \mult_interfaces_adef\m_mult_interfaces_namespace{#1}{#2}% \fi} -% \def\mult_interfaces_get_parameters_item_error#0#0#0#4#5% -% {\if,#5\else\mult_interfaces_get_parameters_error_indeed{#4}{#5}\fi} - \def\mult_interfaces_get_parameters_item_error#-#-#-#1#2% {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi} @@ -276,7 +273,8 @@ \protected\def\mult_interfaces_install_parameter_handler#1#2#3#4#5#6#7#8#9% {\frozen\def#3##1{\csname\ifcsname#1#2:##1\endcsname#1#2:##1\else\expandafter#5\csname#1#2:\s!parent\endcsname{##1}\fi\endcsname}% \frozen\def#4##1##2{\ifcsname##1:##2\endcsname##1:##2\else\expandafter#5\csname##1:\s!parent\endcsname{##2}\fi}% - \frozen\edef#5##1##2{\noexpand\ifx##1\relax\??empty\noexpand\else\noexpand#4##1{##2}\noexpand\fi}% is {} needed around ##1 ? +% \frozen\edef#5##1##2{\noexpand\ifx##1\relax\??empty\noexpand\else\noexpand#4##1{##2}\noexpand\fi}% is {} needed around ##1 ? + \frozen\edef#5##1##2{\noexpand\ifrelax##1\??empty\noexpand\else\noexpand#4##1{##2}\noexpand\fi}% is {} needed around ##1 ? \frozen\def#6##1##2{\csname\ifcsname#1##1:##2\endcsname#1##1:##2\else\expandafter#5\csname#1##1:\s!parent\endcsname{##2}\fi\endcsname}% \frozen\def#7##1{\detokenize\expandafter\expandafter\expandafter{\csname#1#2:##1\endcsname}}% always root, no backtrack \frozen\def#8##1{\begincsname#1#2:##1\endcsname}% @@ -311,7 +309,8 @@ \protected\def\mult_interfaces_install_parameter_hash_handler#1#2#3#4#5#6#7#8#9% {\frozen\def#3##1{#1#4{#1#2}{##1}:}% leading #1 was missing .. is this one used? \frozen\def#4##1##2{\ifcsname##1:##2\endcsname##1\else\expandafter#5\csname##1:\s!parent\endcsname{##2}\fi}% - \frozen\def#5##1##2{\ifx##1\relax\else#4##1{##2}\fi}% +% \frozen\def#5##1##2{\ifx##1\relax\else#4##1{##2}\fi}% + \frozen\def#5##1##2{\ifrelax##1\else#4##1{##2}\fi}% \frozen\def#6{#1#2:}% \frozen\def#7##1{#1##1:}% \frozen\def#8{\ifempty#2\orelse\ifcsname#1#2:\s!parent\endcsname\else\letcsname#1#2:\s!parent\endcsname#1\fi}% @@ -1006,7 +1005,8 @@ \let#6\empty \protected\def#2% {\expandafter\let\expandafter\c_mult_set\csname #1_t_#6\endcsname - \ifx\c_mult_set\relax +% \ifx\c_mult_set\relax + \ifrelax\c_mult_set \expandafter\newtoks\c_mult_set \letcsname#1_t_#6\endcsname\c_mult_set \fi} diff --git a/tex/context/base/mkxl/pack-rul.mkxl b/tex/context/base/mkxl/pack-rul.mkxl index 28fed1c51..21ba03040 100644 --- a/tex/context/base/mkxl/pack-rul.mkxl +++ b/tex/context/base/mkxl/pack-rul.mkxl @@ -82,7 +82,8 @@ \expandafter\noexpand\csname inherited#1framedbox\endcsname}} % new \protected\def\mult_interfaces_install_inherited_framed#1#2#3#4#5#6#7#8#9% - {\enforced\frozen\def#5##1##2{\ifx##1\relax#6{##2}\else#4{##1}{##2}\fi}% +% {\enforced\frozen\def#5##1##2{\ifx##1\relax#6{##2}\else#4{##1}{##2}\fi}% + {\enforced\frozen\def#5##1##2{\ifrelax##1#6{##2}\else#4{##1}{##2}\fi}% \enforced\frozen\def#6##1{\ifcsname\??framed:##1\endcsname\??framed:##1\else\??empty\fi}% root \frozen\instance\protected\def#8% {\bgroup @@ -1516,7 +1517,8 @@ \fi \fi % - \ifx\postprocessframebox\relax \else +% \ifx\postprocessframebox\relax \else + \ifrelax\postprocessframebox \else % better: \pushmacro\\postprocessframebox etc \let\next\postprocessframebox \let\postprocessframebox\relax % prevent nesting diff --git a/tex/context/base/mkxl/spac-ali.mkxl b/tex/context/base/mkxl/spac-ali.mkxl index 88bdd44eb..5d4d46497 100644 --- a/tex/context/base/mkxl/spac-ali.mkxl +++ b/tex/context/base/mkxl/spac-ali.mkxl @@ -203,7 +203,8 @@ \else % todo: take set value or none .. better done elsewhere (200 is normal) \fi - \ifx\dohyphens\relax % was 2.5 in old implementation using scratch registers +% \ifx\dohyphens\relax % was 2.5 in old implementation using scratch registers + \ifrelax\dohyphens % was 2.5 in old implementation using scratch registers \hyphenpenalty\dimexpr2.8\hsize/\dimexpr#1\relax\relax % 50 in raggedright/raggedleft %\else % no need to do something as we're in \nohyphens @@ -579,7 +580,8 @@ \permanent\protected\def\spac_align_prepare#1% deferred {\edef\m_spac_align_asked{#1}% \expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align_asked\endcsname - \ifx\raggedcommand\relax +% \ifx\raggedcommand\relax + \ifrelax\raggedcommand \spac_align_add_to_cache \else \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache\m_spac_align_asked\endcsname @@ -592,7 +594,8 @@ \permanent\tolerant\protected\def\setupalign[#1]% immediate {\edef\m_spac_align_asked{#1}% \expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align_asked\endcsname - \ifx\raggedcommand\relax +% \ifx\raggedcommand\relax + \ifrelax\raggedcommand \spac_align_add_to_cache \else \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache\m_spac_align_asked\endcsname @@ -613,7 +616,8 @@ \def\spac_align_use_indeed {\expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align_asked\endcsname - \ifx\raggedcommand\relax +% \ifx\raggedcommand\relax + \ifrelax\raggedcommand \spac_align_add_to_cache \else \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache\m_spac_align_asked\endcsname @@ -626,7 +630,8 @@ {\begingroup \edef\m_spac_align_asked{#1}% \expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align_asked\endcsname - \ifx\raggedcommand\relax +% \ifx\raggedcommand\relax + \ifrelax\raggedcommand \spac_align_add_to_cache \fi \endgroup} @@ -892,7 +897,8 @@ % tracing: \def\spac_show_par_data#1% - {\ifx#1\relax\else +% {\ifx#1\relax\else + {\ifrelax#1\else \hbox{\string#1: \the#1}\endgraf \expandafter\spac_show_par_data \fi} diff --git a/tex/context/base/mkxl/spac-hor.mkxl b/tex/context/base/mkxl/spac-hor.mkxl index e7263ae76..b4704319f 100644 --- a/tex/context/base/mkxl/spac-hor.mkxl +++ b/tex/context/base/mkxl/spac-hor.mkxl @@ -246,7 +246,7 @@ % was : \hskip\parindent % can be: \indent % but we test: - \noindent\hskip\parindent + \noindent\hskip\parindent % hm, we cannot undent this one \fi \fi} % public: @@ -877,36 +877,36 @@ {\processcommacommand[#1]\spac_tolerances_step_horizontal}% \fi} -%D \macros -%D {pushindentation,popindentation} -%D -%D The pushing and popping is done by: - -\newbox\b_spac_indentations_a -\newbox\b_spac_indentations_b - -\permanent\protected\def\pushindentation - {\begingroup - \ifhmode - \unskip - \setbox\b_spac_indentations_a\lastbox % get \strut if present - \unskip - \setbox\b_spac_indentations_b\lastbox % get \indent generated box - \unskip - \else - \dontleavehmode % was \hskip\zeropoint % switch to horizontal mode - \unskip - \setbox\b_spac_indentations_a\lastbox % get \indent generated box - \setbox\b_spac_indentations_b\emptybox - \fi} - -\permanent\protected\def\popindentation - {\box\b_spac_indentations_b - \box\b_spac_indentations_a - \endgroup} +% %D \macros +% %D {pushindentation,popindentation} +% %D +% %D The pushing and popping is done by: +% +% \newbox\b_spac_indentations_a +% \newbox\b_spac_indentations_b +% +% \permanent\protected\def\pushindentation +% {\begingroup +% \ifhmode +% \unskip +% \setbox\b_spac_indentations_a\lastbox % get \strut if present +% \unskip +% \setbox\b_spac_indentations_b\lastbox % get \indent generated box +% \unskip +% \else +% \dontleavehmode % was \hskip\zeropoint % switch to horizontal mode +% \unskip +% \setbox\b_spac_indentations_a\lastbox % get \indent generated box +% \setbox\b_spac_indentations_b\emptybox +% \fi} +% +% \permanent\protected\def\popindentation +% {\box\b_spac_indentations_b +% \box\b_spac_indentations_a +% \endgroup} -%D The only complication lays in \type{\strut}. In \PLAIN\ -%D \TEX\ a \type{\strut} is defined as: +%D The only complication lays in \type{\strut}. In \PLAIN\ \TEX\ a \type{\strut} is +%D defined as: %D %D \starttyping %D \def\strut% diff --git a/tex/context/base/mkxl/syst-aux.mkxl b/tex/context/base/mkxl/syst-aux.mkxl index 043cd818d..bb6793ce1 100644 --- a/tex/context/base/mkxl/syst-aux.mkxl +++ b/tex/context/base/mkxl/syst-aux.mkxl @@ -1405,7 +1405,8 @@ \let\m_syst_helpers_process_action\relax \let\m_syst_helpers_process_action_unknown\relax \syst_helpers_raw_process_action#3\ignorearguments\ignorearguments\ignorearguments - \ifx\m_syst_helpers_process_action\relax +% \ifx\m_syst_helpers_process_action\relax + \ifrelax\m_syst_helpers_process_action \m_syst_helpers_process_action_unknown \else \m_syst_helpers_process_action @@ -2867,7 +2868,8 @@ \resetglobal \permanent\protected\def\doglobal - {\ifx\redoglobal\relax +% {\ifx\redoglobal\relax + {\ifrelax\redoglobal \enforced\let\redoglobal\global \enforced\let\dodoglobal\syst_helpers_dodo_global \fi} @@ -3010,11 +3012,17 @@ %D Nowadays we don't mind a few more tokens if we can gain a bit of speed. -\def\syst_helpers_do_increment#1{\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi+\plusone \relax}} -\def\syst_helpers_do_decrement#1{\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi+\minusone\relax}} +% \def\syst_helpers_do_increment#1{\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi+\plusone \relax}} +% \def\syst_helpers_do_decrement#1{\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi+\minusone\relax}} -\def\syst_helpers_do_do_do_increment#1,#2){\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi+#2\relax}} -\def\syst_helpers_do_do_do_decrement#1,#2){\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi-#2\relax}} +% \def\syst_helpers_do_do_do_increment#1,#2){\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi+#2\relax}} +% \def\syst_helpers_do_do_do_decrement#1,#2){\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifx#1\relax\else#1\fi\fi-#2\relax}} + +\def\syst_helpers_do_increment#1{\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifrelax#1\else#1\fi\fi+\plusone \relax}} +\def\syst_helpers_do_decrement#1{\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifrelax#1\else#1\fi\fi+\minusone\relax}} + +\def\syst_helpers_do_do_do_increment#1,#2){\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifrelax#1\else#1\fi\fi+#2\relax}} +\def\syst_helpers_do_do_do_decrement#1,#2){\dodoglobal\edef#1{\the\numexpr\ifdefined#1\ifrelax#1\else#1\fi\fi-#2\relax}} \def\syst_helpers_do_do_increment(#1% {\def\m_syst_action_yes{\syst_helpers_do_do_do_increment#1}% @@ -3521,7 +3529,8 @@ \permanent\protected\def\newevery#1#2% {\ifx#1\everypar\else\newtoks#1\fi% we test for redefinition elsewhere - \ifx#2\relax\orelse\ifdefined#2\else +% \ifx#2\relax\orelse\ifdefined#2\else + \ifrelax#2\orelse\ifdefined#2\else \expandafter\newtoks\csname\??extraevery\csstring#1\endcsname \frozen\protected\edef#2{\syst_helpers_every#1\csname\??extraevery\csstring#1\endcsname}% \fi} @@ -4347,7 +4356,8 @@ \let \m_syst_helpers_scratch\empty \permanent\protected\def\appendtoks#1\to#2% - {\ifx\dodoglobal\relax +% {\ifx\dodoglobal\relax + {\ifrelax\dodoglobal \expandafter\toksapp \else \resetglobal @@ -4355,7 +4365,8 @@ \fi#2{#1}} \permanent\protected\def\prependtoks#1\to#2% - {\ifx\dodoglobal\relax +% {\ifx\dodoglobal\relax + {\ifrelax\dodoglobal \expandafter\tokspre \else \resetglobal @@ -4463,7 +4474,8 @@ %D Also: \permanent\protected\def\appendetoks#1\to#2% - {\ifx\dodoglobal\relax +% {\ifx\dodoglobal\relax + {\ifrelax\dodoglobal \expandafter\etoksapp \else \resetglobal @@ -4471,7 +4483,8 @@ \fi#2{#1}} \permanent\protected\def\prependetoks#1\to#2% - {\ifx\dodoglobal\relax +% {\ifx\dodoglobal\relax + {\ifrelax\dodoglobal \expandafter\etokspre \else \resetglobal @@ -5907,14 +5920,20 @@ \permanent\def\lastdigit#1% {\expandafter\thelastdigit\number#1\relax} +% \permanent\def\thelastdigit#1#2% +% {\ifx#2\relax#1\else\expandafter\thelastdigit\expandafter#2\fi} + \permanent\def\thelastdigit#1#2% - {\ifx#2\relax#1\else\expandafter\thelastdigit\expandafter#2\fi} + {\ifrelax#2#1\else\expandafter\thelastdigit\expandafter#2\fi} \permanent\def\lasttwodigits#1% {\expandafter\thelasttwodigits\expandafter0\number#1\relax} +% \permanent\def\thelasttwodigits#1#2#3% 0 dig ... \relax +% {\ifx#3\relax#1#2\else\expandafter\thelasttwodigits\expandafter#2\expandafter#3\fi} + \permanent\def\thelasttwodigits#1#2#3% 0 dig ... \relax - {\ifx#3\relax#1#2\else\expandafter\thelasttwodigits\expandafter#2\expandafter#3\fi} + {\ifrelax#3#1#2\else\expandafter\thelasttwodigits\expandafter#2\expandafter#3\fi} %D \macros %D {serializecommalist} @@ -6002,7 +6021,8 @@ \permanent\def\filterfromvalue#1#2#3% value max n {\expandafter\doubleexpandafter\csname % we use the fact that an - \expandafter\ifx\csname#1\endcsname\relax % undefined cs has become \relax +% \expandafter\ifx\csname#1\endcsname\relax % undefined cs has become \relax + \expandafter\ifrelax\csname#1\endcsname % undefined cs has become \relax \csstring\gobbleoneargument % which we then gobble here \else \dofilterfromstr{#2}{#3}% @@ -6201,7 +6221,8 @@ \permanent\def\flag#1{\csname\??flag#1\endcsname} \permanent\def\doifelseflagged#1% - {\expandafter\ifx\csname\??flag#1\endcsname\relax +% {\expandafter\ifx\csname\??flag#1\endcsname\relax + {\expandafter\ifrelax\csname\??flag#1\endcsname \expandafter\secondoftwoarguments \orelse\ifcase\csname\??flag#1\endcsname \expandafter\firstoftwoarguments @@ -6212,7 +6233,8 @@ \aliased\let\doifflaggedelse\doifelseflagged \permanent\def\doifnotflagged#1% - {\expandafter\ifx\csname\??flag#1\endcsname\relax +% {\expandafter\ifx\csname\??flag#1\endcsname\relax + {\expandafter\ifrelax\csname\??flag#1\endcsname \expandafter\firstofoneargument \orelse\ifcase\csname\??flag#1\endcsname \expandafter\gobbleoneargument @@ -6224,7 +6246,8 @@ {\defcsname#1#3\expandafter\endcsname\expandafter{\csname#1#5\endcsname}} \def\syst_helpers_if_non_zero_positive_else#1#2\end % #3#4% - {\ifx#1\relax +% {\ifx#1\relax + {\ifrelax#1% \ifcase\privatescratchcounter \endgroup \doubleexpandafter\secondoftwoarguments diff --git a/tex/context/base/mkxl/syst-ini.mkxl b/tex/context/base/mkxl/syst-ini.mkxl index d78db8aeb..f80b8ac55 100644 --- a/tex/context/base/mkxl/syst-ini.mkxl +++ b/tex/context/base/mkxl/syst-ini.mkxl @@ -296,7 +296,8 @@ \protected\def\setconstantvalue#1#2{\csname#1\endcsname\numexpr#2\relax} \protected\def\newconstant#1% - {\ifx#1\relax +% {\ifx#1\relax + {\ifrelax#1% %\writestatus{!!!!!!!!!!}{\string #1 => RELAX}% \unletfrozen#1% \newcount#1% @@ -334,13 +335,23 @@ \def\syst_basics_allocate_nop#1#2#3#4#5% last class method max name {\writestatus{warning}{\string#2 \string#5 is already defined (\string\relax\space it first)}} +% \def\syst_basics_allocate#1#2#3#4#5% last class method max name +% {\ifx#5\undefined +% \expandafter\syst_basics_allocate_yes +% \orelse\ifx#5\relax +% \expandafter\syst_basics_allocate_yes +% \else +% \expandafter\syst_basics_allocate_nop +% \fi +% #1#2#3#4#5} + \def\syst_basics_allocate#1#2#3#4#5% last class method max name - {\ifx#5\undefined - \expandafter\syst_basics_allocate_yes - \orelse\ifx#5\relax + {\ifrelax#5% \expandafter\syst_basics_allocate_yes - \else + \orelse\ifdefined#5% \expandafter\syst_basics_allocate_nop + \else + \expandafter\syst_basics_allocate_yes \fi #1#2#3#4#5} diff --git a/tex/context/interface/mkii/keys-cs.xml b/tex/context/interface/mkii/keys-cs.xml index 1a0faa2b5..eddd75da9 100644 --- a/tex/context/interface/mkii/keys-cs.xml +++ b/tex/context/interface/mkii/keys-cs.xml @@ -780,6 +780,7 @@ + @@ -2085,7 +2086,7 @@ - + @@ -2128,7 +2129,7 @@ - + diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index bdaa695f5..55b49886a 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-11-25 16:53 +-- merge date : 2020-11-25 19:15 do -- begin closure to overcome local limits and interference -- cgit v1.2.3