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-de.mkii2
-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.lua6
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24568 -> 24581 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin270890 -> 270902 bytes
-rw-r--r--tex/context/base/mkiv/util-str.lua5
-rw-r--r--tex/context/base/mkxl/anch-bar.mkxl2
-rw-r--r--tex/context/base/mkxl/anch-pgr.mkxl18
-rw-r--r--tex/context/base/mkxl/anch-pos.mkxl16
-rw-r--r--tex/context/base/mkxl/buff-ini.mkxl4
-rw-r--r--tex/context/base/mkxl/buff-par.mklx4
-rw-r--r--tex/context/base/mkxl/buff-ver.lmt17
-rw-r--r--tex/context/base/mkxl/buff-ver.mkxl29
-rw-r--r--tex/context/base/mkxl/chem-str.mkxl6
-rw-r--r--tex/context/base/mkxl/colo-ini.mkxl24
-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-dat.mkxl4
-rw-r--r--tex/context/base/mkxl/core-pag.mkxl2
-rw-r--r--tex/context/base/mkxl/file-job.mklx6
-rw-r--r--tex/context/base/mkxl/file-mod.mklx8
-rw-r--r--tex/context/base/mkxl/font-fil.mklx2
-rw-r--r--tex/context/base/mkxl/font-ini.mklx50
-rw-r--r--tex/context/base/mkxl/font-sol.mklx2
-rw-r--r--tex/context/base/mkxl/font-sty.mklx6
-rw-r--r--tex/context/base/mkxl/grph-inc.mkxl10
-rw-r--r--tex/context/base/mkxl/grph-trf.mkxl4
-rw-r--r--tex/context/base/mkxl/lang-ini.mkxl6
-rw-r--r--tex/context/base/mkxl/lang-lab.mkxl16
-rw-r--r--tex/context/base/mkxl/lang-tra.mkxl6
-rw-r--r--tex/context/base/mkxl/lxml-ini.mkxl8
-rw-r--r--tex/context/base/mkxl/math-ali.mkxl16
-rw-r--r--tex/context/base/mkxl/math-del.mkxl2
-rw-r--r--tex/context/base/mkxl/math-dld.mklx2
-rw-r--r--tex/context/base/mkxl/math-fen.mkxl25
-rw-r--r--tex/context/base/mkxl/math-ini.mkxl57
-rw-r--r--tex/context/base/mkxl/math-rad.mklx4
-rw-r--r--tex/context/base/mkxl/math-stc.mklx24
-rw-r--r--tex/context/base/mkxl/meta-ini.mkxl48
-rw-r--r--tex/context/base/mkxl/mult-aux.mkxl154
-rw-r--r--tex/context/base/mkxl/mult-sys.mkxl1
-rw-r--r--tex/context/base/mkxl/node-rul.mkxl2
-rw-r--r--tex/context/base/mkxl/pack-box.mkxl4
-rw-r--r--tex/context/base/mkxl/pack-com.mkxl6
-rw-r--r--tex/context/base/mkxl/pack-lyr.mkxl6
-rw-r--r--tex/context/base/mkxl/pack-mat.mkxl4
-rw-r--r--tex/context/base/mkxl/pack-mis.mklx2
-rw-r--r--tex/context/base/mkxl/pack-pos.mkxl4
-rw-r--r--tex/context/base/mkxl/pack-rul.mkxl28
-rw-r--r--tex/context/base/mkxl/page-bck.mkxl6
-rw-r--r--tex/context/base/mkxl/page-brk.mkxl2
-rw-r--r--tex/context/base/mkxl/page-cst.mkxl10
-rw-r--r--tex/context/base/mkxl/page-ffl.mkxl10
-rw-r--r--tex/context/base/mkxl/page-flt.mkxl2
-rw-r--r--tex/context/base/mkxl/page-flw.mkxl4
-rw-r--r--tex/context/base/mkxl/page-inj.mklx6
-rw-r--r--tex/context/base/mkxl/page-ins.mkxl4
-rw-r--r--tex/context/base/mkxl/page-lay.mkxl4
-rw-r--r--tex/context/base/mkxl/page-lin.mklx4
-rw-r--r--tex/context/base/mkxl/page-mak.mklx6
-rw-r--r--tex/context/base/mkxl/page-mbk.mklx2
-rw-r--r--tex/context/base/mkxl/page-mix.mkxl6
-rw-r--r--tex/context/base/mkxl/page-pcl.mkxl2
-rw-r--r--tex/context/base/mkxl/page-txt.mklx43
-rw-r--r--tex/context/base/mkxl/phys-dim.mkxl4
-rw-r--r--tex/context/base/mkxl/scrn-bar.mklx4
-rw-r--r--tex/context/base/mkxl/scrn-but.mklx14
-rw-r--r--tex/context/base/mkxl/scrn-hlp.mklx4
-rw-r--r--tex/context/base/mkxl/scrn-ini.mklx6
-rw-r--r--tex/context/base/mkxl/scrn-wid.mklx8
-rw-r--r--tex/context/base/mkxl/scrp-ini.mkxl2
-rw-r--r--tex/context/base/mkxl/spac-flr.mkxl4
-rw-r--r--tex/context/base/mkxl/spac-hor.mkxl10
-rw-r--r--tex/context/base/mkxl/spac-lin.mkxl2
-rw-r--r--tex/context/base/mkxl/spac-prf.mklx14
-rw-r--r--tex/context/base/mkxl/spac-ver.mkxl2
-rw-r--r--tex/context/base/mkxl/strc-blk.mkxl2
-rw-r--r--tex/context/base/mkxl/strc-con.mklx2
-rw-r--r--tex/context/base/mkxl/strc-flt.mklx4
-rw-r--r--tex/context/base/mkxl/strc-ind.mkxl12
-rw-r--r--tex/context/base/mkxl/strc-itm.mklx4
-rw-r--r--tex/context/base/mkxl/strc-lnt.mklx4
-rw-r--r--tex/context/base/mkxl/strc-lst.mklx20
-rw-r--r--tex/context/base/mkxl/strc-mat.mkxl2
-rw-r--r--tex/context/base/mkxl/strc-not.mklx18
-rw-r--r--tex/context/base/mkxl/strc-num.mkxl6
-rw-r--r--tex/context/base/mkxl/strc-reg.mkxl22
-rw-r--r--tex/context/base/mkxl/strc-sbe.mkxl4
-rw-r--r--tex/context/base/mkxl/strc-sec.mkxl14
-rw-r--r--tex/context/base/mkxl/strc-syn.mkxl26
-rw-r--r--tex/context/base/mkxl/strc-tag.mkxl4
-rw-r--r--tex/context/base/mkxl/strc-usr.mkxl4
-rw-r--r--tex/context/base/mkxl/symb-ini.mkxl2
-rw-r--r--tex/context/base/mkxl/syst-aux.lmt2
-rw-r--r--tex/context/base/mkxl/tabl-frm.mkxl16
-rw-r--r--tex/context/base/mkxl/tabl-mis.mkxl8
-rw-r--r--tex/context/base/mkxl/tabl-tbl.mkxl10
-rw-r--r--tex/context/base/mkxl/tabl-xtb.mklx10
-rw-r--r--tex/context/base/mkxl/toks-ini.lmt4
-rw-r--r--tex/context/base/mkxl/trac-tex.lmt7
-rw-r--r--tex/context/base/mkxl/type-ini.mklx4
-rw-r--r--tex/context/base/mkxl/typo-ada.mkxl2
-rw-r--r--tex/context/base/mkxl/typo-cap.mkxl4
-rw-r--r--tex/context/base/mkxl/typo-del.mkxl4
-rw-r--r--tex/context/base/mkxl/typo-drp.mkxl2
-rw-r--r--tex/context/base/mkxl/typo-fln.mkxl2
-rw-r--r--tex/context/base/mkxl/typo-krn.mkxl6
-rw-r--r--tex/context/base/mkxl/typo-lbx.mkxl14
-rw-r--r--tex/context/base/mkxl/typo-plc.mkxl2
-rw-r--r--tex/context/base/mkxl/typo-pnc.mkxl2
-rw-r--r--tex/context/base/mkxl/typo-rub.mkxl4
-rw-r--r--tex/context/base/mkxl/typo-scr.mkxl8
-rw-r--r--tex/context/interface/mkii/keys-de.xml2
-rw-r--r--tex/context/interface/mkiv/context-en.xml4
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin848873 -> 848819 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin24428 -> 24430 bytes
-rw-r--r--tex/context/interface/mkiv/i-verbatim.xml4
-rw-r--r--tex/context/modules/third/mtx-install-imp-tikz.lua2
-rw-r--r--tex/context/sample/common/knuth-gpt.tex4
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua4
123 files changed, 642 insertions, 488 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 8a2516e33..636203902 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{2023.06.01 09:35}
+\newcontextversion{2023.06.04 18:54}
%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 c72b946a0..3ca3dfa66 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{2023.06.01 09:35}
+\edef\contextversion{2023.06.04 18:54}
%D For those who want to use this:
diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii
index 9057e3b91..165fc0b69 100644
--- a/tex/context/base/mkii/mult-de.mkii
+++ b/tex/context/base/mkii/mult-de.mkii
@@ -802,6 +802,7 @@
\setinterfaceconstant{direction}{richtung}
\setinterfaceconstant{directory}{verzeichnis}
\setinterfaceconstant{display}{bildschirm}
+\setinterfaceconstant{displayfactor}{displayfactor}
\setinterfaceconstant{displaythreshold}{displaythreshold}
\setinterfaceconstant{distance}{abstand}
\setinterfaceconstant{domain}{domain}
@@ -922,6 +923,7 @@
\setinterfaceconstant{index}{index}
\setinterfaceconstant{indicator}{indikator}
\setinterfaceconstant{initialsep}{initialsep}
+\setinterfaceconstant{inlinefactor}{inlinefactor}
\setinterfaceconstant{inlinethreshold}{inlinethreshold}
\setinterfaceconstant{inner}{innen}
\setinterfaceconstant{innermargin}{innermargin}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index a74ceb409..6a3c5d0af 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{2023.06.01 09:35}
+\newcontextversion{2023.06.04 18:54}
%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 29963c6b7..10885f6d3 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -49,7 +49,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2023.06.01 09:35}
+\edef\contextversion{2023.06.04 18:54}
%D Kind of special:
diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua
index b0aba96d6..7e07324ad 100644
--- a/tex/context/base/mkiv/mult-def.lua
+++ b/tex/context/base/mkiv/mult-def.lua
@@ -8536,6 +8536,9 @@ return {
["en"]="displaythreshold",
["fr"]="seuilaffichage",
},
+ ["displayfactor"]={
+ ["en"]="displayfactor",
+ },
["distance"]={
["cs"]="vzdalenost",
["de"]="abstand",
@@ -9450,6 +9453,9 @@ return {
["en"]="inlinethreshold",
["fr"]="seuilenligne",
},
+ ["inlinefactor"]={
+ ["en"]="inlinefactor",
+ },
["inner"]={
["cs"]="vnitrni",
["de"]="innen",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index e5cc011e5..2cc535a25 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 617922f2d..7cbf4e9bc 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/util-str.lua b/tex/context/base/mkiv/util-str.lua
index b5c721a41..a9150b886 100644
--- a/tex/context/base/mkiv/util-str.lua
+++ b/tex/context/base/mkiv/util-str.lua
@@ -269,6 +269,7 @@ local p_prune_intospace = Cs ( noleading * ( notrailing + intospace + 1
local p_retain_normal = Cs ( ( normalline + normalempty )^0 )
local p_retain_collapse = Cs ( ( normalline + doubleempty )^0 )
local p_retain_noempty = Cs ( ( normalline + singleempty )^0 )
+local p_collapse_all = Cs ( stripstart * ( stripend + ((whitespace+newline)^1/" ") + 1)^0 )
-- function striplines(str,prune,collapse,noempty)
-- if prune then
@@ -298,6 +299,7 @@ local striplinepatterns = {
["retain"] = p_retain_normal,
["retain and collapse"] = p_retain_collapse,
["retain and no empty"] = p_retain_noempty,
+ ["collapse all"] = p_collapse_all,
["collapse"] = patterns.collapser,
}
@@ -313,6 +315,9 @@ function strings.collapse(str) -- maybe also in strings
return str and lpegmatch(p_prune_intospace,str) or str
end
+-- local s = "\naa\n\naa\na a\n\n"
+-- print("["..strings.striplines(s,"collapse all").."]")
+
-- also see: string.collapsespaces
strings.striplong = strings.striplines -- for old times sake
diff --git a/tex/context/base/mkxl/anch-bar.mkxl b/tex/context/base/mkxl/anch-bar.mkxl
index f99e61428..2ca4b4f5f 100644
--- a/tex/context/base/mkxl/anch-bar.mkxl
+++ b/tex/context/base/mkxl/anch-bar.mkxl
@@ -90,7 +90,7 @@
\global\advanceby\c_anch_sidebars_n\plusone
\c_anch_sidebars_current\c_anch_sidebars_n\relax % relax needed
\ifhastok={#1}%
- \edef\currentsidebar{\the\c_anch_sidebars_level}%
+ \cdef\currentsidebar{\the\c_anch_sidebars_level}%
\checksidebarparent
\setupcurrentsidebar[#1]%
\else
diff --git a/tex/context/base/mkxl/anch-pgr.mkxl b/tex/context/base/mkxl/anch-pgr.mkxl
index 10c66b665..824154f90 100644
--- a/tex/context/base/mkxl/anch-pgr.mkxl
+++ b/tex/context/base/mkxl/anch-pgr.mkxl
@@ -51,7 +51,7 @@
\aliased\let\doifpositionactionelse\doifelsepositionaction
\permanent\protected\def\dopositionaction#1%
- {\edef\currentpositionaction{#1}%
+ {\cdef\currentpositionaction{#1}%
\ifcsname\??positionaction\currentpositionaction\endcsname
\anch_positions_action_indeed
\fi}
@@ -102,7 +102,7 @@
\permanent\protected\def\handlepositionaction#1\with#2\on#3% ugly, will change
{\begingroup
- \edef\currentpositionanchor{\ifempty\currentpositionoverlay#3\else\currentpositionoverlay::\MPanchoridentifier\fi}%
+ \cdef\currentpositionanchor{\ifempty\currentpositionoverlay#3\else\currentpositionoverlay::\MPanchoridentifier\fi}%
\normalexpanded{\anch_positions_set_action{\currentpositionanchor}{\noexpand\csname\??positioncleanup\currentpositionanchor\endcsname}}%
\let#1\relax
\ifcsname\??positioncleanup\currentpositionanchor\endcsname
@@ -225,7 +225,7 @@
\def\anch_positions_overlay_indeed#1%
{\begingroup
- \edef\currentpositionoverlay{#1}%
+ \cdef\currentpositionoverlay{#1}%
\ifcsname\??positionaction\currentpositionoverlay::\MPanchoridentifier\endcsname
\anch_positions_overlay_compose
\fi
@@ -260,8 +260,8 @@
\def\anch_positions_region_overlay_indeed#1#2%
{\begingroup
- \edef\currentpositionregion {#1}%
- \edef\currentpositionoverlay{#2}%
+ \cdef\currentpositionregion {#1}%
+ \cdef\currentpositionoverlay{#2}%
\ifcsname\??positionaction\currentpositionoverlay::\MPanchoridentifier\endcsname
\anch_positions_region_overlay_compose
\fi
@@ -298,7 +298,7 @@
\def\anch_positions_overlay_start_yes#1%
{\checkpositionoverlays
- \edef\currentpositionoverlay{#1}}
+ \cdef\currentpositionoverlay{#1}}
\permanent\protected\def\stoppositionoverlay
{\lettonothing\currentpositionoverlay}
@@ -327,7 +327,7 @@
\def\anch_positions_meta_graphic_use#1#2#3%
{\begingroup
- \edef\currentmpcategory{#1}%
+ \cdef\currentmpcategory{#1}%
\anch_positions_meta_graphic_prepare
\startMPcode#3\stopMPcode
\endgroup}
@@ -346,7 +346,7 @@
\def\anch_positions_meta_graphic_direct#1#2#3% what tag setups
{\begingroup
- \edef\currentmpcategory{#2}%
+ \cdef\currentmpcategory{#2}%
\setupcurrentmpcategory[#3]%
\anch_positions_meta_graphic_prepare
\obeyMPboxorigin % do we also set the size ? when needed this must be done in mp ... might change
@@ -360,7 +360,7 @@
\def\anch_positions_meta_graphic_nested#1#2#3% nesting used in prikkels / pascal (might go away)
{\begingroup
- \edef\currentmpcategory{#2}%
+ \cdef\currentmpcategory{#2}%
\setupcurrentmpcategory[#1,#3]%
\anch_positions_meta_graphic_prepare
\begincsname\??positiongraphic#2\endcsname
diff --git a/tex/context/base/mkxl/anch-pos.mkxl b/tex/context/base/mkxl/anch-pos.mkxl
index a1e0cc354..0472c1ee5 100644
--- a/tex/context/base/mkxl/anch-pos.mkxl
+++ b/tex/context/base/mkxl/anch-pos.mkxl
@@ -144,7 +144,7 @@
\def\anch_positions_set_only_indeed#1%
{\anch_positions_initialize
- \edef\currentposition{#1}%
+ \cdef\currentposition{#1}%
\dosetposition\currentposition}
\permanent\protected\def\setposition
@@ -156,7 +156,7 @@
\def\anch_positions_set_indeed#1%
{\anch_positions_initialize
- \edef\currentposition{#1}%
+ \cdef\currentposition{#1}%
\dosetposition\currentposition
\anch_positions_trace_left
\dopositionaction\currentposition}
@@ -171,7 +171,7 @@
\def\anch_positions_set_data_indeed#1#2#3#4%
{\anch_positions_initialize
\hbox % \hpack
- {\edef\currentposition{#1}%
+ {\cdef\currentposition{#1}%
\dosetpositionwhd\currentposition{#2}{#3}{#4}%
\anch_positions_trace_left
\dopositionaction\currentposition
@@ -194,7 +194,7 @@
{\anch_positions_initialize
%\hbox to \wd\nextbox
\hpack to \wd\nextbox
- {\edef\currentposition{#1}%
+ {\cdef\currentposition{#1}%
\dosetpositionbox\currentposition\nextbox
\anch_positions_trace_left
\setbox\b_anch_position\box\nextbox
@@ -215,7 +215,7 @@
\def\anch_positions_set_strut_yes#1%
{\anch_positions_initialize
\hbox to \zeropoint % \hpack
- {\edef\currentposition{#1}%
+ {\cdef\currentposition{#1}%
\dosetpositionstrut\currentposition
\anch_positions_trace_left
\dopositionaction\currentposition
@@ -232,7 +232,7 @@
\def\anch_positions_set_strut_kind_yes#1#2%
{\anch_positions_initialize
\hbox to \zeropoint % \hpack
- {\edef\currentposition{#1}%
+ {\cdef\currentposition{#1}%
\dosetpositionstrutkind\currentposition{#2}%
\anch_positions_trace_left
\dopositionaction\currentposition
@@ -252,7 +252,7 @@
\def\anch_positions_set_plus_indeed#1#2#3#4#5%
{\anch_positions_initialize
\hbox % \hpack
- {\edef\currentposition{#1}%
+ {\cdef\currentposition{#1}%
\dosetpositionplus\currentposition{#2}{#3}{#4}{#5}%
\anch_positions_trace_right
\dopositionaction\currentposition
@@ -274,7 +274,7 @@
\def\anch_positions_set_plus_yes_finish#1#2%
{\anch_positions_initialize
\hbox to \nextboxwd % \hpack
- {\edef\currentposition{#1}%
+ {\cdef\currentposition{#1}%
\dosetpositionplus\currentposition{\wd\nextbox}{\ht\nextbox}{\dp\nextbox}{#2}%
\anch_positions_trace_right
\setbox\b_anch_position\flushnextbox
diff --git a/tex/context/base/mkxl/buff-ini.mkxl b/tex/context/base/mkxl/buff-ini.mkxl
index ce185d70f..dd2698501 100644
--- a/tex/context/base/mkxl/buff-ini.mkxl
+++ b/tex/context/base/mkxl/buff-ini.mkxl
@@ -127,7 +127,7 @@
\appendtoks
\global\advanceby\c_buff_n_of_defined\plusone
\setexpandedbufferparameter\c!number{\number\c_buff_n_of_defined}%
- \edef\currentdefinedbuffer{def-\number\c_buff_n_of_defined}%
+ \cdef\currentdefinedbuffer{def-\number\c_buff_n_of_defined}%
\ifcstok{\bufferparameter\c!define}\v!yes
\frozen\instance\protected\edefcsname\e!start\currentbuffer\endcsname
{\buff_start_defined{\currentbuffer}{\currentdefinedbuffer}{\e!start\currentbuffer}{\e!stop\currentbuffer}}%
@@ -254,7 +254,7 @@
\to \everydefinesavebuffer
\protected\def\buff_stop_save_buffer#1%
- {\edef\currentsavebuffer{#1}%
+ {\cdef\currentsavebuffer{#1}%
\global\advanceby\csname\??savebuffercounter\currentsavebuffer\endcsname\plusone
\clf_savebuffer % will become key/value
{\thedefinedbuffer{\currentsavebuffer}}%
diff --git a/tex/context/base/mkxl/buff-par.mklx b/tex/context/base/mkxl/buff-par.mklx
index 63e6f47bd..c72ea8658 100644
--- a/tex/context/base/mkxl/buff-par.mklx
+++ b/tex/context/base/mkxl/buff-par.mklx
@@ -102,7 +102,7 @@
\protected\def\buff_parallel_start#name%
{\pushmacro\currentparallel
- \edef\currentparallel{#name}%
+ \cdef\currentparallel{#name}%
\clf_nextparallel{\currentparallel}}
\protected\def\buff_parallel_stop
@@ -117,7 +117,7 @@
\permanent\tolerant\protected\def\placeparallel[#name]#spacer[#instance]#spacer[#settings]%
{\begingroup
- \edef\currentparallel{#name}%
+ \cdef\currentparallel{#name}%
\setupcurrentparallel[#settings]%
\clf_placeparallel
{\currentparallel}%
diff --git a/tex/context/base/mkxl/buff-ver.lmt b/tex/context/base/mkxl/buff-ver.lmt
index 25d92618e..aebea63fd 100644
--- a/tex/context/base/mkxl/buff-ver.lmt
+++ b/tex/context/base/mkxl/buff-ver.lmt
@@ -733,13 +733,17 @@ end
local tablength = 7
local function dotabs(content,settings)
- local tab = settings.tab
- tab = tab and (tab == v_yes and tablength or tonumber(tab))
- if tab then
- return tabtospace(content,tab)
+ local par = settings.par
+ if par == v_yes then
+ return utilities.strings.striplines(content,"collapse all")
else
- return content
+ local tab = settings.tab
+ tab = tab and (tab == v_yes and tablength or tonumber(tab))
+ if tab then
+ return tabtospace(content,tab)
+ end
end
+ return content
end
local function filter(lines,settings) -- todo: inline or display in settings
@@ -857,6 +861,7 @@ implement {
{ "data" },
-- { "data", "detokened" },
{ "tab" },
+ { "par" },
{ "method" },
{ "compact" },
{ "nature" },
@@ -917,6 +922,7 @@ implement {
{ "name" },
{ "strip" },
{ "tab" },
+ { "par" },
{ "method" },
{ "nature" },
}
@@ -933,6 +939,7 @@ implement {
{ "range" },
{ "regime" },
{ "tab" },
+ { "par" },
{ "method" },
{ "escape" },
{ "nature" },
diff --git a/tex/context/base/mkxl/buff-ver.mkxl b/tex/context/base/mkxl/buff-ver.mkxl
index 145613877..3575ef2ca 100644
--- a/tex/context/base/mkxl/buff-ver.mkxl
+++ b/tex/context/base/mkxl/buff-ver.mkxl
@@ -83,10 +83,8 @@
{\spaceskip.5\emwidth\relax
\enforced\let\obeyedspace\specialobeyedspace
\enforced\let\controlspace\specialcontrolspace
- \edef\p_buff_lines{\typeparameter\c!lines}%
- \begincsname\??typinglines\p_buff_lines\endcsname
- \edef\p_buff_space{\typeparameter\c!space}%
- \begincsname\??typingspace\p_buff_space\endcsname
+ \begincsname\??typinglines\typeparameter\c!lines\endcsname
+ \begincsname\??typingspace\typeparameter\c!space\endcsname
\relax\the\everyinitializeverbatim\relax}
\permanent\protected\def\doinitializeverbatim % for use elsewhere .. temp hack (see lxml-ini)
@@ -123,10 +121,8 @@
{\spaceskip.5\emwidth\relax
\enforced\let\obeyedspace\specialobeyedspace
\enforced\let\controlspace\specialcontrolspace
- \edef\p_buff_lines{\typingparameter\c!lines}%
- \begincsname\??typinglines\p_buff_lines\endcsname
- \edef\p_buff_space{\typingparameter\c!space}%
- \begincsname\??typingspace\p_buff_space\endcsname
+ \begincsname\??typinglines\typingparameter\c!lines\endcsname
+ \begincsname\??typingspace\typingparameter\c!space\endcsname
\relax\the\everyinitializeverbatim\relax}
%D \macros
@@ -261,13 +257,13 @@
\protected\def\buff_verbatim_type#1%
{\dontleavehmode
\bgroup
- \edef\currenttype{#1}%
+ \cdef\currenttype{#1}%
\buff_verbatim_type_indeed}
\def\buff_verbatim_typ#1%
{\dontleavehmode
\bgroup
- \edef\currenttype{#1}%
+ \cdef\currenttype{#1}%
\lettypeparameter\c!lines\v!hyphenated
\enforced\let\specialobeyedspace\specialstretchedspace
\buff_verbatim_type_indeed}
@@ -445,7 +441,7 @@
\protected\def\buff_verbatim_typing_start#1#2% tricky non standard lookahead
{\begingroup
- \edef\currenttyping {#1}%
+ \cdef\currenttyping {#1}%
\edef\currenttypingwrapper{#2}%
\obeylines
\futureexpandis[\buff_verbatim_typing_start_yes\buff_verbatim_typing_start_nop}
@@ -617,7 +613,7 @@
\aliased\let\doiftypingfileelse\doifelsetypingfile
\def\buff_verbatim_type_file_indeed#1#2% category name
- {\edef\currenttyping{#1}%
+ {\cdef\currenttyping{#1}%
\typingparameter\c!before\relax
\startpacked[\v!blank]
\buff_verbatim_setup_line_numbering
@@ -794,7 +790,7 @@
\protected\def\buff_verbatim_type_buffer_class#1%
{\begingroup
- \edef\currenttyping{#1}%
+ \cdef\currenttyping{#1}%
\buff_verbatim_type_buffer}
\tolerant\protected\def\buff_verbatim_type_defined_buffer[#1]#*[#2]#*[#3]% category name settings
@@ -808,7 +804,7 @@
\dorechecknextindentation}
\protected\def\buff_verbatim_type_buffer_indeed#1#2% category name
- {\edef\currenttyping{#1}%
+ {\cdef\currenttyping{#1}%
\typingparameter\c!before\relax
\startpacked[\v!blank]
\buff_verbatim_setup_line_numbering
@@ -823,6 +819,7 @@
range {\typingparameter\c!range}%
regime {\currentregime}%
tab {\typingparameter\c!tab}%
+ par {\typingparameter\c!paragraph}%
method {\p_buff_option}%
escape {\typingparameter\c!escape}%
nature {display}%
@@ -854,7 +851,7 @@
\endgroup}
\protected\def\buff_verbatim_type_buffer_indeed_inline#1#2% category name
- {\edef\currenttype{#1}%
+ {\cdef\currenttype{#1}%
\buff_verbatim_initialize_type_one
\dostarttaggedchained\t!verbatim\currenttype\??type
\clf_typebuffer
@@ -893,7 +890,7 @@
\endgroup}
\def\buff_verbatim_process_indeed#1#2%
- {\edef\currenttyping{#1}%
+ {\cdef\currenttyping{#1}%
\clf_processbuffer
name {#2}%
strip {\typingparameter\c!strip}%
diff --git a/tex/context/base/mkxl/chem-str.mkxl b/tex/context/base/mkxl/chem-str.mkxl
index 227f98c4b..33a473b8f 100644
--- a/tex/context/base/mkxl/chem-str.mkxl
+++ b/tex/context/base/mkxl/chem-str.mkxl
@@ -89,7 +89,7 @@
\permanent\protected\tolerant\overloaded\def\definechemical[#1]#:#2% is global (so we don't use the commandhandler)
{\startnointerference
- \edef\currentdefinedchemical{#1}%
+ \cdef\currentdefinedchemical{#1}%
\enforced\let\chemical\chem_chemical_nested
\clf_undefinechemical{#1}%
#2% flush
@@ -146,14 +146,14 @@
\ifhastok={#1}%
\setupcurrentchemical[#1]% same as \currentchemical
\else
- \edef\currentchemical{#1}%
+ \cdef\currentchemical{#1}%
\setupcurrentchemical[#2]%
\fi
\orelse\ifparameter#1\or
\ifhastok={#1}%
\setupcurrentchemical[#1]% same as \currentchemical
\else
- \edef\currentchemical{#1}%
+ \cdef\currentchemical{#1}%
\fi
\fi
\the\everystructurechemical
diff --git a/tex/context/base/mkxl/colo-ini.mkxl b/tex/context/base/mkxl/colo-ini.mkxl
index a7f483bc2..3c7f775a7 100644
--- a/tex/context/base/mkxl/colo-ini.mkxl
+++ b/tex/context/base/mkxl/colo-ini.mkxl
@@ -126,7 +126,7 @@
\permanent\protected\def\transparent[#1]%
{\beginsimplegroup
- \edef\scratchstringone{#1}%
+ \cdef\scratchstringone{#1}%
% the \relax catches a non existent csname
\ifx\scratchstringone\v!reset
\c_attr_transparency\attributeunsetvalue
@@ -137,7 +137,7 @@
\permanent\protected\def\starttransparent[#1]%$
{\begingroup
- \edef\scratchstringone{#1}%
+ \cdef\scratchstringone{#1}%
\ifx\scratchstringone\v!reset
\c_attr_transparency\attributeunsetvalue
\else
@@ -151,7 +151,7 @@
\permanent\protected\def\coloronly[#1]%
{\beginsimplegroup
- \edef\currentcolorname{#1}%
+ \cdef\currentcolorname{#1}%
\ifempty\currentcolorprefix
\colo_helpers_activate_nop_only
\else
@@ -161,7 +161,7 @@
\permanent\protected\def\startcoloronly[#1]%$
{\begingroup
- \edef\currentcolorname{#1}%
+ \cdef\currentcolorname{#1}%
\ifempty\currentcolorprefix
\colo_helpers_activate_nop_only
\else
@@ -175,7 +175,7 @@
\permanent\protected\def\color[#1]%
{\beginsimplegroup
- \edef\currentcolorname{#1}%
+ \cdef\currentcolorname{#1}%
\ifempty\currentcolorprefix
\colo_helpers_activate_nop
\else
@@ -190,7 +190,7 @@
\permanent\protected\def\startcolor[#1]%$
{\begingroup
- \edef\currentcolorname{#1}%
+ \cdef\currentcolorname{#1}%
\ifempty\currentcolorprefix
\colo_helpers_activate_nop
\else
@@ -216,7 +216,7 @@
\permanent\protected\def\fastcolor[#1]#2%
{\begingroup % is this command still needed?
- \edef\currentcolorname{#1}%
+ \cdef\currentcolorname{#1}%
\ifempty\currentcolorprefix
\colo_helpers_activate_nop
\else
@@ -226,7 +226,7 @@
\endgroup}
\permanent\protected\def\directcolor[#1]%
- {\edef\currentcolorname{#1}%
+ {\cdef\currentcolorname{#1}%
\ifempty\currentcolorprefix
\colo_helpers_activate_nop
\else
@@ -586,13 +586,13 @@
% \newtoks\t_colo_prefix % used in mp interface
\permanent\tolerant\protected\def\setuppalet[#1]%
- {\edef\currentcolorpalet{#1}%
+ {\cdef\currentcolorpalet{#1}%
\ifempty\currentcolorpalet
% seems to be a reset
\lettonothing\currentcolorprefix
%\t_colo_prefix\emptytoks
\orelse\ifcsname\??paletlist\currentcolorpalet\endcsname
- \edef\currentcolorprefix{#1:}%
+ \cdef\currentcolorprefix{#1:}%
%\t_colo_prefix\expandafter{\currentcolorprefix}%
\else
\colo_helpers_show_message\m!colors7\currentcolorpalet
@@ -737,7 +737,7 @@
{\colo_helpers_set_model{#1}} % only for local usage
\def\colo_helpers_set_model#1% direct
- {\edef\currentcolormodel{#1}%
+ {\cdef\currentcolormodel{#1}%
\clf_setcolormodel{\currentcolormodel}{\m_colo_weight_gray}} % sets attribute at lua end
\colo_helpers_set_model\s!all
@@ -813,7 +813,7 @@
% so far
\permanent\protected\def\colo_helpers_activate#1% two-step is not that much faster but less tracing
- {\edef\currentcolorname{#1}%
+ {\cdef\currentcolorname{#1}%
\ifempty\currentcolorprefix
\colo_helpers_activate_nop
\else
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index ca65e70f3..38ea10492 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{2023.06.01 09:35}
+\newcontextversion{2023.06.04 18:54}
%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 a3ace100b..aa69435d8 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{2023.06.01 09:35}
+\immutable\edef\contextversion{2023.06.04 18:54}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/core-dat.mkxl b/tex/context/base/mkxl/core-dat.mkxl
index 6d7d1bd14..18a1737e7 100644
--- a/tex/context/base/mkxl/core-dat.mkxl
+++ b/tex/context/base/mkxl/core-dat.mkxl
@@ -50,7 +50,7 @@
\permanent\tolerant\protected\def\setdataset[#1]#*[#2]#*[#3]%
{\begingroup
- \edef\currentdataset{#1}%
+ \cdef\currentdataset{#1}%
\ifparameters\or\or
\clf_setdataset
name {\currentdataset}%
@@ -58,7 +58,7 @@
data {#2}%
\relax
\or
- \edef\currentdataset{#1}%
+ \cdef\currentdataset{#1}%
\clf_setdataset
name {\currentdataset}%
tag {#2}%
diff --git a/tex/context/base/mkxl/core-pag.mkxl b/tex/context/base/mkxl/core-pag.mkxl
index 43b398b16..e4c4d8471 100644
--- a/tex/context/base/mkxl/core-pag.mkxl
+++ b/tex/context/base/mkxl/core-pag.mkxl
@@ -36,7 +36,7 @@
\permanent\tolerant\protected\def\setpagestate[#1]#*[#2]%
{\begingroup
- \edef\currentpagestate{#1}%
+ \cdef\currentpagestate{#1}%
\ifcsname\??pagestatecounter\currentpagestate\endcsname
\scratchcounter\lastnamedcs
\advanceby\scratchcounter\plusone
diff --git a/tex/context/base/mkxl/file-job.mklx b/tex/context/base/mkxl/file-job.mklx
index b7883ddcd..1ad08b2e0 100644
--- a/tex/context/base/mkxl/file-job.mklx
+++ b/tex/context/base/mkxl/file-job.mklx
@@ -304,10 +304,10 @@
\lettonothing\currentdocument
\setupcurrentdocument[#namespace]%
\else
- \edef\currentdocument{#namespace}%
+ \cdef\currentdocument{#namespace}%
\fi
\or
- \edef\currentdocument{#namespace}%
+ \cdef\currentdocument{#namespace}%
\setupcurrentdocument[#settings]%
\fi
\ifempty\currentdocument\else\setmode\currentdocument\fi
@@ -340,7 +340,7 @@
\setupcurrentdocument[#namespace]%
\fi
\or
- \edef\currentdocument{#namespace}%
+ \cdef\currentdocument{#namespace}%
\setupcurrentdocument[#settings]%
\fi
\popmacro\currentdocument}
diff --git a/tex/context/base/mkxl/file-mod.mklx b/tex/context/base/mkxl/file-mod.mklx
index a64529dd6..9dc38f9f9 100644
--- a/tex/context/base/mkxl/file-mod.mklx
+++ b/tex/context/base/mkxl/file-mod.mklx
@@ -57,21 +57,21 @@
\lettonothing\currentmodule
\or
\lettonothing\currentmodulecategory
- \edef\currentmodule{#category}%
+ \cdef\currentmodule{#category}%
\lettonothing\currentmoduleparameters
\or
\ifhastok={#name}%
\lettonothing\currentmodulecategory
- \edef\currentmodule{#category}%
+ \cdef\currentmodule{#category}%
\edef\currentmoduleparameters{#name}%
\else
\edef\currentmodulecategory{#category}%
- \edef\currentmodule{#name}%
+ \cdef\currentmodule{#name}%
\lettonothing\currentmoduleparameters
\fi
\or
\edef\currentmodulecategory {#category}%
- \edef\currentmodule {#name}%
+ \cdef\currentmodule {#name}%
\def \currentmoduleparameters{#parameters}%
\fi
\processcommacommand[\currentmodule]{\strc_modules_use\currentmodulecategory}%
diff --git a/tex/context/base/mkxl/font-fil.mklx b/tex/context/base/mkxl/font-fil.mklx
index 89ec2f5c4..2fab7d581 100644
--- a/tex/context/base/mkxl/font-fil.mklx
+++ b/tex/context/base/mkxl/font-fil.mklx
@@ -45,7 +45,7 @@
{\push_macro_fontclass
\doifelse{#class}\v!each
{\lettonothing\fontclass}
- {\doifsomething{#class}{\def\fontclass{#class}}}}
+ {\doifsomething{#class}{\cdef\fontclass{#class}}}}
\permanent\protected\def\stopfontclass
{\pop_macro_fontclass}
diff --git a/tex/context/base/mkxl/font-ini.mklx b/tex/context/base/mkxl/font-ini.mklx
index ff9e45243..5b59ba23d 100644
--- a/tex/context/base/mkxl/font-ini.mklx
+++ b/tex/context/base/mkxl/font-ini.mklx
@@ -1187,7 +1187,7 @@
\def\font_basics_define_font_without_parameters#identifier#2%
{\relax % intercept lookahead, in case we scan for a number
\c_font_feature_inheritance_mode\c_font_feature_inheritance_fontonly
- \edef\lastfontidentifier{#identifier}%
+ \cdef\lastfontidentifier{#identifier}%
\let\v_font_size_relative\v_font_rscale_default
\let\v_font_size_absolute\fontbody
\font_helpers_low_level_define{#2}\v_font_identifier_basic
@@ -1198,7 +1198,7 @@
\let\v_font_identifier_basic\v_font_identifier_basic_saved}
\protected\def\font_helpers_trigger#identifier% make a traced variant
- {\edef\lastfontidentifier{#identifier}%
+ {\cdef\lastfontidentifier{#identifier}%
\ifcsname\v_font_identifier_class\endcsname
% \writestatus{fonts}{trigger: reusing \v_font_identifier_class}%
\expandafter\font_helpers_trigger_reuse
@@ -1488,7 +1488,7 @@
% environment and size already defined
\orelse\ifproductionrun
\push_macro_fontclass
- \edef\fontclass{#class}%
+ \cdef\fontclass{#class}%
\font_helpers_register_environment{#class}{#normalizedbody}%
\settrue\c_font_defining_environment_state
\font_helpers_define_unknown_font{#normalizedbody}% current class
@@ -1618,7 +1618,7 @@
{\push_macro_fontclass
\doifelse{#4}\s!default
{\lettonothing\fontclass}
- {\def\fontclass{#4}}%
+ {\cdef\fontclass{#4}}%
\definebodyfont[#1][#2][#3]%
\pop_macro_fontclass}
@@ -1875,7 +1875,7 @@
\protected\def\font_basics_switch_style#style%
{\ifcsname\??fontstyle#style\endcsname
\lastnamedcs
- \edef\fontstyle{#style}%
+ \cdef\fontstyle{#style}%
\ifmmode\mr\fi % in order to be compatible with \rm in math mode
% \the\everybodyfont % cleaner, in setting size as well as style
\else
@@ -1964,7 +1964,7 @@
\permanent\def\setcurrentfontclass#class%
{\ifcsname\??fontclassyes#class\endcsname
- \edef\fontclass{#class}%
+ \cdef\fontclass{#class}%
\orelse\ifcsname\??fontclassnop#class\endcsname
% already tried
\else % too messy: \ifcase\currentgrouplevel % (unpredictable)
@@ -1981,15 +1981,15 @@
%D So far for synchronisation. (We can inline the following macros.)
\permanent\protected\def\setcurrentfont#body#style#alternative#size% not used
- {\edef\fontbody {#body}%
- \edef\fontstyle {#style}%
- \edef\fontalternative{#alternative}%
- \edef\fontsize {#size}%
+ {\cdef\fontbody {#body}%
+ \cdef\fontstyle {#style}%
+ \cdef\fontalternative{#alternative}%
+ \cdef\fontsize {#size}%
\font_helpers_check_big_math_synchronization
\font_helpers_synchronize_font}
\permanent\protected\def\setcurrentfontbody#body% % not used
- {\edef\fontbody{#body}%
+ {\cdef\fontbody{#body}%
\font_helpers_synchronize_font}
% For Taco: optional fall backs:
@@ -1999,46 +1999,46 @@
\fi
\protected\def\font_helpers_set_current_font_style#style%
- {\edef\fontstyle{#style}%
+ {\cdef\fontstyle{#style}%
\font_typescripts_inherit_check\fontstyle
\ifmmode\mr\fi % otherwise \rm not downward compatible ... not adapted yet
\font_helpers_synchronize_font}
\protected\def\font_helpers_set_current_xsize_alternative#xsize#alternative%
- {\edef\fontface{#xsize}%
- \edef\fontalternative{#alternative}%
+ {\cdef\fontface{#xsize}%
+ \cdef\fontalternative{#alternative}%
\font_helpers_synchronize_font}
\protected\def\font_helpers_set_current_font_alternative#alternative%
- {\edef\fontalternative{#alternative}%
+ {\cdef\fontalternative{#alternative}%
\font_helpers_synchronize_font}
\protected\def\font_helpers_set_current_font_size#size%
- {\edef\fontsize{#size}%
+ {\cdef\fontsize{#size}%
\font_helpers_check_big_math_synchronization % double? better in everymath?
\font_helpers_synchronize_font}
\protected\def\font_helpers_set_current_font_style_alternative#style#alternative% \rmsl
- {\edef\fontstyle {#style}%
- \edef\fontalternative{#alternative}%
+ {\cdef\fontstyle {#style}%
+ \cdef\fontalternative{#alternative}%
\font_helpers_synchronize_font}
\protected\def\font_helpers_set_current_font_style_size#style#size% \rma
- {\edef\fontstyle{#style}%
- \edef\fontsize {#size}%
+ {\cdef\fontstyle{#style}%
+ \cdef\fontsize {#size}%
\font_helpers_check_big_math_synchronization % double? better in everymath?
\font_helpers_synchronize_font}
\protected\def\font_helpers_set_current_font_alternative_size#alternative#size% \sla
- {\edef\fontalternative{#alternative}%
- \edef\fontsize {#size}%
+ {\cdef\fontalternative{#alternative}%
+ \cdef\fontsize {#size}%
\font_helpers_check_big_math_synchronization % double? better in everymath?
\font_helpers_synchronize_font}
\protected\def\font_helpers_set_current_font_style_alternative_size#style#alternative#size% \rmsla
- {\edef\fontstyle {#style}%
- \edef\fontalternative{#alternative}%
- \edef\fontsize {#size}%
+ {\cdef\fontstyle {#style}%
+ \cdef\fontalternative{#alternative}%
+ \cdef\fontsize {#size}%
\font_helpers_check_big_math_synchronization % double? better in everymath?
\font_helpers_synchronize_font}
diff --git a/tex/context/base/mkxl/font-sol.mklx b/tex/context/base/mkxl/font-sol.mklx
index 064f39b9d..c27b9513b 100644
--- a/tex/context/base/mkxl/font-sol.mklx
+++ b/tex/context/base/mkxl/font-sol.mklx
@@ -97,7 +97,7 @@
\to \everydefinefontsolution
\permanent\protected\def\setfontsolution[#solution]% just one
- {\edef\currentfontsolution{#solution}%
+ {\cdef\currentfontsolution{#solution}%
\clf_setfontsolution
{\currentfontsolution}%
{%
diff --git a/tex/context/base/mkxl/font-sty.mklx b/tex/context/base/mkxl/font-sty.mklx
index 49fa52d38..95d2944d1 100644
--- a/tex/context/base/mkxl/font-sty.mklx
+++ b/tex/context/base/mkxl/font-sty.mklx
@@ -183,7 +183,7 @@
\mutable\lettonothing\currentdetokenizedstyleparameter
\permanent\protected\def\dousestyleparameter#value%
- {\edef\currentstyleparameter{#value}%
+ {\cdef\currentstyleparameter{#value}%
\ifempty\currentstyleparameter\else
\expandafter\dousecurrentstyleparameter
\fi}
@@ -194,7 +194,7 @@
\fi}
\permanent\protected\def\dousecurrentstyleparameter % empty check outside here
- {\edef\currentdetokenizedstyleparameter{\detokenize\expandafter{\currentstyleparameter}}%
+ {\cdef\currentdetokenizedstyleparameter{\detokenize\expandafter{\currentstyleparameter}}%
\settrue\fontattributeisset % reset is done elsewhere
\ifcsname\??alternativestyle\currentdetokenizedstyleparameter\endcsname
\lastnamedcs
@@ -254,7 +254,7 @@
\let\nexttoken}
\protected\def\font_styles_use_defined#name%
- {\edef\currentstyle{#name}%
+ {\cdef\currentstyle{#name}%
\usestylestyleandcolor\c!style\c!color}
\protected\def\font_styles_use_generic#specification%
diff --git a/tex/context/base/mkxl/grph-inc.mkxl b/tex/context/base/mkxl/grph-inc.mkxl
index b8fd40a89..47b25d26b 100644
--- a/tex/context/base/mkxl/grph-inc.mkxl
+++ b/tex/context/base/mkxl/grph-inc.mkxl
@@ -211,7 +211,7 @@
\fi}
\def\grph_include_use_indeed#1#2#3#4%
- {\dodoglobal\defcsname\??externalfigureinstance#1\endcsname{\grph_include_setup{#2}{#3}{#4}}%
+ {\gdefcsname\??externalfigureinstance#1\endcsname{\grph_include_setup{#2}{#3}{#4}}%
\grph_include_analyze_collection[#2][#4]}
% inclusion
@@ -226,8 +226,8 @@
% todo: chain them
\def\grph_include_setup#1#2#3% name parent settings
- {\edef\m_grph_include_name {#1}%
- \edef\m_grph_include_parent{#2}%
+ {\cdef\m_grph_include_name {#1}%
+ \cdef\m_grph_include_parent{#2}%
\ifempty\m_grph_include_name \else
\let\p_grph_include_name\m_grph_include_name
\fi
@@ -275,7 +275,7 @@
\def\grph_include_place[#1][#2][#3]% [label][file][settings] | [file][settings] | [file][parent][settings]
{\bgroup
\advanceby\c_grph_include_nesting\plusone
- \edef\currentexternalfigure{\the\c_grph_include_nesting}%
+ \cdef\currentexternalfigure{\the\c_grph_include_nesting}%
\checkexternalfigureparent % each inherits from the root
%
\the\everyexternalfigureresets
@@ -810,7 +810,7 @@
\permanent\protected\def\startexternalfigurecollection[#1]%
{\begingroup
- \def\currentexternalfigurecollection{#1}%
+ \cdef\currentexternalfigurecollection{#1}%
\settrue\c_grph_include_in_collection
\d_grph_include_collection_minwidth \maxdimen
\d_grph_include_collection_maxwidth \zeropoint
diff --git a/tex/context/base/mkxl/grph-trf.mkxl b/tex/context/base/mkxl/grph-trf.mkxl
index 53080b6a1..0d3461c07 100644
--- a/tex/context/base/mkxl/grph-trf.mkxl
+++ b/tex/context/base/mkxl/grph-trf.mkxl
@@ -123,10 +123,10 @@
\lettonothing\currentscale
\setupcurrentscale[#1]%
\else
- \edef\currentscale{#1}%
+ \cdef\currentscale{#1}%
\fi
\or
- \edef\currentscale{#1}%
+ \cdef\currentscale{#1}%
\setupcurrentscale[#2]%
\fi
%
diff --git a/tex/context/base/mkxl/lang-ini.mkxl b/tex/context/base/mkxl/lang-ini.mkxl
index 1f4b741c2..024fcad18 100644
--- a/tex/context/base/mkxl/lang-ini.mkxl
+++ b/tex/context/base/mkxl/lang-ini.mkxl
@@ -119,7 +119,7 @@
\fi}
\permanent\protected\def\setusedlanguage#1%
- {\edef\currentusedlanguage{\reallanguagetag{#1}}%
+ {\cdef\currentusedlanguage{\reallanguagetag{#1}}%
\ifempty\currentusedlanguage
\let\currentusedlanguage \currentlanguage
\enforced\let\usedlanguageparameter\languageparameter
@@ -200,7 +200,7 @@
{\defcsname\??languagelinked#1\endcsname{#1}%
\getparameters[\??language#1][\c!state=\v!start,#2]%
\lang_basics_install_indeed{#1}{#1}}%
- \edef\currentsetuplanguage{#1}%
+ \cdef\currentsetuplanguage{#1}%
\clf_definelanguage{#1}{\specificlanguageparameter{#1}\s!default}%
\the\everysetuplanguage
\else
@@ -253,7 +253,7 @@
\the\everysetuplanguage
\or
\push_macro_currentlanguage % can be default
- \edef\currentsetuplanguage{\reallanguagetag{#1}}%
+ \cdef\currentsetuplanguage{\reallanguagetag{#1}}%
\getparameters[\??language\currentsetuplanguage][#2]%
\the\everysetuplanguage
\pop_macro_currentlanguage
diff --git a/tex/context/base/mkxl/lang-lab.mkxl b/tex/context/base/mkxl/lang-lab.mkxl
index c8dc33ccc..e2227f88a 100644
--- a/tex/context/base/mkxl/lang-lab.mkxl
+++ b/tex/context/base/mkxl/lang-lab.mkxl
@@ -182,11 +182,11 @@
\tolerant\def\lang_labels_text_prefix_start[#1]#*[#2]#*[#3]% class language name
{\ifarguments\or\or
- \edef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
- \edef\currenttextprefixname{#2}%
+ \cdef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
+ \cdef\currenttextprefixname{#2}%
\else
- \edef\currenttextprefixtag{\reallanguagetag{#2}}%
- \edef\currenttextprefixname{#3}%
+ \cdef\currenttextprefixtag{\reallanguagetag{#2}}%
+ \cdef\currenttextprefixname{#3}%
\fi
\grabuntil{stop#1text}\lang_labels_text_prefix_start_indeed}
@@ -195,10 +195,10 @@
\tolerant\def\lang_labels_text_prefix_setup[#1]#*[#2]%
{\ifarguments\or
- \edef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
+ \cdef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
\processcommalist[#1]\lang_labels_text_prefix_setup_indeed
\else
- \edef\currenttextprefixtag{\reallanguagetag{#1}}%
+ \cdef\currenttextprefixtag{\reallanguagetag{#1}}%
\processcommalist[#2]\lang_labels_text_prefix_setup_indeed
\fi}
@@ -253,10 +253,10 @@
\tolerant\def\lang_labels_text_prefix_copy[#1]#*[#2]%
{\ifarguments\or
- \edef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
+ \cdef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
\processcommalist[#1]\lang_labels_text_prefix_copy_indeed
\else
- \edef\currenttextprefixtag{\reallanguagetag{#1}}%
+ \cdef\currenttextprefixtag{\reallanguagetag{#1}}%
\processcommalist[#2]\lang_labels_text_prefix_copy_indeed
\fi}
diff --git a/tex/context/base/mkxl/lang-tra.mkxl b/tex/context/base/mkxl/lang-tra.mkxl
index 402251f36..637d5ef97 100644
--- a/tex/context/base/mkxl/lang-tra.mkxl
+++ b/tex/context/base/mkxl/lang-tra.mkxl
@@ -40,7 +40,7 @@
\the\everytransliterations}
\permanent\tolerant\protected\def\settransliteration[#1]#;#2%
- {\edef\currenttransliteration{#1#2}%
+ {\cdef\currenttransliteration{#1#2}%
\lang_transliteration_common}
\permanent\protected\def\transliterationexception[#1]#2#3%
@@ -48,7 +48,7 @@
\permanent\tolerant\protected\def\starttransliteration[#1]#*[#2]%
{\begingroup
- \edef\currenttransliteration{#1}%
+ \cdef\currenttransliteration{#1}%
\ifparameter#2\or
\setupcurrenttransliteration[#2]%
\fi
@@ -61,7 +61,7 @@
\permanent\tolerant\protected\def\transliteration[#1]#;#2%
{\groupedcommand
- {\edef\currenttransliteration{#1#2}%
+ {\cdef\currenttransliteration{#1#2}%
\lang_transliteration_common
\transliterationparameter\c!left\relax}
{\transliterationparameter\c!right\relax}}
diff --git a/tex/context/base/mkxl/lxml-ini.mkxl b/tex/context/base/mkxl/lxml-ini.mkxl
index a185efd12..a1fb4fc48 100644
--- a/tex/context/base/mkxl/lxml-ini.mkxl
+++ b/tex/context/base/mkxl/lxml-ini.mkxl
@@ -261,11 +261,11 @@
\permanent\tolerant\protected\def\startxmldisplayverbatim[#1]%
{\startpacked
- \edef\currenttyping{#1}%
+ \cdef\currenttyping{#1}%
\ifempty\currenttyping
\let\currenttyping\v!typing
\else % maybe test for existence
- \edef\currenttyping{xml:\currenttyping}%
+ \cdef\currenttyping{xml:\currenttyping}%
\fi
\enforced\protected\def\stopxmldisplayverbatim
{\endofverbatimlines
@@ -277,11 +277,11 @@
\permanent\tolerant\protected\def\startxmlinlineverbatim[#1]%
{\begingroup
- \edef\currenttype{#1}%
+ \cdef\currenttype{#1}%
\ifempty\currenttype
\let\currenttype\v!type
\else % maybe test for existence
- \edef\currenttype{xml:\currenttype}%
+ \cdef\currenttype{xml:\currenttype}%
\fi
\enforced\let\stopxmlinlineverbatim\endgroup
\doinitializeverbatim}
diff --git a/tex/context/base/mkxl/math-ali.mkxl b/tex/context/base/mkxl/math-ali.mkxl
index 7fc95ac4b..790fb83b8 100644
--- a/tex/context/base/mkxl/math-ali.mkxl
+++ b/tex/context/base/mkxl/math-ali.mkxl
@@ -540,7 +540,7 @@
\permanent\tolerant\protected\def\math_alignment_start[#1]#*[#2]%
{\begingroup
- \edef\currentmathalignment{#1}%
+ \cdef\currentmathalignment{#1}%
\ifarguments\or\or
\setupmathalignment[#1][#2]%
\fi
@@ -913,7 +913,7 @@
\permanent\tolerant\protected\def\math_cases_simple[#1]#*[#2]#:#3%
{\begingroup
- \edef\currentmathcases{#1}%
+ \cdef\currentmathcases{#1}%
\setupcurrentmathcases[#2]%
\math_cases_start[\currentmathcases]%
\clf_simplecases{\mathcasesparameter\c!action}{#3}%
@@ -989,7 +989,7 @@
\permanent\tolerant\protected\def\math_cases_start[#1]#*[#2]%
{\begingroup
- \edef\currentmathcases{#1}%
+ \cdef\currentmathcases{#1}%
\ifarguments\or\or
\setupcurrentmathcases[#2]%
\fi
@@ -1788,7 +1788,7 @@
\c_math_eqalign_column_saved\c_math_eqalign_column
\c_math_eqalign_row_saved\c_math_eqalign_row
\globalpushmacro\c_math_eqalign_first
- \edef\currentmathmatrix{#1}%
+ \cdef\currentmathmatrix{#1}%
\setupcurrentmathmatrix[#2]%
\math_matrix_check_settings
\math_eqalign_set_defaults
@@ -1994,7 +1994,7 @@
\permanent\tolerant\protected\def\startnamedmatrix[#1]#*[#2]%
{\begingroup
- \edef\currentmathmatrix{#1}%
+ \cdef\currentmathmatrix{#1}%
\setupcurrentmathmatrix[#2]%
\math_matrix_start[\currentmathmatrix]}
@@ -2029,7 +2029,7 @@
\permanent\tolerant\protected\def\math_matrix_simple[#1]#*[#2]#:#3%
{\begingroup
- \edef\currentmathmatrix{#1}%
+ \cdef\currentmathmatrix{#1}%
\setupcurrentmathmatrix[#2]%
\math_matrix_start[\currentmathmatrix]%
\clf_simplematrix{\mathmatrixparameter\c!action}{#3}%
@@ -3015,7 +3015,7 @@
\permanent\tolerant\protected\def\math_simplealign_start[#1]#*[#2]%
{\begingroup
- \edef\currentmathsimplealign{#1}%
+ \cdef\currentmathsimplealign{#1}%
\ifarguments\or\or
\setupcurrentmathsimplealign[#2]%
\fi
@@ -3147,7 +3147,7 @@
\permanent\tolerant\protected\def\math_align_simple[#1]#*[#2]#:#3%
{\begingroup
- \edef\currentmathsimplealign{#1}%
+ \cdef\currentmathsimplealign{#1}%
\setupcurrentmathsimplealign[#2]%
\math_simplealign_start[\currentmathsimplealign]%
\clf_simplealign{\mathsimplealignparameter\c!alternative}{\mathsimplealignparameter\c!action}{#3}%
diff --git a/tex/context/base/mkxl/math-del.mkxl b/tex/context/base/mkxl/math-del.mkxl
index 35d71460b..112a20629 100644
--- a/tex/context/base/mkxl/math-del.mkxl
+++ b/tex/context/base/mkxl/math-del.mkxl
@@ -92,7 +92,7 @@
\permanent\tolerant\protected\def\mathdelimiter[#1]#*[#2]% so not really used (for now)
{\mathop
- {\edef\currentmathdelimiter{#1}%
+ {\cdef\currentmathdelimiter{#1}%
\iftok{#2}\emptytoks
\edef\p_factor{\mathdelimiterparameter\c!factor}%
\orelse\ifhastok={#2}%
diff --git a/tex/context/base/mkxl/math-dld.mklx b/tex/context/base/mkxl/math-dld.mklx
index 4f8cf8fb4..25433d65c 100644
--- a/tex/context/base/mkxl/math-dld.mklx
+++ b/tex/context/base/mkxl/math-dld.mklx
@@ -53,7 +53,7 @@
\tolerant\protected\def\math_delimited_handle#tag#*[#settings]#:#body%
{\begingroup
- \edef\currentmathdelimited{#tag}%
+ \cdef\currentmathdelimited{#tag}%
\setupcurrentmathdelimited[#settings]%
\math_delimited_alternative{%
\begincsname\??mathwhateverstrut\mathdelimitedparameter\c!strut\endcsname
diff --git a/tex/context/base/mkxl/math-fen.mkxl b/tex/context/base/mkxl/math-fen.mkxl
index 53c34c567..a550e2dcb 100644
--- a/tex/context/base/mkxl/math-fen.mkxl
+++ b/tex/context/base/mkxl/math-fen.mkxl
@@ -151,6 +151,10 @@
\newconstant\c_math_fenced_class
\newinteger \c_math_fence_check
+\integerdef\c_math_factor_fenced\zerocount
+
+\installglobalmacrostack\c_math_factor_fenced
+
\protected\def\math_fenced_common#1#2#3#4% \Uwhatever class symbol source
{\c_math_fenced_class\math_class_by_parameter\mathfenceparameter#2%
\math_fenced_check_size_mismatch % we need to catch an unbalanced \F as we are sequential
@@ -173,6 +177,15 @@
\edef\p_factor {\mathfenceparameter\c!factor}%
\edef\p_size {\mathfenceparameter\c!size}%
\edef\p_mathclass{\mathfenceparameter\c!mathclass}%
+\edef\p_inline_factor{\ifconditional\indisplaymath\mathfenceparameter\c!displayfactor\else\mathfenceparameter\c!inlinefactor\fi}%
+\ifempty\p_inline_factor
+ % nothing
+\orelse\ifx#1\Uleft
+ \push_macro_c_math_factor_fenced
+ \integerdef\c_math_factor_fenced\p_inline_factor\relax
+\orelse\ifx#1\Uright
+ \pop_macro_c_math_factor_fenced
+\fi
\ifnum\c_math_fenced_level>\zerocount
\math_fenced_common_factor_fixed
\orelse\ifconditional\c_math_fenced_sized
@@ -219,6 +232,10 @@
\s!top \mathfenceparameter\c!topspace
\s!bottom \mathfenceparameter\c!bottomspace
%
+\ifzero\c_math_factor_fenced\else
+ \s!factor \c_math_factor_fenced
+\fi
+ %
\math_fenced_trace
\ifx\p_fence\v!none
\Udelimiter\mathghostcode\fam\zerocount
@@ -319,12 +336,12 @@
\protected\def\math_fenced_fenced_start#1%
{\begingroup
%{\beginmathgroup
- \edef\currentmathfence{#1}%
+ \cdef\currentmathfence{#1}%
\math_fenced_fenced_common
\math_fenced_left}
\protected\def\math_fenced_fenced_stop#1%
- {\edef\currentmathfence{#1}%
+ {\cdef\currentmathfence{#1}%
\math_fenced_right
\stopusemathstyleparameter
\endgroup}
@@ -366,7 +383,7 @@
\tolerant\protected\def\math_fenced_horizontal#1#*[#2]#:#*#3#4%
{% \csname math\mathfenceparameter\c!mathclass\endcsname
\mathord \bgroup % class here
- \setlocalmathfencecurrent{#1}% \edef\currentmathfence{#1}%
+ \setlocalmathfencecurrent{#1}% \cdef\currentmathfence{#1}%
\setupcurrentmathfence[#2]%
% \usemathstyleparameter\mathfenceparameter\c!mathstyle
\setmathsmalltextbox\scratchboxone\hbox{\usemathfencestyleandcolor\c!leftstyle \c!leftcolor #3}%
@@ -407,7 +424,7 @@
\tolerant\protected\def\math_fenced_vertical#1#*[#2]%
{\begingroup
%{\beginmathgroup
- \setlocalmathfencecurrent{#1}% \edef\currentmathfence{#1}%
+ \setlocalmathfencecurrent{#1}% \cdef\currentmathfence{#1}%
% under test:
\setfalse\c_math_fenced_level_mode
\c_attr_mathsize\attributeunsetvalue
diff --git a/tex/context/base/mkxl/math-ini.mkxl b/tex/context/base/mkxl/math-ini.mkxl
index e269ed535..b6f10f5c9 100644
--- a/tex/context/base/mkxl/math-ini.mkxl
+++ b/tex/context/base/mkxl/math-ini.mkxl
@@ -934,7 +934,7 @@
\permanent\protected\tolerant\def\startmathematics[#1]% no grouping, if ever then also an optional second
{\push_macro_currentmathematics
- \edef\currentmathematics{#1}% check for valid
+ \cdef\currentmathematics{#1}% check for valid
\the\everyswitchmathematics}
\permanent\protected\def\stopmathematics
@@ -969,7 +969,7 @@
\ifcondition\validassignment{#1}%
\setupcurrentmathematics[#1]%
\else
- \edef\currentmathematics{#1}% check for valid
+ \cdef\currentmathematics{#1}% check for valid
\fi
\edef\p_openup{\mathematicsparameter\c!openup}%
\ifx\p_openup\v!yes
@@ -2035,7 +2035,7 @@
\def\math_function_handle_normal#1#2#3%
{\begingroup
- \edef\currentmathfunction{#2}%
+ \cdef\currentmathfunction{#2}%
\setupcurrentmathfunction[#3]%
\edef\p_limits{\mathfunctionparameter\c!mathlimits}%
\mathatom
@@ -2079,7 +2079,7 @@
\endgroup}
\def\math_function_handle_language_indeed#1#2#3%
- {\edef\currentmathfunction{#2}%
+ {\cdef\currentmathfunction{#2}%
\setupcurrentmathfunction[#3]%
\edef\p_command{\mathfunctionparameter\c!command}%
\ifempty\p_command
@@ -3847,7 +3847,7 @@
\tolerant\protected\def\math_text_handle_indeed#1#*[#2]#:#3#%
{\begingroup
- \edef\currentmathtext{#1}%
+ \cdef\currentmathtext{#1}%
\setupcurrentmathtext[#2]%
\normalizebodyfontsize\m_math_text_choice_face{\mathstyleface\normalmathstyle}%
\ifcstok{\mathtextparameter\c!alternative}\v!split
@@ -4687,25 +4687,48 @@
\mathinlinepenaltyfactor = 1500 % a reasonable default
\mathdisplaypenaltyfactor = 1000
-\permanent\tolerant\protected\def\definemathnesting[#1]#*[#2]#*[#3]%
- {\frozen\protected\edefcsname#1\endcsname{\math_nesting{#2}{#3}}}
+\setmathpostpenalty\mathpunctuationcode\plustenthousand
-\protected\def\math_nesting#1#2%
+\installcorenamespace{mathnesting}
+
+\installcommandhandler \??mathnesting {mathnesting} \??mathnesting
+
+\appendtoks
+ \frozen\protected\instance\edefcsname\currentmathnesting\endcsname{\math_nesting[\currentmathnesting]}%
+\to \everydefinemathnesting
+
+\newconstant\c_math_boundary_old
+\newconstant\c_math_boundary_new
+
+\protected\tolerant\def\math_nesting[#1]#*[#2]%
{\groupedcommand
- {\mathboundary\plustwo
+ {\cdef\currentmathnesting{#1}%
+ \setupcurrentmathnesting[#2]% \ifparameter#2\or...\fi can't work here due to nesting
+ \mathnestingparameter\c!left
+ \c_math_boundary_old\c_math_boundary_new
+ \c_math_boundary_new
\ifconditional\indisplaymath
- \ifchknum#2\or#2\else\mathdisplaypenaltyfactor\fi
+ \ifchknum\mathnestingparameter\c!displayfactor\or\lastnamedcs\else\mathdisplaypenaltyfactor\fi
\else
- \ifchknum#1\or#1\else\mathinlinepenaltyfactor\fi
+ \ifchknum\mathnestingparameter\c!inlinefactor \or\lastnamedcs\else\mathinlinepenaltyfactor \fi
\fi
- \relax}%
- {\mathboundary\plusone}}
+ \relax
+ \mathboundary\plustwo \c_math_boundary_new}%
+ {\mathboundary\plusthree\c_math_boundary_old
+ \mathnestingparameter\c!right}}
+
+\permanent\tolerant\protected\def\mathnesting[#1]%
+ {\groupedcommand
+ {\c_math_boundary_old\c_math_boundary_new
+ \c_math_boundary_new\ifchknum#1\or#1\orelse\ifconditional\indisplaymath\mathdisplaypenaltyfactor\else\mathinlinepenaltyfactor\fi\relax
+ \mathboundary\plustwo \c_math_boundary_new}%
+ {\mathboundary\plusthree\c_math_boundary_old}}
-\permanent\tolerant\protected\def\mathnesting[#1]#*[#2]%
- {\math_nesting{#1}{#2}}
+% \definemathnesting[triplet][left=(,right=),inlinefactor=500]
+% $ (a,b,c) + \triplet{1,2,3} + (p,q,r) $
-\definemathnesting[mathtogether][1500][1000]
-\definemathnesting[mathloose] [500][1000]
+\definemathnesting[mathtogether][\c!inlinefactor=1500]
+\definemathnesting[mathloose] [\c!inlinefactor=0500]
\protect \endinput
diff --git a/tex/context/base/mkxl/math-rad.mklx b/tex/context/base/mkxl/math-rad.mklx
index ee91243e0..ca02005fa 100644
--- a/tex/context/base/mkxl/math-rad.mklx
+++ b/tex/context/base/mkxl/math-rad.mklx
@@ -130,7 +130,7 @@
\tolerant\protected\def\math_radical_handle#tag#*[#settings]#*[#degree]#:#body%
{\begingroup
- \edef\currentmathradical{#tag}%
+ \cdef\currentmathradical{#tag}%
\ifhastok={#settings}%
\lettonothing\currentmathradicaldegree
\setupcurrentmathradical[#settings]%
@@ -313,7 +313,7 @@
\protected\def\math_ornament_handle#tag#body%
{\begingroup
- \edef\currentmathornament{#tag}%
+ \cdef\currentmathornament{#tag}%
\csname\??mathornamentalternative\mathornamentparameter\c!alternative\endcsname{#body}%
\endgroup}
diff --git a/tex/context/base/mkxl/math-stc.mklx b/tex/context/base/mkxl/math-stc.mklx
index 1e488af2c..4faca1933 100644
--- a/tex/context/base/mkxl/math-stc.mklx
+++ b/tex/context/base/mkxl/math-stc.mklx
@@ -339,7 +339,7 @@
\protected\def\math_stackers_triplet#method#category#codepoint#toptext#bottomtext%
{\begingroup
- \edef\currentmathstackers{#category}%
+ \cdef\currentmathstackers{#category}%
\mathstackersparameter\c!left\relax
\dostarttagged\t!mstacker\currentmathstackers
\ifmmode\math_atom_by_parameter\mathstackersparameter\else\dontleavehmode\fi
@@ -498,7 +498,7 @@
\tolerant\protected\def\math_stackers_auto_normal#1#2#*[#3]#:#=#*#=%
{\begingroup
\scratchcounter#2\relax
- \edef\currentmathstackers{\ifparameter#3\or#3\else#1\fi}%
+ \cdef\currentmathstackers{\ifparameter#3\or#3\else#1\fi}%
\math_stackers_triplet\zerocount\currentmathstackers\scratchcounter{#4}{#5}%
\endgroup}
@@ -526,7 +526,7 @@
\protected\def\math_stackers_start_group#category%
{\begingroup
- \edef\currentmathstackers{#category}%
+ \cdef\currentmathstackers{#category}%
\edef\p_limits{\mathstackersparameter\c!mathlimits}%
\ifx\p_limits\v!yes
\def\math_stackers_stop_group{\egroup\endgroup\ordlimits}%
@@ -697,7 +697,7 @@
\permanent\tolerant\protected\def\mathover[#category]#spacer[#settings]#:#topcode#text%
{\begingroup
- \edef\currentmathstackers{\ifparameter#category\or#category\else\v!top\fi}%
+ \cdef\currentmathstackers{\ifparameter#category\or#category\else\v!top\fi}%
\ifparameter#settings\or
\setupcurrentmathstackers[#settings]%
\fi
@@ -710,7 +710,7 @@
\permanent\tolerant\protected\def\mathunder[#category]#spacer[#settings]#:#bottomcode#text%
{\begingroup
- \edef\currentmathstackers{\ifparameter#category\or#category\else\v!bottom\fi}%
+ \cdef\currentmathstackers{\ifparameter#category\or#category\else\v!bottom\fi}%
\ifparameter#settings\or
\setupcurrentmathstackers[#settings]%
\fi
@@ -723,7 +723,7 @@
\permanent\tolerant\protected\def\mathdouble[#category]#spacer[#settings]#:#topcode#bottomcode#text%
{\begingroup
- \edef\currentmathstackers{\ifparameter#category\or#category\else\v!both\fi}%
+ \cdef\currentmathstackers{\ifparameter#category\or#category\else\v!both\fi}%
\ifparameter#settings\or
\setupcurrentmathstackers[#settings]%
\fi
@@ -746,7 +746,7 @@
\mathstackersparameter\c!left\relax
\dostarttagged\t!mstacker\currentmathstackers
\ifmmode\math_atom_by_parameter\mathstackersparameter\else\dontleavehmode\fi
- {\edef\currentmathstackers{#category}%
+ {\cdef\currentmathstackers{#category}%
%
\edef\p_offset {\mathstackersparameter\c!offset}%
\edef\p_location {\mathstackersparameter\c!location}%
@@ -913,16 +913,16 @@
\tolerant\protected\def\math_stackers_auto_triplet_yes[#1][#2]#*[#3]#:#=#*#=% [#2]% #2 gobble spaces
{\begingroup
- \edef\currentmathstackers{#1}%
+ \cdef\currentmathstackers{#1}%
\def \m_math_stackers_text_middle{#2}%
- \ifarguments#3\or\edef\currentmathstackers{#3}\fi
+ \ifarguments#3\or\cdef\currentmathstackers{#3}\fi
\math_stackers_triplet\plusone\currentmathstackers\m_math_stackers_text_middle{#4}{#5}%
\endgroup}
\tolerant\protected\def\math_stackers_auto_triplet_nop[#1]#*[#2]#:#=#*#=#*#=% [#2]% #2 gobble spaces%
{\begingroup
- \edef\currentmathstackers{#1}%
- \ifarguments#2\or\edef\currentmathstackers{#2}\fi
+ \cdef\currentmathstackers{#1}%
+ \ifarguments#2\or\cdef\currentmathstackers{#2}\fi
\math_stackers_triplet\plusone\currentmathstackers{#3}{#4}{#5}%
\endgroup}
@@ -1332,7 +1332,7 @@
\protected\def\math_stackers_unstacked_normal#category#codepoint%
{\begingroup
- \edef\currentmathstackers{#category}%
+ \cdef\currentmathstackers{#category}%
\edef\p_moffset{\mathstackersparameter\c!moffset}%
\ifconditional\indisplaymath
\ifempty\p_moffset \else
diff --git a/tex/context/base/mkxl/meta-ini.mkxl b/tex/context/base/mkxl/meta-ini.mkxl
index c5d86e2af..ad3399433 100644
--- a/tex/context/base/mkxl/meta-ini.mkxl
+++ b/tex/context/base/mkxl/meta-ini.mkxl
@@ -95,7 +95,7 @@
\permanent\tolerant\protected\def\startMPdefinitions#=#:#2\stopMPdefinitions
{\let\m_meta_saved_instance\currentMPinstance
- \edef\currentMPinstance{#1}%
+ \cdef\currentMPinstance{#1}%
\ifempty\currentMPinstance
\let\currentMPinstance\defaultMPinstance
\fi
@@ -116,7 +116,7 @@
\permanent\tolerant\protected\def\startMPinclusions[#1]#*#=#:#3\stopMPinclusions
{\let\m_meta_saved_instance\currentMPinstance % \pushmacro
- \edef\currentMPinstance{#2}%
+ \cdef\currentMPinstance{#2}%
\ifempty\currentMPinstance
\let\currentMPinstance\defaultMPinstance
\fi
@@ -136,7 +136,7 @@
\global\t_meta_inclusions\emptytoks
\fi
\ifparameter#3\or
- \edef\currentMPinstance{#2}%
+ \cdef\currentMPinstance{#2}%
\ifempty\currentMPinstance
\let\currentMPinstance\defaultMPinstance
\fi
@@ -187,16 +187,16 @@
{\let\meta_show_properties\donothing}
\protected\def\meta_analyze_graphicname_indeed[#1::#2::#3]% instance ::
- {\edef\currentMPgraphicname{#2}%
+ {\cdef\currentMPgraphicname{#2}%
\ifempty\currentMPgraphicname
- \edef\currentMPgraphicname{#1}%
+ \cdef\currentMPgraphicname{#1}%
\let\currentMPinstance\defaultMPinstance
\orelse\ifcsname\??mpdefinitions#1\endcsname
- \edef\currentMPinstance{#1}%
+ \cdef\currentMPinstance{#1}%
\else
\let\currentMPinstance\defaultMPinstance
\fi
- \edef\currentMPformat{\MPinstanceparameter\s!format}%
+ \cdef\currentMPformat{\MPinstanceparameter\s!format}%
\meta_show_properties}
\mutable\def\currentMPgraphicname{\s!unknown}
@@ -285,12 +285,12 @@
\popMPboundingbox}
\protected\def\meta_process_graphic_instance#1#2% used in startMPpage
- {\edef\currentMPinstance{#1}%
+ {\cdef\currentMPinstance{#1}%
\ifempty\currentMPinstance
\let\currentMPinstance\defaultMPinstance
\fi
\setmpcategoryparameter\c!stacking{#2}%
- \edef\currentMPformat{\MPinstanceparameter\s!format}%
+ \cdef\currentMPformat{\MPinstanceparameter\s!format}%
\meta_process_graphic}
\protected\def\meta_process_graphic#1% todo: extensions and inclusions outside beginfig
@@ -424,7 +424,7 @@
\d_overlay_height#3\relax
\edef\width {\the\d_overlay_width \space}% obsolete
\edef\height{\the\d_overlay_height\space}% obsolete
- \edef\currentMPclip{#1}%
+ \cdef\currentMPclip{#1}%
\ifcsname\??mpclip\currentMPclip\endcsname
\meta_grab_clip_path_yes
\else
@@ -684,7 +684,7 @@
{% ugly code but we run on top of older code
\resetdummyparameter\c!instance
\getdummyparameters[#1]%
- \edef\currentMPinstance{\dummyparameter\c!instance}%
+ \cdef\currentMPinstance{\dummyparameter\c!instance}%
% here we feed the instance into the analyzer
\meta_begin_graphic_group{\ifempty\currentMPinstance\else\currentMPinstance::\fi#1}%
\checkmpcategoryparent
@@ -754,7 +754,7 @@
% \permanent\tolerant\protected\def\useMPgraphic#=#*#=%
% {\meta_begin_graphic_group{#1}%
% \ifcsname\??mpgraphic#1\endcsname
-% \edef\currentmpcategory{#1}%
+% \cdef\currentmpcategory{#1}%
% \orelse\ifcsname\??mpgraphic\currentMPgraphicname\endcsname
% \let\currentmpcategory\currentMPgraphicname
% \else
@@ -776,11 +776,11 @@
{% ugly code but we run on top of older code
\resetdummyparameter\c!instance
\getdummyparameters[#1]%
- \edef\currentMPinstance{\dummyparameter\c!instance}%
+ \cdef\currentMPinstance{\dummyparameter\c!instance}%
% here we feed the instance into the analyzer
\meta_begin_graphic_group{\ifempty\currentMPinstance\else\currentMPinstance::\fi#2}%
\ifcsname\??mpgraphic#2\endcsname
- \edef\currentmpcategory{#2}%
+ \cdef\currentmpcategory{#2}%
\orelse\ifcsname\??mpgraphic\currentMPgraphicname\endcsname
\let\currentmpcategory\currentMPgraphicname
\else
@@ -798,7 +798,7 @@
\tolerant\def\meta_usempgraphic_nop#=#*#=%
{\meta_begin_graphic_group{#1}%
\ifcsname\??mpgraphic#1\endcsname
- \edef\currentmpcategory{#1}%
+ \cdef\currentmpcategory{#1}%
\orelse\ifcsname\??mpgraphic\currentMPgraphicname\endcsname
\let\currentmpcategory\currentMPgraphicname
\else
@@ -834,7 +834,7 @@
\def\meta_handle_overlay_graphic#1#2#3%
{\begingroup
- \edef\currentmpcategory{#1}%
+ \cdef\currentmpcategory{#1}%
\meta_process_graphic{#3;BoundToOverlayBox;}%
\endgroup}
@@ -970,12 +970,12 @@
% \permanent\tolerant\protected\def\startMPcode#=#:#2\stopMPcode
% {\begingroup
-% \edef\currentMPinstance{#1}%
+% \cdef\currentMPinstance{#1}%
% \ifempty\currentMPinstance
% \let\currentMPinstance\defaultMPinstance
% \fi
% \lettonothing\currentMPgraphicname
-% \edef\currentMPformat{\MPinstanceparameter\s!format}%
+% \cdef\currentMPformat{\MPinstanceparameter\s!format}%
% \meta_enable_include
% \meta_process_graphic{#2}%
% \endgroup}
@@ -985,12 +985,12 @@
\tolerant\def\meta_start_mpcode_nop#:#=#:#2\stopMPcode
{\begingroup
- \edef\currentMPinstance{#1}%
+ \cdef\currentMPinstance{#1}%
\ifempty\currentMPinstance
\let\currentMPinstance\defaultMPinstance
\fi
\lettonothing\currentMPgraphicname
- \edef\currentMPformat{\MPinstanceparameter\s!format}%
+ \cdef\currentMPformat{\MPinstanceparameter\s!format}%
\meta_enable_include
\meta_process_graphic{#2}%
\endgroup}
@@ -1000,13 +1000,13 @@
\resetdummyparameter\c!instance
\resetdummyparameter\c!stacking
\getdummyparameters[#1]%
- \edef\currentMPinstance{\dummyparameter\c!instance}%
+ \cdef\currentMPinstance{\dummyparameter\c!instance}%
\setmpcategoryparameter\c!stacking{\dummyparameter\c!stacking}%
\ifempty\currentMPinstance
\let\currentMPinstance\defaultMPinstance
\fi
\lettonothing\currentMPgraphicname
- \edef\currentMPformat{\MPinstanceparameter\s!format}%
+ \cdef\currentMPformat{\MPinstanceparameter\s!format}%
\meta_enable_include
\meta_process_graphic{#2}%
\endgroup}
@@ -1364,12 +1364,12 @@
\permanent\tolerant\protected\def\startMPcalculation#=#:#2\stopMPcalculation
{\begingroup
\setbox\nextbox\hpack\bgroup
- \edef\currentMPinstance{#1}%
+ \cdef\currentMPinstance{#1}%
\ifempty\currentMPinstance
\let\currentMPinstance\defaultMPinstance
\fi
\lettonothing\currentMPgraphicname
- \edef\currentMPformat{\MPinstanceparameter\s!format}%
+ \cdef\currentMPformat{\MPinstanceparameter\s!format}%
\meta_enable_include
\meta_process_graphic{#2;draw origin}%
\egroup
diff --git a/tex/context/base/mkxl/mult-aux.mkxl b/tex/context/base/mkxl/mult-aux.mkxl
index 4940aaa04..3df8c8309 100644
--- a/tex/context/base/mkxl/mult-aux.mkxl
+++ b/tex/context/base/mkxl/mult-aux.mkxl
@@ -284,7 +284,7 @@
\frozen\def#9##1##2{\expandafter\let\expandafter##1\csname\ifcsname#1#2:##2\endcsname#1#2:##2\else\expandafter#5\csname#1#2:\s!parent\endcsname{##2}\fi\endcsname}}
\permanent\protected\def\installparameterhandler#1#2%
- {\mutable\letcsname current#2\endcsname\empty
+ {\mutable\constant\letcsname current#2\endcsname\empty
\normalexpanded
{\mult_interfaces_install_parameter_handler
{\noexpand#1}% \??aa
@@ -366,15 +366,15 @@
\protected\def\mult_interfaces_install_style_and_color_handler#1#2#3#4%
{\frozen\protected\def#2##1##2% style color
- {\edef\currentstyleparameter{#1{##1}}% this name is public (can also set color e.g. in underline)
+ {\cdef\currentstyleparameter{#1{##1}}% this name is public (can also set color e.g. in underline)
\ifempty\currentstyleparameter\else\dousecurrentstyleparameter\fi
- \edef\currentcolorparameter{#1{##2}}% this name is public (so we do this after the style switch)
+ \cdef\currentcolorparameter{#1{##2}}% this name is public (so we do this after the style switch)
\ifempty\currentcolorparameter\else\dousecurrentcolorparameter\fi}%
\frozen\protected\def#3##1% style
- {\edef\currentstyleparameter{#1{##1}}% this name is public
+ {\cdef\currentstyleparameter{#1{##1}}% this name is public
\ifempty\currentstyleparameter\else\dousecurrentstyleparameter\fi}%
\frozen\protected\def#4##1% color
- {\edef\currentcolorparameter{#1{##1}}% this name is public
+ {\cdef\currentcolorparameter{#1{##1}}% this name is public
\ifempty\currentcolorparameter\else\dousecurrentcolorparameter\fi}}
\permanent\protected\def\installstyleandcolorhandler#1#2%
@@ -388,7 +388,7 @@
\def\mult_check_for_parent#1#2#3#4%
{\ifcsname#1#4:\s!parent\endcsname\orelse\ifx#4\empty\else
\writestatus\m!system{error: invalid parent #4 for #3, #4 defined too (best check it)}%
- \edefcsname#1#4:\s!parent\endcsname{#2}%
+ \cdefcsname#1#4:\s!parent\endcsname{#2}%
\fi}
\def\mult_interfaces_chain#1#2{\ifcsname#1#2:\s!chain\endcsname\lastnamedcs\space\fi}
@@ -412,13 +412,13 @@
\letcsname#1#4:\s!chain\endcsname\empty
\cdefcsname#1#4:\s!parent\endcsname{#3}%
\or
- \edef#4{##1}%
+ \cdef#4{##1}%
\the#5% predefine
\lettonothing#7%
\cdefcsname#1#4:\s!chain\endcsname{##1}%
\cdefcsname#1#4:\s!parent\endcsname{#3}%
\or
- \edef#4{##1}%
+ \cdef#4{##1}%
\the#5% predefine
\relax
\ifhastok={##2}%
@@ -427,7 +427,7 @@
\cdefcsname#1#4:\s!parent\endcsname{#3}%
\mult_interfaces_get_parameters{#1#4:}[##2]%
\else
- \edef#7{##2}%
+ \cdef#7{##2}%
\ifempty#7%
\cdefcsname#1#4:\s!chain\endcsname{##1}%
\cdefcsname#1#4:\s!parent\endcsname{#3}%
@@ -438,9 +438,9 @@
\fi
\fi
\or
- \edef#4{##1}%
+ \cdef#4{##1}%
\the#5% predefine
- \edef#7{##2}%
+ \cdef#7{##2}%
\mult_check_for_parent{#1}{#3}#4#7%
\cdefcsname#1#4:\s!chain\endcsname{\mult_interfaces_chain#1{##2}##1}%
\cdefcsname#1#4:\s!parent\endcsname{#1##2}%
@@ -471,7 +471,7 @@
{\let#6#3%
\ifnum\lastarguments=\plustwo
\def#8####1% we will have a simple one as well
- {\edef#3{####1}%
+ {\cdef#3{####1}%
\mult_interfaces_get_parameters{#1#3:}[##2]%
\the#4}%
\processcommalist[##1]#8%
@@ -501,10 +501,83 @@
\aliased\let\doingrootsetnamed \plusthree % \setuplayout[name]
\aliased\let\doingrootsetroot \plusfour % \setuplayout
-\protected\def\mult_interfaces_install_switch_setup_handler_a#1#2#3%
- {\frozen\protected\def#3{\mult_interfaces_get_parameters{#1#2:}}}
-
-\protected\def\mult_interfaces_install_switch_setup_handler_b#1#2#3#4#5#6#7#8#9%
+% \protected\def\mult_interfaces_install_switch_setup_handler_a#1#2#3%
+% {\frozen\protected\def#3{\mult_interfaces_get_parameters{#1#2:}}}
+
+% \protected\def\mult_interfaces_install_switch_setup_handler_b#1#2#3#4#5#6#7#8#9%
+% {\newtoks#5%
+% \newconstant#2%
+% \newtoks#8%
+% \newtoks#9%
+% \frozen\tolerant\protected\def#4[##1]##*[##2]% maybe helper
+% {\ifarguments
+% % \setuplayout
+% \let#6#3% % previous becomes current
+% \lettonothing#3% % current becomes empty
+% #2\doingrootsetroot
+% \the#5%
+% \the#8% switchsetups
+% \or
+% \ifhastok={##1}%
+% % \setuplayout[key=value]
+% \let#7#3%
+% \let#6#3%
+% \lettonothing#3%
+% #2\doingrootsetuproot
+% \mult_interfaces_get_parameters{#1:}[##1]%
+% \the#5%
+% \the#8% switchsetups
+% \let#3#7%
+% \else
+% % \setuplayout[whatever]
+% \let#6#3% % previous becomes current
+% \cdef#3{##1}% this will catch reset so one needs to test for it
+% \ifempty#3%
+% \let#7#6%
+% #2\doingrootsetuproot
+% \the#5%
+% \the#8% switchsetups
+% \let#3#7%
+% \else
+% #2\doingrootsetnamed
+% \the#5% % we can check for previous vs current
+% \the#8% switchsetups
+% \fi
+% \fi
+% \or
+% % \setuplayout[whatever][key=value]
+% \let#7#3%
+% \let#6#3%
+% \cdef#3{##1}%
+% #2\doingrootsetupnamed
+% \mult_interfaces_get_parameters{#1#3:}[##2]%
+% \the#5%
+% \ifx#3#6\the#8\fi % only switchsetups if previous == current
+% \let#3#7%
+% \fi
+% #2\zerocount % mode is always zero at the end
+% \the#9}}
+
+% \permanent\protected\def\installswitchsetuphandler#1#2%
+% {\mutable\letcsname current#2\endcsname\empty
+% \mutable\letcsname previous#2\endcsname\empty
+% \normalexpanded
+% {\mult_interfaces_install_switch_setup_handler_a
+% {\noexpand#1}% \??aa
+% \expandafter\noexpand\csname current#2\endcsname
+% \expandafter\noexpand\csname setupcurrent#2\endcsname
+% \mult_interfaces_install_switch_setup_handler_b
+% {\noexpand#1}% \??aa
+% \expandafter\noexpand\csname #2setupmode\endcsname
+% \expandafter\noexpand\csname current#2\endcsname
+% \expandafter\noexpand\csname setup#2\endcsname
+% \expandafter\noexpand\csname everysetup#2\endcsname
+% \expandafter\noexpand\csname previous#2\endcsname
+% \expandafter\noexpand\csname saved_setup_current#2\endcsname
+% \expandafter\noexpand\csname everyswitch#2\endcsname
+% \expandafter\noexpand\csname everysetup#2root\endcsname}}
+
+\protected\def\mult_interfaces_install_switch_setup_handler#1#2#3#4#5#6#7#8#9#A%
{\newtoks#5%
\newconstant#2%
\newtoks#8%
@@ -531,7 +604,7 @@
\else
% \setuplayout[whatever]
\let#6#3% % previous becomes current
- \edef#3{##1}% this will catch reset so one needs to test for it
+ \cdef#3{##1}% this will catch reset so one needs to test for it
\ifempty#3%
\let#7#6%
#2\doingrootsetuproot
@@ -548,7 +621,7 @@
% \setuplayout[whatever][key=value]
\let#7#3%
\let#6#3%
- \edef#3{##1}%
+ \cdef#3{##1}%
#2\doingrootsetupnamed
\mult_interfaces_get_parameters{#1#3:}[##2]%
\the#5%
@@ -556,17 +629,14 @@
\let#3#7%
\fi
#2\zerocount % mode is always zero at the end
- \the#9}}
+ \the#9}%
+ \frozen\protected\def#A{\mult_interfaces_get_parameters{#1#3:}}}
\permanent\protected\def\installswitchsetuphandler#1#2%
{\mutable\letcsname current#2\endcsname\empty
\mutable\letcsname previous#2\endcsname\empty
\normalexpanded
- {\mult_interfaces_install_switch_setup_handler_a
- {\noexpand#1}% \??aa
- \expandafter\noexpand\csname current#2\endcsname
- \expandafter\noexpand\csname setupcurrent#2\endcsname
- \mult_interfaces_install_switch_setup_handler_b
+ {\mult_interfaces_install_switch_setup_handler
{\noexpand#1}% \??aa
\expandafter\noexpand\csname #2setupmode\endcsname
\expandafter\noexpand\csname current#2\endcsname
@@ -575,7 +645,9 @@
\expandafter\noexpand\csname previous#2\endcsname
\expandafter\noexpand\csname saved_setup_current#2\endcsname
\expandafter\noexpand\csname everyswitch#2\endcsname
- \expandafter\noexpand\csname everysetup#2root\endcsname}}
+ \expandafter\noexpand\csname everysetup#2root\endcsname
+ \expandafter\noexpand\csname setupcurrent#2\endcsname}}
+
\protected\def\mult_interfaces_install_auto_setup_handler#1#2#3#4#5#6#7#8%
{\newtoks#4%
@@ -591,15 +663,15 @@
\the#4%
\or
\def#8####1%
- {\edef#3{####1}%
+ {\cdef#3{####1}%
#6% checks parent and sets if needed
\mult_interfaces_get_parameters{#1#3:}[##2]%
\the#4}%
\processcommalist[##1]#8%
\or
\def#8####1%
- {\edef#3{####1}%
- \defcsname#1#3:\s!parent\endcsname{#1##2}%
+ {\cdef#3{####1}%
+ \cdefcsname#1#3:\s!parent\endcsname{#1##2}%
\mult_interfaces_get_parameters{#1#3:}[##3]% always sets parent
\the#4}%
\processcommalist[##1]#8%
@@ -754,7 +826,7 @@
{\immutable\edefcsname\csname#1namespace\endcsname#2:\s!parent\endcsname{\csname#3namespace\endcsname#4}}
\permanent\protected\def\relateparameterhandlersbyns#1#2#3#4% {from} {instance} {to} {instance}
- {\edefcsname#1#2:\s!parent\endcsname{#3#4}}
+ {\cdefcsname#1#2:\s!parent\endcsname{#3#4}}
%D Here is another experiment:
@@ -766,7 +838,7 @@
\or
%\ifcondition\expandafter\mult_check_for_assignment_indeed_begin_\detokenize{##1}=^^^^0003^^^^0003^^^^0004%
% \ifcondition\mult_aux_no_assignment_indeed##1\ignorearguments
- % \edef#2{##1}%
+ % \cdef#2{##1}%
% \else
% \lettonothing#2%
% #3[##1]%
@@ -775,10 +847,10 @@
\lettonothing#2%
#3[##1]%
\else
- \edef#2{##1}%
+ \cdef#2{##1}%
\fi
\or
- \edef#2{##1}%
+ \cdef#2{##1}%
#3[##2]%
\fi
\directsetup{handler:action:#1}%
@@ -1022,14 +1094,14 @@
\frozen\protected\def#4##1%
{\pushmacro#6%
\advanceby#3\plusone
- \edef#6{##1}%
+ \cdef#6{##1}%
\unprotect}%
\frozen\protected\def#5%
{\protect
\advanceby#3\minusone
\popmacro#6}%
\frozen\protected\def#7##1%
- {\edef#6{##1}%
+ {\cdef#6{##1}%
#2%
\the\c_mult_set\relax}}
@@ -1072,7 +1144,7 @@
\protected\def\mult_interfaces_install_parent_injector#1#2#3#4%
{\frozen\protected\def#4##1%
{\ifempty#3%
- \defcsname#1#2:\s!parent\endcsname{#1##1}%
+ \cdefcsname#1#2:\s!parent\endcsname{#1##1}% was def
\fi}}
\permanent\protected\def\installparentinjector#1#2%
@@ -1087,8 +1159,8 @@
\permanent\protected\def\mult_interfaces_install_local_current_injector#1#2#3#4%
{\protected\def#4##1%
{\advanceby#2\plusone
- \edef#3{##1:\the#2}% \currentXXX
- \edefcsname#1#3:\s!parent\endcsname{#1##1}}}
+ \cdef#3{##1:\the#2}% \currentXXX
+ \cdefcsname#1#3:\s!parent\endcsname{#1##1}}}
\permanent\protected\def\installlocalcurrenthandler#1#2% \??XXX {XXX}
{\expandafter\newinteger\csname#1:\s!counter\endcsname
@@ -1178,7 +1250,7 @@
\csname\??commalistprocessornext#1\endcsname}}
\permanent\protected\def\installcommalistprocessorcommand#1#2% \processor \action
- {\edef\p_name{\csstring#2}%
+ {\cdef\p_name{\csstring#2}%
\installcommalistprocessor\p_name{#2}%
\expandafter\let\expandafter#1\csname\??commalistprocessor\p_name\endcsname}
@@ -1213,7 +1285,7 @@
\the#4%
\or
\def#8####1%
- {\edef#3{####1}%
+ {\cdef#3{####1}%
#6% checks parent and sets if needed
\let\mult_interfaces_adef\mult_interfaces_adef_nop
\mult_interfaces_get_parameters{#1#3:}[##2]%
@@ -1222,8 +1294,8 @@
\processcommalist[##1]#8%
\or
\def#8####1%
- {\edef#3{####1}%
- \defcsname#1#3:\s!parent\endcsname{#1##2}%
+ {\cdef#3{####1}%
+ \cdefcsname#1#3:\s!parent\endcsname{#1##2}%
\let\mult_interfaces_adef\mult_interfaces_adef_nop
\mult_interfaces_get_parameters{#1#3:}[##3]% always sets parent
\let\mult_interfaces_adef\mult_interfaces_adef_yes
diff --git a/tex/context/base/mkxl/mult-sys.mkxl b/tex/context/base/mkxl/mult-sys.mkxl
index f40282cbd..cbc644739 100644
--- a/tex/context/base/mkxl/mult-sys.mkxl
+++ b/tex/context/base/mkxl/mult-sys.mkxl
@@ -209,6 +209,7 @@
\definesystemconstant {external}
\definesystemconstant {ex}
\definesystemconstant {e}
+\definesystemconstant {factor}
\definesystemconstant {fallbacks}
\definesystemconstant {fallback}
\definesystemconstant {false}
diff --git a/tex/context/base/mkxl/node-rul.mkxl b/tex/context/base/mkxl/node-rul.mkxl
index 04c0e0dc3..70b62b8b0 100644
--- a/tex/context/base/mkxl/node-rul.mkxl
+++ b/tex/context/base/mkxl/node-rul.mkxl
@@ -135,7 +135,7 @@
\newinteger\c_node_rules_down
\permanent\protected\def\node_rules_set#1%
- {\edef\currentbar{#1}%
+ {\cdef\currentbar{#1}%
\advanceby\c_node_rules_level\plusone
\usebarstyleandcolor\c!foregroundstyle\c!foregroundcolor
\edef\p_node_color {\barparameter\c!color}% todo
diff --git a/tex/context/base/mkxl/pack-box.mkxl b/tex/context/base/mkxl/pack-box.mkxl
index ea270f88b..07b4c7950 100644
--- a/tex/context/base/mkxl/pack-box.mkxl
+++ b/tex/context/base/mkxl/pack-box.mkxl
@@ -1170,7 +1170,7 @@
\permanent\tolerant\protected\def\setanchorbox[#1]#*[#2]%
{\begingroup
\dowithnextbox
- {\def\currentanchorbox{#1}%
+ {\cdef\currentanchorbox{#1}%
\setupboxanchor[#2]%
\scratchcounterone\csname\??boxanchorbox#1\endcsname\relax
\scratchxoffset\boxanchorparameter\c!xoffset\relax
@@ -1296,7 +1296,7 @@
{\ifhastok={#2}%
\setupcurrentboxanchorcontent[#2]%
\else
- \def\currentboxanchorcontent{#2}%
+ \cdef\currentboxanchorcontent{#2}%
\setupcurrentboxanchorcontent[#3]%
\fi
\scratchxoffset\boxanchorcontentparameter\c!xoffset
diff --git a/tex/context/base/mkxl/pack-com.mkxl b/tex/context/base/mkxl/pack-com.mkxl
index e07e0ff8d..5277d13fa 100644
--- a/tex/context/base/mkxl/pack-com.mkxl
+++ b/tex/context/base/mkxl/pack-com.mkxl
@@ -230,7 +230,7 @@
% \permanent\tolerant\protected\def\startcombination[#1]#*[#2]% can be simplified
% {\bgroup % so we can grab a group
% \pack_combinations_push
-% \edef\currentcombination{#1}%
+% \cdef\currentcombination{#1}%
% \edef\p_nx_ny{#2}%
% %
% \ifempty\p_nx_ny
@@ -322,7 +322,7 @@
\permanent\tolerant\protected\def\startcombination[#1]#*[#2]% can be simplified
{\bgroup % so we can grab a group
\pack_combinations_push
- \edef\currentcombination{#1}%
+ \cdef\currentcombination{#1}%
\edef\p_nx_ny{#2}%
%
\ifempty\p_nx_ny
@@ -832,7 +832,7 @@
\permanent\tolerant\protected\def\startplacepairedbox[#1]#*[#2]%
{\bgroup
- \edef\currentpairedbox{#1}%
+ \cdef\currentpairedbox{#1}%
\setupcurrentpairedbox[#2]%
\pairedboxparameter\c!before
\bgroup
diff --git a/tex/context/base/mkxl/pack-lyr.mkxl b/tex/context/base/mkxl/pack-lyr.mkxl
index cc4a7381f..6c6058dab 100644
--- a/tex/context/base/mkxl/pack-lyr.mkxl
+++ b/tex/context/base/mkxl/pack-lyr.mkxl
@@ -210,7 +210,7 @@
{\bgroup
\nofarguments\lastarguments
\checkpositionoverlays % otherwise funny regions
- \edef\currentlayer{#1}%
+ \cdef\currentlayer{#1}%
\edef\p_pack_layers_state{\layerparameter\c!state}%
\ifx\p_pack_layers_state\v!stop
\dowithnextboxcs\egroup\hbox % no pack ?
@@ -509,7 +509,7 @@
\permanent\protected\def\flushlayer[#1]% quite core, so optimized (todo: check for void)
{\begingroup
\forgetall
- \edef\currentlayer{#1}%
+ \cdef\currentlayer{#1}%
\edef\p_pack_layers_state{\layerparameter\c!state}%
\ifx\p_pack_layers_state\v!stop
% nothing
@@ -660,7 +660,7 @@
\box\nextbox
%
\pack_layers_bottom_fill}%
- % \edef\currentlayer{#2}% :\the\realpageno}% local .. check \anchor
+ % \cdef\currentlayer{#2}% :\the\realpageno}% local .. check \anchor
\edef\p_pack_layers_position{\layerparameter\c!position}% local
\ifx\p_pack_layers_position\v!yes
\edef\p_pack_layers_region{\layerparameter\c!region}%
diff --git a/tex/context/base/mkxl/pack-mat.mkxl b/tex/context/base/mkxl/pack-mat.mkxl
index a810c8a47..3b9883082 100644
--- a/tex/context/base/mkxl/pack-mat.mkxl
+++ b/tex/context/base/mkxl/pack-mat.mkxl
@@ -105,7 +105,7 @@
%
\scratchdimen\Umathaxis\Ustyle\mathstyle
%
- \edef\currentframed{#1}%
+ \cdef\currentframed{#1}%
\setbox\scratchbox\hbox{\localframedwithsettings[#1][#2]%
{\strut\global\dimensiondef\d_math_framed_offset\dimexpr
\framedoffset/2
@@ -297,7 +297,7 @@
\tolerant\protected\def\pack_framed_mathframed[#1]#*[#2]#:#3% needs testing !
{\begingroup
- \edef\currentmathframed{#1}%
+ \cdef\currentmathframed{#1}%
\setupcurrentmathframed[#2]%
\c_framed_mstyle\normalmathstyle
\edef\m_framed_location{\mathframedparameter\c!location}%
diff --git a/tex/context/base/mkxl/pack-mis.mklx b/tex/context/base/mkxl/pack-mis.mklx
index 5c63f533c..425e79917 100644
--- a/tex/context/base/mkxl/pack-mis.mklx
+++ b/tex/context/base/mkxl/pack-mis.mklx
@@ -45,7 +45,7 @@
\protected\def\pack_placement#tag%
{\bgroup
- \edef\currentplacement{#tag}%
+ \cdef\currentplacement{#tag}%
\doifelsenextoptionalcs\pack_placement_yes\pack_placement_nop}
\def\pack_placement_yes[#settings]%
diff --git a/tex/context/base/mkxl/pack-pos.mkxl b/tex/context/base/mkxl/pack-pos.mkxl
index 74ec38629..218570f84 100644
--- a/tex/context/base/mkxl/pack-pos.mkxl
+++ b/tex/context/base/mkxl/pack-pos.mkxl
@@ -62,10 +62,10 @@
\lettonothing\currentpositioning
\setupcurrentpositioning[#1]%
\else
- \edef\currentpositioning{#1}%
+ \cdef\currentpositioning{#1}%
\fi
\or
- \edef\currentpositioning{#1}%
+ \cdef\currentpositioning{#1}%
\setupcurrentpositioning[#2]%
\fi
\d_pack_positioning_x_position \zeropoint
diff --git a/tex/context/base/mkxl/pack-rul.mkxl b/tex/context/base/mkxl/pack-rul.mkxl
index 7ce169f42..afee1a8f6 100644
--- a/tex/context/base/mkxl/pack-rul.mkxl
+++ b/tex/context/base/mkxl/pack-rul.mkxl
@@ -908,7 +908,7 @@
{\bgroup
\advanceby\c_pack_framed_nesting\plusone
\letcsname\??framed>\the\c_pack_framed_nesting:\s!parent\endcsname\??framed
- \edef\currentframed{>\the\c_pack_framed_nesting}%
+ \cdef\currentframed{>\the\c_pack_framed_nesting}%
\pack_framed_initialize
\bgroup
\setupcurrentframed[#1]% here !, seldom no argument so no need to optimize
@@ -923,17 +923,17 @@
\ifhastok={#1}%
\advanceby\c_pack_framed_nesting\plusone
\letcsname\??framed>\the\c_pack_framed_nesting:\s!parent\endcsname\??framed
- \edef\currentframed{>\the\c_pack_framed_nesting}%
+ \cdef\currentframed{>\the\c_pack_framed_nesting}%
\pack_framed_initialize
\bgroup
\setupcurrentframed[#1]% here !
\else
- \edef\currentframed{#1}%
+ \cdef\currentframed{#1}%
\pack_framed_initialize
\bgroup
\fi
\else
- \edef\currentframed{#1}%
+ \cdef\currentframed{#1}%
\pack_framed_initialize
\bgroup
\setupcurrentframed[#2]% here !
@@ -953,7 +953,7 @@
\advanceby\c_pack_framed_nesting\plusone
\letcsname\??framed>\the\c_pack_framed_nesting:\s!parent\endcsname\??framed
\bgroup
- \edef\currentframed{>\the\c_pack_framed_nesting}%
+ \cdef\currentframed{>\the\c_pack_framed_nesting}%
\pack_framed_initialize
\setupcurrentframed[#1]%
\pack_framed_process_indeed}
@@ -992,7 +992,7 @@
\permanent\protected\def\fastlocalframed[#1]#*[#2]#3%
{\bgroup
- \edef\currentframed{#1}%
+ \cdef\currentframed{#1}%
\pack_framed_initialize
\setbox\b_framed_normal\hbox{#3}%
\iftrialtypesetting \else
@@ -1075,7 +1075,7 @@
\permanent\protected\def\localbackgroundframed#1% namespace component box
{\bgroup
- \edef\currentframed{#1}%
+ \cdef\currentframed{#1}%
\pack_framed_initialize
\pack_framed_process_box_indeed} % group ends here
@@ -1141,7 +1141,7 @@
\permanent\tolerant\protected\def\localframed[#1]#*[#2]%
{\bgroup
\bgroup
- \edef\currentframed{#1}%
+ \cdef\currentframed{#1}%
\pack_framed_initialize
\setupcurrentframed[#2]% here !
\pack_framed_process_indeed}
@@ -1149,7 +1149,7 @@
\permanent\protected\def\directlocalframed[#1]% no optional
{\bgroup
\bgroup
- \edef\currentframed{#1}%
+ \cdef\currentframed{#1}%
\pack_framed_initialize
\pack_framed_process_indeed}
@@ -2756,7 +2756,7 @@
\tolerant\protected\def\pack_framed_text_start[#1]#*[#2]#*[#3]% or #1#*[#2]#*[#3]% and pass {#1}
{\bgroup
- \edef\currentframedtext{#1}%
+ \cdef\currentframedtext{#1}%
\doifelseassignment{#2}
{\pack_framed_text_start_indeed\empty{#2}}
{\pack_framed_text_start_indeed{#2}{#3}}}
@@ -2889,7 +2889,7 @@
\tolerant\protected\def\pack_framed_text_direct[#1]#*[#2]%
{\bgroup
- \edef\currentframedtext{#1}%
+ \cdef\currentframedtext{#1}%
\usebodyfontparameter\framedtextparameter
\setupcurrentframedtext[#2]%
\edef\p_framed_text_strut{\framedtextparameter\c!strut}%
@@ -2956,7 +2956,7 @@
% \advanceby\c_pack_framed_temp\plusone
% \defcsname\??framed#1>\the\c_pack_framed_temp:\s!parent\endcsname{\??framed#1}% \inheritlocalframed
% \bgroup
-% \edef\currentframed{#1>\the\c_pack_framed_temp}%
+% \cdef\currentframed{#1>\the\c_pack_framed_temp}%
% \pack_framed_initialize
% \setupcurrentframed[#2]% here !
% \pack_framed_process_indeed}
@@ -2972,7 +2972,7 @@
\advanceby\scratchcounter\plusone
\defcsname\??framed#1>\the\scratchcounter:\s!parent\endcsname{\??framed#1}% \inheritlocalframed
\bgroup
- \edef\currentframed{#1>\the\scratchcounter}%
+ \cdef\currentframed{#1>\the\scratchcounter}%
\pack_framed_initialize
\setupcurrentframed[#2]% here !
\pack_framed_process_indeed}
@@ -3044,7 +3044,7 @@
\permanent\tolerant\protected\def\startframedcontent[#1]%
{\bgroup
- \edef\currentframedcontent{#1}%
+ \cdef\currentframedcontent{#1}%
\ifx\currentframedcontent\v!off
\enforced\let\stopframedcontent\egroup
\else
diff --git a/tex/context/base/mkxl/page-bck.mkxl b/tex/context/base/mkxl/page-bck.mkxl
index bdea7b2fe..2843b98b8 100644
--- a/tex/context/base/mkxl/page-bck.mkxl
+++ b/tex/context/base/mkxl/page-bck.mkxl
@@ -145,7 +145,7 @@
\def\page_backgrounds_set_nop{\letcsname\currentotrbackground\endcsname\undefined}
\protected\def\page_backgrounds_check#1%
- {\edef\currentotrbackground{\??layoutbackgrounds#1}%
+ {\cdef\currentotrbackground{\??layoutbackgrounds#1}%
\page_backgrounds_check_background}
\permanent\def\doifelsesomebackground#1%
@@ -532,7 +532,7 @@
\the\everybackgroundssetup}
\protected\def\page_backgrounds_setup_and_check#1#2% tag settings
- {\edef\currentotrbackground{\??layoutbackgrounds#1}%
+ {\cdef\currentotrbackground{\??layoutbackgrounds#1}%
\setupframed[\currentotrbackground][#2]%
\page_backgrounds_check_background}
@@ -648,7 +648,7 @@
\permanent\protected\def\pushbackground[#1]%
{\pushmacro\popbackground
- \edef\currentotrbackground{\??layoutbackgrounds#1}%
+ \cdef\currentotrbackground{\??layoutbackgrounds#1}%
\enforced\permanent\protected\edef\popbackground
{\setupframed
[\currentotrbackground]
diff --git a/tex/context/base/mkxl/page-brk.mkxl b/tex/context/base/mkxl/page-brk.mkxl
index 8c92148fc..54ec22e9b 100644
--- a/tex/context/base/mkxl/page-brk.mkxl
+++ b/tex/context/base/mkxl/page-brk.mkxl
@@ -376,7 +376,7 @@
\relax
\ifconditional\c_page_breaks_enabled
\begingroup
- \edef\currentpagechecker{#1}%
+ \cdef\currentpagechecker{#1}%
\setupcurrentpagechecker[#2]%
\csname\??pagecheckermethod\pagecheckerparameter\c!method\endcsname
\endgroup
diff --git a/tex/context/base/mkxl/page-cst.mkxl b/tex/context/base/mkxl/page-cst.mkxl
index 6e5ed2168..393d25480 100644
--- a/tex/context/base/mkxl/page-cst.mkxl
+++ b/tex/context/base/mkxl/page-cst.mkxl
@@ -137,7 +137,7 @@
\def\currentpagegrid{#1}%
\fi
\or
- \edef\currentpagegrid{#1}%
+ \cdef\currentpagegrid{#1}%
\setupcurrentpagegrid[#2]%
\fi
\usepageparameter\pagegridparameter
@@ -309,7 +309,7 @@
\page_lines_add_numbers_to_box\b_page_grd_column\privatescratchcounter\c_page_grd_n_of_left\plustwo
\fi
\begingroup
- \edef\currentpagegrid{\currentpagegrid:#1}%
+ \cdef\currentpagegrid{\currentpagegrid:#1}%
\inheritedpagegridframedbox\box\b_page_grd_column
\endgroup}
@@ -641,7 +641,7 @@
\synchronizepagegrid
\bgroup
\forgetall
- \edef\currentpagegridspan{#1}%
+ \cdef\currentpagegridspan{#1}%
\clf_sethsizecolumnspan{\currentpagegrid}\pagegridspanparameter\c!n\relax
\setbox\scratchbox\hbox\bgroup\inheritedpagegridspanframed\bgroup
\def\page_grd_span_stop{\page_grd_span_stop_indeed{#2}}%
@@ -718,7 +718,7 @@
\to \everydefinepagegridarea
\permanent\tolerant\protected\def\setuppagegridareatext[#1]#*[#2]%
- {\edef\currentpagegridarea{#1}%
+ {\cdef\currentpagegridarea{#1}%
\setpagegridareaparameter\c!text{#2}}
% maybe move the left/right correction to the tex end or the offset to lua
@@ -727,7 +727,7 @@
\permanent\protected\def\setpagegridarea#1#2#3#4#5#6#7#8% can be optimized
{\begingroup
- \edef\currentpagegridarea{#2}%
+ \cdef\currentpagegridarea{#2}%
\setpagegridareaparameter\c!width {#5\scaledpoint}%
\setpagegridareaparameter\c!height{#6\scaledpoint}%
\setbox\nextbox\hpack\bgroup\inheritedpagegridareaframed\bgroup
diff --git a/tex/context/base/mkxl/page-ffl.mkxl b/tex/context/base/mkxl/page-ffl.mkxl
index 02c56e2e9..71c91d810 100644
--- a/tex/context/base/mkxl/page-ffl.mkxl
+++ b/tex/context/base/mkxl/page-ffl.mkxl
@@ -192,7 +192,7 @@
\def\strc_floats_facing_flush_indeed#1%
{\begingroup
- \edef\currentfacingfloat{#1}%
+ \cdef\currentfacingfloat{#1}%
\glet\page_check_weird_page\page_check_weird_page_indeed % for now only when facing floats
\scratchcounterone \realpageno
\scratchcounterthree\getboxcountfromcache{\currentfacingfloat:\v!left }\relax
@@ -251,7 +251,7 @@
{\processcommalist[#1]\strc_floats_facing_flush_indeed}
\protected\def\strc_floats_facing_setup
- {\edef\currentfacingfloat{\currentfacingfloat:\m_strc_floats_state}%
+ {\cdef\currentfacingfloat{\currentfacingfloat:\m_strc_floats_state}%
\usefacingfloatstyleandcolor\c!style\v!color}
\protected\def\strc_floats_facing_collect
@@ -298,7 +298,7 @@
\permanent\protected\def\startfacingfloat[#1]%
{\begingroup
- \edef\currentfacingfloat{#1}%
+ \cdef\currentfacingfloat{#1}%
\edef\p_width{\facingfloatparameter\c!width}%
\letfacingfloatparameter\c!width\v!fit
\ifx\p_width\v!frame
@@ -345,7 +345,7 @@
\else
\begingroup
\setbox\scratchboxone\hpack\bgroup
- \edef\currentfacingfloat{\currentfacingfloat:#2}%
+ \cdef\currentfacingfloat{\currentfacingfloat:#2}%
\inheritedfacingfloatframed{\strut}%
\egroup
\scratchdimenone\dimexpr\textheight-\htdp\scratchboxone+\lineheight\relax
@@ -354,7 +354,7 @@
\setbox\scratchbox\vsplit#1 upto \scratchdimenone
\setsplitlisthtdp\scratchbox\strutht\strutdp
\setbox\scratchbox\hpack\bgroup
- \edef\currentfacingfloat{\currentfacingfloat:#2}%
+ \cdef\currentfacingfloat{\currentfacingfloat:#2}%
\inheritedfacingfloatframed{\box\scratchbox}%
\egroup
\setbox\scratchbox\vbox
diff --git a/tex/context/base/mkxl/page-flt.mkxl b/tex/context/base/mkxl/page-flt.mkxl
index fb6996264..f9d0d41f6 100644
--- a/tex/context/base/mkxl/page-flt.mkxl
+++ b/tex/context/base/mkxl/page-flt.mkxl
@@ -329,7 +329,7 @@
{\doifnotinset\v!high\floatspecification\vfill
\box\floatbox
\doifnotinset\v!low\floatspecification\vfill}%
- % \page_otr_fill_and_eject_page
+ \page_otr_fill_and_eject_page % needed
\global\settrue\c_page_floats_flushed}
\protected\def\page_floats_flush_page_floats % used in postpone
diff --git a/tex/context/base/mkxl/page-flw.mkxl b/tex/context/base/mkxl/page-flw.mkxl
index c1d480e98..f453f490b 100644
--- a/tex/context/base/mkxl/page-flw.mkxl
+++ b/tex/context/base/mkxl/page-flw.mkxl
@@ -100,7 +100,7 @@
\permanent\protected\def\starttextflow[#1]%
{\begingroup
- \edef\currenttextflow{#1}%
+ \cdef\currenttextflow{#1}%
\ifcsname\??textflowbox\currenttextflow\endcsname
\b_page_textflow_box\csname\??textflowbox\currenttextflow\endcsname
\global\setbox\b_page_textflow_box\vbox
@@ -120,7 +120,7 @@
\permanent\protected\def\flushtextflow#1%
{\begingroup
- \edef\currenttextflow{#1}%
+ \cdef\currenttextflow{#1}%
\ifcsname\??textflowbox\currenttextflow\endcsname
\b_page_textflow_box\csname\??textflowbox\currenttextflow\endcsname
\ifvoid\b_page_textflow_box
diff --git a/tex/context/base/mkxl/page-inj.mklx b/tex/context/base/mkxl/page-inj.mklx
index 2e245fd8b..b15be11ba 100644
--- a/tex/context/base/mkxl/page-inj.mklx
+++ b/tex/context/base/mkxl/page-inj.mklx
@@ -51,7 +51,7 @@
\def\page_injections_flush_saved#name#parameters%
{\begingroup
- \edef\currentpageinjection{#name}%
+ \cdef\currentpageinjection{#name}%
\getdummyparameters[#parameters]%
\edef\currentpageinjectionalternative {\pageinjectionparameter \c!alternative }%
\edef\p_page_injectionalternative_rederingsetup{\pageinjectionalternativeparameter\c!renderingsetup}%
@@ -87,12 +87,12 @@
\page_injections_direct_indeed}
\def\page_injections_direct_name_parameters#name% #parameters%
- {\edef\currentpageinjection{#name}%
+ {\cdef\currentpageinjection{#name}%
\checkpageinjectionparent
\page_injections_direct_indeed}
\def\page_injections_direct_name#name%
- {\edef\currentpageinjection{#name}%
+ {\cdef\currentpageinjection{#name}%
\checkpageinjectionparent
\page_injections_direct_indeed{}}
diff --git a/tex/context/base/mkxl/page-ins.mkxl b/tex/context/base/mkxl/page-ins.mkxl
index 8d2dfe846..854680a32 100644
--- a/tex/context/base/mkxl/page-ins.mkxl
+++ b/tex/context/base/mkxl/page-ins.mkxl
@@ -65,7 +65,7 @@
%D Maybe some day we will move settings here.
\permanent\protected\def\setcurrentinsertion#1%
- {\edef\currentinsertion{#1}%
+ {\cdef\currentinsertion{#1}%
\currentinsertionnumber\csname\??insertionnumber\currentinsertion\endcsname}
\permanent\def\namedinsertionnumber#1{\csname\??insertionnumber#1\endcsname}
@@ -80,7 +80,7 @@
\to \everysetupinsertion
\protected\def\page_inserts_process#1% beware, this adapts currentinsertion !
- {\edef\currentinsertion{#1}%
+ {\cdef\currentinsertion{#1}%
\currentinsertionnumber\csname\??insertionnumber\currentinsertion\endcsname
\doprocessinsert\currentinsertionnumber} % old method
diff --git a/tex/context/base/mkxl/page-lay.mkxl b/tex/context/base/mkxl/page-lay.mkxl
index 5e2281a2f..cac9b87a7 100644
--- a/tex/context/base/mkxl/page-lay.mkxl
+++ b/tex/context/base/mkxl/page-lay.mkxl
@@ -387,7 +387,7 @@
% \definepapersize[name][settings]
\permanent\tolerant\protected\def\definepapersize[#1]#*[#2]#*[#3]%
- {\edef\currentlayouttarget{#1}%
+ {\cdef\currentlayouttarget{#1}%
\ifempty\currentlayouttarget
% invalid target
\orelse\ifhastok={#2}%
@@ -558,7 +558,7 @@
\protected\def\page_paper_identify_target#1%
{\ifcsname\??layoutcurrent#1\endcsname
- \edef\currentlayouttarget{#1}%
+ \cdef\currentlayouttarget{#1}%
\fi}
\newdimension\d_page_minimum_paper_size \d_page_minimum_paper_size\luaexpr{math.pi}\onebasepoint
diff --git a/tex/context/base/mkxl/page-lin.mklx b/tex/context/base/mkxl/page-lin.mklx
index 71a0e0c6e..039254e78 100644
--- a/tex/context/base/mkxl/page-lin.mklx
+++ b/tex/context/base/mkxl/page-lin.mklx
@@ -247,7 +247,7 @@
\page_lines_start_followup}
\def\page_lines_start_two[#1][#2]% [tag][continue|<number>|settings]
- {\edef\currentlinenumbering{#1}%
+ {\cdef\currentlinenumbering{#1}%
\edef\m_argument{#2}%
\ifx\m_argument\v!continue
\c_page_lines_mode\zerocount
@@ -364,7 +364,7 @@
\def\page_lines_make_number#tag#linenumber#width#dir% with hang and parindent and skips we have to compensate for \hsize
{\setbox\scratchbox\naturalhbox to \zeropoint \bgroup
- \edef\currentlinenumbering{#tag}%
+ \cdef\currentlinenumbering{#tag}%
\def\linenumber{#linenumber}% unsafe
\d_page_lines_line_width#width\scaledpoint\relax
\d_page_lines_distance\linenumberingparameter\c!distance\relax
diff --git a/tex/context/base/mkxl/page-mak.mklx b/tex/context/base/mkxl/page-mak.mklx
index f0d01cc36..e7b5ba563 100644
--- a/tex/context/base/mkxl/page-mak.mklx
+++ b/tex/context/base/mkxl/page-mak.mklx
@@ -42,8 +42,8 @@
\installcommandhandler \??makeup {makeup} \??makeup
\appendtoks
- \frozen\instance\setuevalue{\e!start\currentmakeup\e!makeup}{\startmakeup[\currentmakeup]}%
- \frozen\instance\setuevalue{\e!stop \currentmakeup\e!makeup}{\stopmakeup}%
+ \frozen\protected\instance\edefcsname\e!start\currentmakeup\e!makeup\endcsname{\startmakeup[\currentmakeup]}%
+ \frozen\protected\instance\edefcsname\e!stop \currentmakeup\e!makeup\endcsname{\stopmakeup}%
\doifelselayoutdefined\currentmakeup\donothing{\definelayout[\currentmakeup]}% new
\to \everydefinemakeup
@@ -108,7 +108,7 @@
{% the next grouping hack is somewhat messy:
\begingroup
% we need to figure out the current layout
- \xdef\m_page_makeup_name{#name}%
+ \global\cdef\m_page_makeup_name{#name}%
\let\currentmakeup\m_page_makeup_name
\let\currentlayout\m_page_makeup_name
\xdef\m_page_makeup_layout_parent{\layoutparameter\s!parent}%
diff --git a/tex/context/base/mkxl/page-mbk.mklx b/tex/context/base/mkxl/page-mbk.mklx
index 3dc1c4e7c..bbf6635db 100644
--- a/tex/context/base/mkxl/page-mbk.mklx
+++ b/tex/context/base/mkxl/page-mbk.mklx
@@ -79,7 +79,7 @@
\permanent\tolerant\protected\def\startmarginblock[#tag]%
{\begingroup
- \edef\currentmarginblock{#tag}%
+ \cdef\currentmarginblock{#tag}%
\ifcstok{\marginblockparameter\c!state}\v!start
\expandafter\page_margin_blocks_start_block_yes
\else
diff --git a/tex/context/base/mkxl/page-mix.mkxl b/tex/context/base/mkxl/page-mix.mkxl
index 3da317956..41259ebf4 100644
--- a/tex/context/base/mkxl/page-mix.mkxl
+++ b/tex/context/base/mkxl/page-mix.mkxl
@@ -428,7 +428,7 @@
\fi}
\def\page_mix_start_columns_a[#1]% [#2]%
- {\edef\currentmixedcolumns{#1}%
+ {\cdef\currentmixedcolumns{#1}%
\page_mix_start_columns_checked
\page_mix_start_columns_a_yes
\page_mix_start_columns_a_nop}
@@ -452,7 +452,7 @@
\page_mix_error_b
\page_mix_start_columns_checked\page_mix_start_columns_b_yes\page_mix_start_columns_b_nop[#1]%
\else
- \edef\currentmixedcolumns{#1}%
+ \cdef\currentmixedcolumns{#1}%
\page_mix_start_columns_checked\page_mix_start_columns_b_yes\page_mix_start_columns_b_nop[#2]%
\fi}
@@ -493,7 +493,7 @@
\protected\def\page_mix_fast_columns_start#1%
{\push_macro_currentmixedcolumns
\push_macro_currentmixedcolumnsmethod
- \edef\currentmixedcolumns{#1}%
+ \cdef\currentmixedcolumns{#1}%
\edef\currentmixedcolumnsmethod{\mixedcolumnsparameter\c!method}%
\mixedcolumnsparameter\c!before\relax % so, it doesn't listen to local settings !
\begincsname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax
diff --git a/tex/context/base/mkxl/page-pcl.mkxl b/tex/context/base/mkxl/page-pcl.mkxl
index 040cdb2ec..f30d39c02 100644
--- a/tex/context/base/mkxl/page-pcl.mkxl
+++ b/tex/context/base/mkxl/page-pcl.mkxl
@@ -790,7 +790,7 @@
\doifelseassignment{#1}%
{\lettonothing\currentpagecolumns
\setuppagecolumns[#1]}%
- {\edef\currentpagecolumns{#1}}%
+ {\cdef\currentpagecolumns{#1}}%
\edef\p_page{\pagecolumnsparameter\c!page}%
\ifempty\p_page
\setfalse\c_page_col_page
diff --git a/tex/context/base/mkxl/page-txt.mklx b/tex/context/base/mkxl/page-txt.mklx
index 67ca325b2..15ab3f59e 100644
--- a/tex/context/base/mkxl/page-txt.mklx
+++ b/tex/context/base/mkxl/page-txt.mklx
@@ -1,4 +1,5 @@
% macros=mkvi
+% macros=mkvi
%D \module
%D [ file=page-txt, % copied from main-001,
@@ -103,7 +104,7 @@
\def\page_layouts_synchronize_element#vertical%
{\xdef\previoustextstate{\csname\??layouttextssynchronize#vertical\endcsname}% can be a let
- \edef\currenttextstate {\namedlayoutelementparameter{#vertical}\c!state}%
+ \cdef\currenttextstate {\namedlayoutelementparameter{#vertical}\c!state}%
%\writestatus{>>}{[#vertical:\currenttextstate/\previoustextstate]}%
\ifx\currenttextstate\previoustextstate \else
\page_layouts_synchronize_element_indeed{#vertical}%
@@ -181,37 +182,37 @@
{\ifarguments
% there is always one
\or
- \edef\currentlayoutelement{#vertical:\v!text}%
+ \cdef\currentlayoutelement{#vertical:\v!text}%
\resetlayoutelementparameter\c!lefttext
\resetlayoutelementparameter\c!righttext
\resetlayoutelementparameter\c!middletext
- \edef\currentlayoutelement{#vertical:\v!margin}%
+ \cdef\currentlayoutelement{#vertical:\v!margin}%
\resetlayoutelementparameter\c!lefttext
\resetlayoutelementparameter\c!righttext
\resetlayoutelementparameter\c!middletext
- \edef\currentlayoutelement{#vertical:\v!edge}%
+ \cdef\currentlayoutelement{#vertical:\v!edge}%
\resetlayoutelementparameter\c!lefttext
\resetlayoutelementparameter\c!righttext
\resetlayoutelementparameter\c!middletext
\or
- \edef\currentlayoutelement{#vertical:\v!text}%
+ \cdef\currentlayoutelement{#vertical:\v!text}%
\resetlayoutelementparameter\c!lefttext
\resetlayoutelementparameter\c!righttext
\setlayoutelementparameter \c!middletext{\page_layouts_process_element_single{#horizontal}}%
\or
- \edef\currentlayoutelement{#vertical:\v!text}%
+ \cdef\currentlayoutelement{#vertical:\v!text}%
\setlayoutelementparameter\c!lefttext {\page_layouts_process_element_single{#horizontal}}%
\setlayoutelementparameter\c!righttext{\page_layouts_process_element_single{#a}}%
\or
- \edef\currentlayoutelement{#vertical:#horizontal}%
+ \cdef\currentlayoutelement{#vertical:#horizontal}%
\setlayoutelementparameter\c!lefttext {\page_layouts_process_element_single{#a}}%
\setlayoutelementparameter\c!righttext{\page_layouts_process_element_single{#b}}%
\or
- \edef\currentlayoutelement{#vertical:\v!text}%
+ \cdef\currentlayoutelement{#vertical:\v!text}%
\setlayoutelementparameter\c!lefttext {\page_layouts_process_element_double{#horizontal}{#c}}%
\setlayoutelementparameter\c!righttext{\page_layouts_process_element_double{#a}{#b}}%
\or
- \edef\currentlayoutelement{#vertical:#horizontal}%
+ \cdef\currentlayoutelement{#vertical:#horizontal}%
\setlayoutelementparameter\c!lefttext {\page_layouts_process_element_double{#a}{#d}}%
\setlayoutelementparameter\c!righttext{\page_layouts_process_element_double{#b}{#c}}%
\fi}
@@ -297,7 +298,7 @@
\fi#vertical}
\permanent\protected\def\doifelselayouttextline#vertical% shown or not
- {\edef\currentlayoutelementstate{\namedlayoutelementparameter{#vertical}\c!state}%
+ {\cdef\currentlayoutelementstate{\namedlayoutelementparameter{#vertical}\c!state}%
\ifx\currentlayoutelementstate\v!normal
\expandafter\firstoftwoarguments
\orelse\ifx\currentlayoutelementstate\v!start
@@ -307,7 +308,7 @@
\fi}
\permanent\protected\def\doifelselayoutsomeline#vertical% present or not
- {\edef\currentlayoutelementstate{\namedlayoutelementparameter{#vertical}\c!state}%
+ {\cdef\currentlayoutelementstate{\namedlayoutelementparameter{#vertical}\c!state}%
\ifx\currentlayoutelementstate\v!none
\expandafter\secondoftwoarguments
\orelse\ifx\currentlayoutelementstate\v!high
@@ -406,12 +407,12 @@
\permanent\tolerant\protected\def\resettextcontent[#vertical]#spacer[#horizontal]#spacer[#tag]% header text middle
{\ifarguments\or\or % 2
- \edef\currentlayoutelement{#vertical:#horizontal}%
+ \cdef\currentlayoutelement{#vertical:#horizontal}%
\resetlayoutelementparameter\c!lefttext
\resetlayoutelementparameter\c!middletext
\resetlayoutelementparameter\c!righttext
\or % 3
-% \edef\currentlayoutelement{#vertical:#horizontal}%
+% \cdef\currentlayoutelement{#vertical:#horizontal}%
% \letcsname\layoutelementhash\begincsname\??layouttextcontent\v!text:#tag\endcsname\c!middletext\endcsname\empty
\letcsname\namedlayoutelementhash{#vertical:#horizontal}\begincsname\??layouttextcontent\v!text:#tag\endcsname\c!middletext\endcsname\empty
\fi}
@@ -502,7 +503,7 @@
\fi}
\def\page_layouts_left_edge_element#text#style#color#width%
- {\edef\currentlayoutelement{\currentlayouttextline:\v!edge}%
+ {\cdef\currentlayoutelement{\currentlayouttextline:\v!edge}%
\page_layouts_place_element_indeed\leftedgewidth
{\page_layouts_left_edge_element_indeed#text#style#color#width}%
\kern\leftedgedistance}
@@ -519,7 +520,7 @@
\fi}
\def\page_layouts_right_edge_element#text#style#color#width%
- {\edef\currentlayoutelement{\currentlayouttextline:\v!edge}%
+ {\cdef\currentlayoutelement{\currentlayouttextline:\v!edge}%
\kern\rightedgedistance
\page_layouts_place_element_indeed\rightedgewidth
{\page_layouts_right_edge_element_indeed#text#style#color#width}}
@@ -551,7 +552,7 @@
\fi}
\def\page_layouts_left_margin_element#text#style#color#width#margintoo%
- {\edef\currentlayoutelement{\currentlayouttextline:\v!margin}%
+ {\cdef\currentlayoutelement{\currentlayouttextline:\v!margin}%
\page_layouts_place_element_indeed\leftmarginwidth
{\page_layouts_left_margin_element_indeed#text#style#color#width#margintoo}%
\kern\leftmargindistance}
@@ -578,7 +579,7 @@
\fi}
\def\page_layouts_right_margin_element#text#style#color#width#margintoo%
- {\edef\currentlayoutelement{\currentlayouttextline:\v!margin}%
+ {\cdef\currentlayoutelement{\currentlayouttextline:\v!margin}%
\kern\rightmargindistance
\page_layouts_place_element_indeed\rightmarginwidth
{\page_layouts_right_margin_element_indeed#text#style#color#width#margintoo}}
@@ -657,11 +658,11 @@
\fi}
\def\page_layouts_text_body_element_l_m_r_e
- {\edef\currentlayoutelement{\currentlayouttextline:\v!text}%
+ {\cdef\currentlayoutelement{\currentlayouttextline:\v!text}%
\page_layouts_place_element_indeed\makeupwidth\page_layouts_text_body_element_indeed_l_m_r_e}
\def\page_layouts_text_body_element_e_r_m_l
- {\edef\currentlayoutelement{\currentlayouttextline:\v!text}%
+ {\cdef\currentlayoutelement{\currentlayouttextline:\v!text}%
\page_layouts_place_element_indeed\makeupwidth\page_layouts_text_body_element_indeed_e_r_m_l}
\def\page_layouts_place_element_indeed#width#content%
@@ -780,14 +781,14 @@
\def\page_layouts_reset_page_number_location
{\ifrelax\m_page_layouts_page_number_location_v\else
% this can be done better now, no meaning hackery needed
- \edef\currentlayoutelement{\m_page_layouts_page_number_location_v:\m_page_layouts_page_number_location_h}%
+ \cdef\currentlayoutelement{\m_page_layouts_page_number_location_v:\m_page_layouts_page_number_location_h}%
\edef\tempstring{\detokenizedlayoutelementparameter\m_page_layouts_page_number_location_x}%
\doif{\normalmeaningless\tempstring}{\normalmeaningless\page_layouts_place_page_number}
{\resetlayoutelementparameter\m_page_layouts_page_number_location_x}%
\fi}
\def\page_layouts_set_page_number_location
- {\edef\currentlayoutelement{\m_page_layouts_page_number_location_v:\m_page_layouts_page_number_location_h}%
+ {\cdef\currentlayoutelement{\m_page_layouts_page_number_location_v:\m_page_layouts_page_number_location_h}%
\letlayoutelementparameter\m_page_layouts_page_number_location_x\page_layouts_place_page_number
\ifx\m_page_layouts_page_number_location_x\c!marginedgetext
\let\page_layouts_place_extra_text_left \page_layouts_place_page_number_left
diff --git a/tex/context/base/mkxl/phys-dim.mkxl b/tex/context/base/mkxl/phys-dim.mkxl
index e085ba844..2b9d2dc5f 100644
--- a/tex/context/base/mkxl/phys-dim.mkxl
+++ b/tex/context/base/mkxl/phys-dim.mkxl
@@ -442,10 +442,10 @@
\settrue\c_phys_units_dospace
\removelastskip
\fi
- \edef\currentunit{#1}%
+ \cdef\currentunit{#1}%
\c_phys_digits_method\unitparameter\c!method\relax
\ifmmode\else\dontleavehmode\fi
-% \edef\currentunit{#1}%
+% \cdef\currentunit{#1}%
\enforced\edef\unitlanguage{\unitparameter\s!language}%
\enforced\let\prefixlanguage\unitlanguage
\enforced\let\operatorlanguage\unitlanguage
diff --git a/tex/context/base/mkxl/scrn-bar.mklx b/tex/context/base/mkxl/scrn-bar.mklx
index 5fbd47d6c..135552a67 100644
--- a/tex/context/base/mkxl/scrn-bar.mklx
+++ b/tex/context/base/mkxl/scrn-bar.mklx
@@ -66,9 +66,9 @@
\ifhastok={#tag}%
\lettonothing\currentinteractionbar
\setupcurrentinteractionbar[#tag]%
- \edef\currentinteractionbar{\interactionbarparameter\c!alternative}%
+ \cdef\currentinteractionbar{\interactionbarparameter\c!alternative}%
\else
- \edef\currentinteractionbar{#tag}%
+ \cdef\currentinteractionbar{#tag}%
\setupcurrentinteractionbar[#settings]%
\fi
\doif{\interactionbarparameter\c!state}\v!start
diff --git a/tex/context/base/mkxl/scrn-but.mklx b/tex/context/base/mkxl/scrn-but.mklx
index e22751618..1f4617acb 100644
--- a/tex/context/base/mkxl/scrn-but.mklx
+++ b/tex/context/base/mkxl/scrn-but.mklx
@@ -50,12 +50,12 @@
\aliased\let\setupbuttons\setupbutton
\appendtoks
- \frozen\instance\setuevalue\currentbutton{\scrn_button_direct{\currentbutton}}%
+ \frozen\protected\instance\edefcsname\currentbutton\endcsname{\scrn_button_direct{\currentbutton}}%
\to \everydefinebutton
\protected\def\scrn_button_direct#tag%
{\begingroup
- \edef\currentbutton{#tag}%
+ \cdef\currentbutton{#tag}%
\iflocation
\expandafter\scrn_button_direct_status
\else
@@ -542,7 +542,7 @@
\protected\def\scrn_menu_package_indeed#tag% one menu
{\begingroup
- \edef\currentinteractionmenu{#tag}%
+ \cdef\currentinteractionmenu{#tag}%
\edef\currentinteractionmenustate{\interactionmenuparameter\c!state}%
\ifx\currentinteractionmenustate\v!start
\scrn_menu_packager
@@ -799,7 +799,7 @@
\permanent\protected\def\includemenu[#tag]%
{\begingroup
- \edef\currentinteractionmenu{#tag}%
+ \cdef\currentinteractionmenu{#tag}%
\doif{\interactionmenuparameter\c!state}\v!local
{\letinteractionmenuparameter\c!state\v!start
\directinteractionmenuparameter\c!menu}%
@@ -809,7 +809,7 @@
\permanent\tolerant\protected\def\interactionmenu[#tag]#spacer[#settings]%
{\begingroup
- \edef\currentinteractionmenu{#tag}%
+ \cdef\currentinteractionmenu{#tag}%
\setupcurrentinteractionmenu[#settings]%
\scrn_menu_insert{#tag}%
\endgroup}
@@ -992,7 +992,7 @@
\def\scrn_menu_menu_button_a#tag#settings#text#action%
{\dontleavehmode \begingroup
- \edef\currentinteractionmenu{#tag}%
+ \cdef\currentinteractionmenu{#tag}%
\setupcurrentinteractionmenu[#settings]%
\scrn_button_make
\interactionmenuparameter
@@ -1018,7 +1018,7 @@
\def\scrn_menu_menu_button_c#tag#dummy#text#action%
{\dontleavehmode \begingroup
- \edef\currentinteractionmenu{#tag}%
+ \cdef\currentinteractionmenu{#tag}%
\scrn_button_make
\interactionmenuparameter
\inheritedinteractionmenuframed
diff --git a/tex/context/base/mkxl/scrn-hlp.mklx b/tex/context/base/mkxl/scrn-hlp.mklx
index 9f0c5dbdd..5284c5cee 100644
--- a/tex/context/base/mkxl/scrn-hlp.mklx
+++ b/tex/context/base/mkxl/scrn-hlp.mklx
@@ -78,7 +78,7 @@
\mutable\lettonothing\currenthelpname
\protected\def\scrn_help_argument#category%
- {\def\currenthelp{#category}%
+ {\cdef\currenthelp{#category}%
\global\advanceby\c_scrn_help_n\plusone
\edef\currenthelpname{help:\number\c_scrn_help_n}%
\doifelselocation\scrn_help_argument_indeed\scrn_help_argument_ignore}
@@ -99,7 +99,7 @@
\tolerant\protected\def\scrn_help_start#category#spacer[#reference]%
{\global\advanceby\c_scrn_help_n\plusone
- \edef\currenthelp{#category}%
+ \cdef\currenthelp{#category}%
\edef\currenthelpreference{#reference}%
\edef\currenthelpname{help:\number\c_scrn_help_n}%
\grabbufferdatadirect\currenthelp{\e!start\currenthelp}{\e!stop\currenthelp}}
diff --git a/tex/context/base/mkxl/scrn-ini.mklx b/tex/context/base/mkxl/scrn-ini.mklx
index 1308ff6ec..7d6c96d9b 100644
--- a/tex/context/base/mkxl/scrn-ini.mklx
+++ b/tex/context/base/mkxl/scrn-ini.mklx
@@ -77,11 +77,11 @@
% \to \everydefineinteraction
%
% \protected\def\scrn_interaction_direct#1%
-% {\edef\currentinteraction{#1}}
+% {\cdef\currentinteraction{#1}}
%
% \protected\def\scrn_interaction_start#1%
% {\pushmacro\currentinteraction
-% \edef\currentinteraction{#1}}
+% \cdef\currentinteraction{#1}}
%
% \protected\def\scrn_interaction_stop
% {\popmacro\currentinteraction}
@@ -93,7 +93,7 @@
\permanent\protected\def\startinteraction[#1]%
{\pushmacro\currentinteraction
- \edef\currentinteraction{#1}}
+ \cdef\currentinteraction{#1}}
\permanent\protected\def\stopinteraction
{\popmacro\currentinteraction}
diff --git a/tex/context/base/mkxl/scrn-wid.mklx b/tex/context/base/mkxl/scrn-wid.mklx
index 382635882..55968d57d 100644
--- a/tex/context/base/mkxl/scrn-wid.mklx
+++ b/tex/context/base/mkxl/scrn-wid.mklx
@@ -128,7 +128,7 @@
\permanent\tolerant\protected\def\scrn_attachment_direct[#tag]#spacer[#registered]#spacer[#settings]%
{\iflocation
\bgroup
- \edef\currentattachment{#tag}%
+ \cdef\currentattachment{#tag}%
\ifcstok{\attachmentparameter\c!state}\v!start
\iftok{#registered}\emptytoks
\scrn_attachment_inject[\v!auto][]%
@@ -142,7 +142,7 @@
\fi}
\tolerant\protected\def\scrn_attachment_start[#tag]#spacer[#registered]#spacer[#settings]%
- {\edef\currentattachment{#tag}%
+ {\cdef\currentattachment{#tag}%
\unless\iflocation
\expandafter\scrn_attachment_start_ignore
\orelse\ifcstok{\attachmentparameter\c!state}\v!start
@@ -416,7 +416,7 @@
\tolerant\protected\def\scrn_comment_argument[#category]#spacer[#title]#spacer[#settings]#:#text%%
{\iflocation
- \def\currentcomment{#category}%
+ \cdef\currentcomment{#category}%
\ifcstok{\commentparameter\c!state}\v!start
\ifhastok={#title}
\setupcurrentcomment[#title]%
@@ -430,7 +430,7 @@
\ignorespaces}
\tolerant\protected\def\scrn_comment_start[#category]#spacer[#title]#spacer[#settings]%
- {\def\currentcomment{#category}%
+ {\cdef\currentcomment{#category}%
\unless\iflocation
\expandafter\scrn_comment_start_ignore
\orelse\ifcstok{\commentparameter\c!state}\v!start
diff --git a/tex/context/base/mkxl/scrp-ini.mkxl b/tex/context/base/mkxl/scrp-ini.mkxl
index 99f064acc..13e3e3edd 100644
--- a/tex/context/base/mkxl/scrp-ini.mkxl
+++ b/tex/context/base/mkxl/scrp-ini.mkxl
@@ -62,7 +62,7 @@
% \to \everydefinescript
\permanent\protected\def\setlocalscript[#1]%
- {\edef\currentscript{#1}%
+ {\cdef\currentscript{#1}%
\clf_setscript{\currentscript}{\scriptparameter\c!method}{\scriptparameter\c!preset}}
\permanent\protected\def\setglobalscript[#1]%
diff --git a/tex/context/base/mkxl/spac-flr.mkxl b/tex/context/base/mkxl/spac-flr.mkxl
index e6147facd..770ab51f2 100644
--- a/tex/context/base/mkxl/spac-flr.mkxl
+++ b/tex/context/base/mkxl/spac-flr.mkxl
@@ -40,7 +40,7 @@
\permanent\tolerant\protected\def\filler[#1]%
{\removeunwantedspaces
\begingroup
- \edef\currentfiller{#1}%
+ \cdef\currentfiller{#1}%
\usefillerstyleandcolor\c!style\c!color
\scratchdimen\fillerparameter\c!leftmargin\relax
\ifzeropt\scratchdimen\else
@@ -71,7 +71,7 @@
\permanent\tolerant\protected\def\fillupto[#1]#:#2%
{\removeunwantedspaces
\begingroup
- \edef\currentfiller{#1}%
+ \cdef\currentfiller{#1}%
\scratchdimen\dimexpr\fillerparameter\c!rightmargindistance\relax
\ifzeropt\scratchdimen\else
\parfillskip \scratchdimen\s!plus \plusone\s!fil\relax
diff --git a/tex/context/base/mkxl/spac-hor.mkxl b/tex/context/base/mkxl/spac-hor.mkxl
index 853f4c902..a647999f4 100644
--- a/tex/context/base/mkxl/spac-hor.mkxl
+++ b/tex/context/base/mkxl/spac-hor.mkxl
@@ -176,7 +176,7 @@
\aliased\let\checkindentation\relax
-\installmacrostack\checkindentation
+\installmacrostack\checkindentation % used?
%D Actually we can forget about indent and let everypar insert a kern or so,
%D but on the other hand it's kind of consistent to keep it and make the
@@ -737,7 +737,7 @@
\permanent\overloaded\tolerant\protected\def\spac_narrower_start[#1]#*[#2]%
{\begingroup
- \edef\currentnarrower{#1}%
+ \cdef\currentnarrower{#1}%
\ifparameter#2\or
\spac_narrower_start_apply{#2}%
\else
@@ -811,7 +811,7 @@
\spac_narrower_start_apply{\narrowerparameter\v!default}}
\def\spac_narrower_start_named_one_nop[#1][#2]% [tag] []
- {\edef\currentnarrower{#1}%
+ {\cdef\currentnarrower{#1}%
\spac_narrower_start_apply{\narrowerparameter\v!default}}
\def\spac_narrower_start_named_two[#1]%
@@ -825,12 +825,12 @@
{\doifelseassignment{#2}\spac_narrower_start_named_tag_settings\spac_narrower_start_named_tag_how[#1][#2]}
\def\spac_narrower_start_named_tag_settings[#1][#2]% [tag] [settings]
- {\edef\currentnarrower{#1}%
+ {\cdef\currentnarrower{#1}%
\setupcurrentnarrower[#2]%
\spac_narrower_start_apply{\narrowerparameter\v!default}}
\def\spac_narrower_start_named_tag_how[#1][#2]% [tag] [how]
- {\edef\currentnarrower{#1}%
+ {\cdef\currentnarrower{#1}%
\spac_narrower_start_apply{#2}}
\aliased\let\stopnarrow\spac_narrower_stop
diff --git a/tex/context/base/mkxl/spac-lin.mkxl b/tex/context/base/mkxl/spac-lin.mkxl
index d462caeaa..8c85d6d76 100644
--- a/tex/context/base/mkxl/spac-lin.mkxl
+++ b/tex/context/base/mkxl/spac-lin.mkxl
@@ -107,7 +107,7 @@
\permanent\tolerant\protected\def\spac_lines_start[#1]%
{\bgroup
- \edef\currentlines{#1}%
+ \cdef\currentlines{#1}%
\obeylines
\spac_lines_start_indeed}
diff --git a/tex/context/base/mkxl/spac-prf.mklx b/tex/context/base/mkxl/spac-prf.mklx
index 06038d867..297f0d281 100644
--- a/tex/context/base/mkxl/spac-prf.mklx
+++ b/tex/context/base/mkxl/spac-prf.mklx
@@ -73,13 +73,13 @@
\tolerant\protected\def\spac_profile_start#profile#spacer[#settings]%
{\begingroup
\ifparameter#settings\or
- \edef\currentprofile{#profile}%
+ \cdef\currentprofile{#profile}%
\setupcurrentprofile[#settings]%
\orelse\ifhastok={#profile}%
\let\currentprofile\v!none
\setupcurrentprofile[#profile]%
\else
- \edef\currentprofile{#profile}%
+ \cdef\currentprofile{#profile}%
\fi
\spac_profile_set
\profileparameter\c!before}
@@ -96,7 +96,7 @@
{\spac_profile_stop}
\permanent\protected\def\setprofile[#profile]%
- {\edef\currentprofile{#profile}%
+ {\cdef\currentprofile{#profile}%
\spac_profile_set}
\permanent\protected\def\resetprofile
@@ -113,13 +113,13 @@
\permanent\tolerant\protected\def\profiledbox[#profile]#spacer[#settings]%
{\vbox\bgroup
\ifparameter#settings\or
- \edef\currentprofile{#profile}%
+ \cdef\currentprofile{#profile}%
\setupcurrentprofile[#settings]%
\orelse\ifhastok={#profile}%
\let\currentprofile\v!none
\setupcurrentprofile[#profile]%
\else
- \edef\currentprofile{#profile}%
+ \cdef\currentprofile{#profile}%
\fi
\dowithnextbox
{\profilegivenbox\currentprofile\nextbox
@@ -129,7 +129,7 @@
\permanent\protected\def\profilegivenbox#profile#box%
{\begingroup
- \edef\currentprofile{#profile}%
+ \cdef\currentprofile{#profile}%
\clf_profilebox
box \numexpr#box\relax
height \dimexpr\profileparameter\c!height\relax
@@ -169,7 +169,7 @@
\relax}
\permanent\tolerant\protected\def\setlineprofile[#profile]%
- {\edef\currentlineprofile{#profile}%
+ {\cdef\currentlineprofile{#profile}%
\spac_line_profile_set}
\permanent\protected\def\resetlineprofile
diff --git a/tex/context/base/mkxl/spac-ver.mkxl b/tex/context/base/mkxl/spac-ver.mkxl
index 52c580f97..388f13a0c 100644
--- a/tex/context/base/mkxl/spac-ver.mkxl
+++ b/tex/context/base/mkxl/spac-ver.mkxl
@@ -190,7 +190,7 @@
\else
\settrue\interlinespaceisset
\ifcsname\namedinterlinespacehash{#1}\s!parent\endcsname
- \edef\currentinterlinespace{#1}%
+ \cdef\currentinterlinespace{#1}%
\spac_linespacing_setup_specified_interline_space
%\dosetupspecifiedinterlinespaceindeed
\else
diff --git a/tex/context/base/mkxl/strc-blk.mkxl b/tex/context/base/mkxl/strc-blk.mkxl
index c81739530..f0b57a744 100644
--- a/tex/context/base/mkxl/strc-blk.mkxl
+++ b/tex/context/base/mkxl/strc-blk.mkxl
@@ -123,7 +123,7 @@
\endgroup}
\def\strc_start_block#1#2%
- {\edef\currentblock{#2}%
+ {\cdef\currentblock{#2}%
\c_strc_blocks_index#1\relax
\strc_blocks_setup
\let\strc_blocks_setup\relax
diff --git a/tex/context/base/mkxl/strc-con.mklx b/tex/context/base/mkxl/strc-con.mklx
index 0f7750bfe..bc2058b74 100644
--- a/tex/context/base/mkxl/strc-con.mklx
+++ b/tex/context/base/mkxl/strc-con.mklx
@@ -179,7 +179,7 @@
\installcorenamespace{constructionnotehandler}
\protected\def\strc_constructions_initialize#1% class instance
- {\edef\currentconstruction{#1}%
+ {\cdef\currentconstruction{#1}%
\enforced\let\currentconstructionhash\??construction
\let\currentconstructionlistentry\!!zerocount
\enforced\expandafter\let\expandafter\currentconstructionmain \csname\??constructionmain \currentconstruction\endcsname
diff --git a/tex/context/base/mkxl/strc-flt.mklx b/tex/context/base/mkxl/strc-flt.mklx
index b3f33734e..03e6edf1f 100644
--- a/tex/context/base/mkxl/strc-flt.mklx
+++ b/tex/context/base/mkxl/strc-flt.mklx
@@ -370,7 +370,7 @@
% we need at least a category and title
\dontleavehmode
\bgroup
- \edef\currentfloat{#category}%
+ \cdef\currentfloat{#category}%
\let\currentfloatcaption\currentfloat
\resetfloatcaptionparameter\c!reference
\resetfloatcaptionparameter\c!title
@@ -640,7 +640,7 @@
\aliased\lettonothing\lastplacedfloat
\def\strc_floats_set_current_tag#tag%
- {\edef\currentfloat{#tag}%
+ {\cdef\currentfloat{#tag}%
\ifempty\currentfloat
\let\currentfloat\v!figure % a bit of a hack
\fi
diff --git a/tex/context/base/mkxl/strc-ind.mkxl b/tex/context/base/mkxl/strc-ind.mkxl
index 10bd7f468..aa0d3d18e 100644
--- a/tex/context/base/mkxl/strc-ind.mkxl
+++ b/tex/context/base/mkxl/strc-ind.mkxl
@@ -60,18 +60,18 @@
\newdimension\d_strc_indentedtexts_distance
\appendtoks
- \frozen\instance\setuevalue {\e!start\currentindentedtext}{\strc_indentedtexts_start{\currentindentedtext}\c_strc_indentedtexts_nesting}%
- \frozen\instance\setuevalue {\e!stop \currentindentedtext}{\strc_indentedtexts_stop}%
+ \frozen\instance\protected\edefcsname\e!start\currentindentedtext\endcsname{\strc_indentedtexts_start{\currentindentedtext}\c_strc_indentedtexts_nesting}%
+ \frozen\instance\protected\edefcsname\e!stop \currentindentedtext\endcsname{\strc_indentedtexts_stop}%
% to be avoided ... might go away
- \frozen\instance\setuevalue {\currentindentedtext}{\strc_indentedtexts_direct{\currentindentedtext}{0}}%
- \frozen\instance\setuevalue {\v!sub\currentindentedtext}{\strc_indentedtexts_direct{\currentindentedtext}{1}}%
- \frozen\instance\setuevalue{\v!sub\v!sub\currentindentedtext}{\strc_indentedtexts_direct{\currentindentedtext}{2}}%
+ \frozen\instance\protected\edefcsname \currentindentedtext\endcsname{\strc_indentedtexts_direct{\currentindentedtext}{0}}%
+ \frozen\instance\protected\edefcsname \v!sub\currentindentedtext\endcsname{\strc_indentedtexts_direct{\currentindentedtext}{1}}%
+ \frozen\instance\protected\edefcsname\v!sub\v!sub\currentindentedtext\endcsname{\strc_indentedtexts_direct{\currentindentedtext}{2}}%
\to \everydefineindentedtext
\protected\def\strc_indentedtexts_start#1#2% we need to get rid of \spr
{\par
\begingroup
- \edef\currentindentedtext{#1}%
+ \cdef\currentindentedtext{#1}%
\c_strc_indentedtexts_nesting#2\relax
\indentedtextparameter\c!before
\d_strc_indentedtexts_distance\indentedtextparameter\c!distance\relax
diff --git a/tex/context/base/mkxl/strc-itm.mklx b/tex/context/base/mkxl/strc-itm.mklx
index a7dda8fdd..6117495cd 100644
--- a/tex/context/base/mkxl/strc-itm.mklx
+++ b/tex/context/base/mkxl/strc-itm.mklx
@@ -874,7 +874,7 @@
\def\strc_itemgroups_calculate_list_width#level%
{\let\m_strc_itemgroups_saved\currentitemgroup
- \edef\currentitemgroup{\currentparentitemgroup:\number#level}%
+ \cdef\currentitemgroup{\currentparentitemgroup:\number#level}%
\ifdim\d_strc_itemgroups_max_width>\zeropoint
\d_strc_itemgroups_list_width\d_strc_itemgroups_max_width
\orelse\ifnum\itemgroupparameter\c!factor>\zerocount
@@ -899,7 +899,7 @@
\global\advanceby\c_strc_itemgroups_nesting\plusone
\def\currentitemlevel{\number\c_strc_itemgroups_nesting}%
\normalexpanded{\chaintocurrentitemgroup{\currentparentitemgroup:\currentitemlevel}}%
- \edef\currentitemgroup{\currentparentitemgroup:\currentitemlevel}%
+ \cdef\currentitemgroup{\currentparentitemgroup:\currentitemlevel}%
%
\edef\p_itemgroups_options{\itemgroupparameter\c!option}%
\lettonothing\p_itemgroups_extra_options
diff --git a/tex/context/base/mkxl/strc-lnt.mklx b/tex/context/base/mkxl/strc-lnt.mklx
index 331be8737..7bb85738b 100644
--- a/tex/context/base/mkxl/strc-lnt.mklx
+++ b/tex/context/base/mkxl/strc-lnt.mklx
@@ -45,7 +45,7 @@
\definenote[#1][#2][#3]%
\fi
\pushmacro\currentnote
- \edef\currentnote{#1}
+ \cdef\currentnote{#1}
\letcsname\??linenote\currentnote\expandafter\endcsname\csname\currentnote\endcsname % use copy command
\frozen\instance\setuevalue {\currentnote}{\strc_linenotes_direct{\currentnote}}%
\frozen\instance\setuevalue{\e!start\currentnote}{\strc_linenotes_start {\currentnote}}%
@@ -143,7 +143,7 @@
\protected\def\strc_linenotes_indeed#1#2#3%
{\begingroup
% we keep things local so we can use it as regular note too
- \edef\currentnotation{#1}%
+ \cdef\currentnotation{#1}%
\edef\currentlinenotereference{#2}%
\xdef\m_page_lines_previous_from{\begincsname\??linenotespreviousfrom\currentnotation\endcsname}%
\xdef\m_page_lines_previous_to {\begincsname\??linenotespreviousto \currentnotation\endcsname}%
diff --git a/tex/context/base/mkxl/strc-lst.mklx b/tex/context/base/mkxl/strc-lst.mklx
index 3fd0e979e..3dc9eb3e9 100644
--- a/tex/context/base/mkxl/strc-lst.mklx
+++ b/tex/context/base/mkxl/strc-lst.mklx
@@ -136,7 +136,7 @@
\permanent\protected\def\structurelistinject[#tag]%
{\begingroup
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\doifelse{\listparameter\c!state}\v!start\strc_lists_inject_yes\strc_lists_inject_nop}
\tolerant\protected\def\strc_lists_inject_nop[#settings]#spacer[#userdata]%
@@ -185,12 +185,12 @@
\protected\def\strc_lists_inject_direct[#tag]% [#settings][#userdata]
{\begingroup
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\strc_lists_inject_yes} % [#settings][#userdata]
\permanent\protected\def\writebetweenlist[#tag]%
{\begingroup
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\doifelse{\namedlistparameter{#tag}\c!state}\v!start
\strc_lists_write_between_yes
\strc_lists_write_between_nop}
@@ -203,7 +203,7 @@
\permanent\protected\def\writedatatolist[#tag]%
{\begingroup
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\doifelse{\namedlistparameter{#tag}\c!state}\v!start
\strc_lists_write_data_to_yes
\strc_lists_write_data_to_nop}
@@ -220,7 +220,7 @@
\permanent\protected\def\writetolist[#tag]%
{\begingroup
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\doifelse{\namedlistparameter{#tag}\c!state}\v!start
\strc_lists_write_to_yes
\strc_lists_write_to_nop}
@@ -278,7 +278,7 @@
\def\strc_lists_place_indeed#tag#list#settings%
{\begingroup
\the\t_lists_every_renderingcleanup % \lettonothing\currentlistentrylocation
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\setupcurrentlist[#settings]%
\the\everystructurelist
% \doif{\listparameter\c!coupling}\v!on{\startlistreferences{#tag}}%
@@ -343,7 +343,7 @@
\permanent\tolerant\protected\def\placecombinedlist[#tag]#spacer[#settings]% i.e. no list set in settings
{\begingroup
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\setupcurrentlist[#settings]%
\edef\m_strc_list_alternative{\listparameter\c!alternative}% we only inherit alternative
\strc_lists_place_indeed{#tag}{\listparameter\c!list}{#settings}%
@@ -533,7 +533,7 @@
\permanent\protected\def\strclistsentryprocess#tag#method#index#extra% This one is called at the lua end!
{\clf_pushlist#index\relax
%\lettonothing\currentlistentrylocation
- \edef\currentlist {#tag}%
+ \cdef\currentlist {#tag}%
\edef\currentlistmethod{#method}%
\edef\currentlistindex {#index}%
\edef\currentlistextra {#extra}%
@@ -578,7 +578,7 @@
\permanent\protected\def\listsymbol[#tag]#number%
{\begingroup
- \edef\currentlist{#tag}%
+ \cdef\currentlist{#tag}%
\def\currentlistentrynumber{#number}% no edef else tag problems
\currentlistsymbol
\endgroup}
@@ -1621,7 +1621,7 @@
\permanent\tolerant\protected\def\determinelistcharacteristics[#list]#spacer[#settings]%
{\begingroup
- \edef\currentlist{\firststructureelementinlist{#list}}%
+ \cdef\currentlist{\firststructureelementinlist{#list}}%
\ifempty\currentlist
\endgroup
\let\listlength\!!zerocount
diff --git a/tex/context/base/mkxl/strc-mat.mkxl b/tex/context/base/mkxl/strc-mat.mkxl
index b8d05fb33..4073e1d66 100644
--- a/tex/context/base/mkxl/strc-mat.mkxl
+++ b/tex/context/base/mkxl/strc-mat.mkxl
@@ -1502,7 +1502,7 @@
\iftrialtypesetting\else
\global\advanceby\c_strc_formulas_n\plusone
\fi
- \edef\currentformula{#1}%
+ \cdef\currentformula{#1}%
\usesetupsparameter\formulaparameter % new
\dostarttaggedchained\t!formula\currentformula\??formula
\strc_math_set_options{#2}%
diff --git a/tex/context/base/mkxl/strc-not.mklx b/tex/context/base/mkxl/strc-not.mklx
index 29440f582..79629b18a 100644
--- a/tex/context/base/mkxl/strc-not.mklx
+++ b/tex/context/base/mkxl/strc-not.mklx
@@ -249,7 +249,7 @@
\tolerant\protected\def\strc_notations_command[#1]#*[#2]%
{\begingroup
- \edef\currentnote{#1}%
+ \cdef\currentnote{#1}%
\strc_constructions_initialize{#1}%
\strc_notes_synchronize
\edef\p_next{\noteparameter\c!anchor}%
@@ -295,7 +295,7 @@
\tolerant\protected\def\strc_notations_start_indeed#1#*[#2]#*[#3]%
{\begingroup
- \edef\currentnote{#2}%
+ \cdef\currentnote{#2}%
\strc_constructions_initialize{#2}%
\strc_notes_synchronize
\ifnotesenabled
@@ -842,7 +842,7 @@
\let\strc_notes_process_list\gobbleoneargument
\protected\def\strc_notes_process#action% argument is a \macro that uses \currentnote
- {\def\strc_notes_process_list##1{\edef\currentnote{##1}\let\currentdescription\currentnote#action}%
+ {\def\strc_notes_process_list##1{\cdef\currentnote{##1}\let\currentdescription\currentnote#action}%
\the\t_strc_notes}
\newtoks\everychecknote % just before a note is typeset
@@ -1260,7 +1260,7 @@
\permanent\protected\def\handlenoteinsert#tag#id%
{\begingroup
- \edef\currentnote{#tag}%
+ \cdef\currentnote{#tag}%
\strc_constructions_initialize{#tag}%
\strc_notes_synchronize
\the\everybeforenoteinsert
@@ -1282,12 +1282,12 @@
\endgroup}
\permanent\protected\def\betweennoteitself#tag% used ?
- {\edef\currentnote{#tag}%
+ {\cdef\currentnote{#tag}%
\doif{\noteparameter\c!paragraph}\v!yes{\noteparameter\c!inbetween}}
\permanent\protected\def\handlenoteitself#tag#id%
{\edef\currentnotenumber{#id}%
- \edef\currentnote{#tag}%
+ \cdef\currentnote{#tag}%
\strc_constructions_initialize{#tag}%
\strc_notes_synchronize
\edef\currentconstructionlistentry{\clf_notelistindex{\currentnote}#id}% index in list cache
@@ -1662,7 +1662,7 @@
\def\strc_notes_local_place_indeed#settings#tag%
{\begingroup
- \edef\currentnote{#tag}% is already set?
+ \cdef\currentnote{#tag}% is already set?
\the\everyplacelocalnotes
% beware, we cannot trust setting \currentnote here
\setupcurrentnote[#settings]% later we set height etc for framed
@@ -1712,7 +1712,7 @@
{\processcommalist[#list]{\strc_notes_place_indeed{#settings}}}
\def\strc_notes_place_indeed#settings#tag% settings note
- {\edef\currentnote{#tag}% grouping ?
+ {\cdef\currentnote{#tag}% grouping ?
\doifelse{\clf_getnotestate{#tag}}{store}
\strc_notes_local_place_indeed
\strc_notes_global_place_indeed
@@ -1979,7 +1979,7 @@
{\ifnotesenabled
\dontleavehmode
\begingroup
- \edef\currentnote{#tag}%
+ \cdef\currentnote{#tag}%
\usenotestyleandcolor\c!textstyle\c!textcolor
\iftok{#reference}\emptytoks
\noteparameter\c!textcommand\lastnotesymbol % check if command double
diff --git a/tex/context/base/mkxl/strc-num.mkxl b/tex/context/base/mkxl/strc-num.mkxl
index 3f3bd2143..bc8298c4a 100644
--- a/tex/context/base/mkxl/strc-num.mkxl
+++ b/tex/context/base/mkxl/strc-num.mkxl
@@ -269,7 +269,7 @@
\permanent\tolerant\protected\def\convertedcounter[#1]#*[#2]%
{\begingroup
- \edef\currentcounter{#1}%
+ \cdef\currentcounter{#1}%
\ifparameter#2\or\setupcurrentcounter[#2]\fi
\clf_prefixedconverted
{\counterparameter\s!name}
@@ -399,7 +399,7 @@
\ifempty\currentname
\edef\currentname{#1}%
\fi
- \edef\currentcounter{#3\s!counter}%
+ \cdef\currentcounter{#3\s!counter}%
\ifempty\currentcounter
\let\currentcounter\currentname
\fi
@@ -599,7 +599,7 @@
\c!numbersegments =#2\c!numbersegments]}
\protected\def\strc_counter_setup_using_parameter#1#2% name \someparameter
- {\edef\currentcounter{#1}%
+ {\cdef\currentcounter{#1}%
%
\setcounterparameter \c!start{#2\c!start}%
\setcounterparameter \c!state{#2\c!state}% % beware, "" == start
diff --git a/tex/context/base/mkxl/strc-reg.mkxl b/tex/context/base/mkxl/strc-reg.mkxl
index 7dd07b2e2..0a778f8bb 100644
--- a/tex/context/base/mkxl/strc-reg.mkxl
+++ b/tex/context/base/mkxl/strc-reg.mkxl
@@ -268,7 +268,7 @@
\def\strc_registers_register_page_entry_indeed#1#2#3% register data userdata
{\begingroup
- \edef\currentregister{#1}%
+ \cdef\currentregister{#1}%
%\setupcurrentregister[\c!entries=,\c!label=,\c!keys=,\c!alternative=,#2]%
\setupcurrentregister[#2]%
\edef\currentregisterlabel {\registerparameter\c!label}%
@@ -380,7 +380,7 @@
\permanent\protected\def\dosetfastregisterentry#1#2#3#4#5% register entry key processor processor
{\begingroup
- \edef\currentregister{#1}%
+ \cdef\currentregister{#1}%
\setnextinternalreference
\glet\currentregistername\currentregister
\xdef\currentregisternumber{\clf_storeregister
@@ -485,7 +485,7 @@
\def\strc_registers_finish_entry_indeed#1#2#3% register data userdata
{\begingroup
- \edef\currentregister{#1}%
+ \cdef\currentregister{#1}%
%\setupcurrentregister[\c!entries=,\c!label=,\c!keys=,\c!alternative=,#2]% todo: fast setter
\resetregisterparameter\c!entries
\resetregisterparameter\c!label
@@ -577,7 +577,7 @@
\def\strc_registers_insert_see_indeed#1#2#3#4% register key entry seeword
{\begingroup
- \edef\currentregister{#1}%
+ \cdef\currentregister{#1}%
\edef\currentregisterexpansion{\registerparameter\c!expansion}%
\ifx\currentregisterexpansion\s!xml
\xmlstartraw
@@ -635,7 +635,7 @@
\permanent\tolerant\protected\def\determineregistercharacteristics[#1]#*[#2]%
{\begingroup
\setupregister[#1][#2]%
- \edef\currentregister{\firstinset{#1}}%
+ \cdef\currentregister{\firstinset{#1}}%
\normalexpanded{\endgroup\noexpand\xdef\noexpand\listlength{\clf_analyzeregister
{\currentregister}%
{%
@@ -667,7 +667,7 @@
\begingroup
%\forgetall
\setupregister[#1][#2]% can be a list
- \edef\currentregister{\firstinset{#1}}%
+ \cdef\currentregister{\firstinset{#1}}%
\the\everyplaceregister
\ifnum\namedmixedcolumnsparameter\currentregister\c!n>\plusone
\startmixedcolumns[\currentregister]%
@@ -731,7 +731,7 @@
\permanent\tolerant\protected\def\completeregister[#1]#*[#2]%
{\ifarguments\or
\begingroup
- \edef\currentregister{\firstinset{#1}}%
+ \cdef\currentregister{\firstinset{#1}}%
\normalexpanded{\startnamedsection[\v!chapter][\c!title={\headtext{\currentregister}},reference=\currentregister]}%
\placeregister[#1][#2]%
\page[\v!yes]%
@@ -950,7 +950,7 @@
% \dostarttagged\t!registerentries\empty
% % \let\savedcurrentregister\currentregister
% \pushmacro\currentregister
-% \edef\currentregister{\currentregister:\number\c_strc_register_level}%
+% \cdef\currentregister{\currentregister:\number\c_strc_register_level}%
% \usenestedregisterstyleandcolor\c!textstyle\c!textcolor
% \ifnum\c_strc_register_level>\plusone
% \advanceby\leftskip\d_strc_registers_distance\relax
@@ -1015,7 +1015,7 @@
\c_strc_register_level\ifnum#1>\c_strc_registers_maxlevel\c_strc_registers_maxlevel\else#1\fi\relax
\dostarttagged\t!registerentries\empty
\pushmacro\currentregister % bah
- \edef\currentregister{\currentregister:\number\c_strc_register_level}%
+ \cdef\currentregister{\currentregister:\number\c_strc_register_level}%
\let\currentnestedregister\currentregister
\usenestedregisterstyleandcolor\c!textstyle\c!textcolor
\ifnum\c_strc_register_level>\plusone
@@ -1174,7 +1174,7 @@
\permanent\protected\def\pushcurrentregister#1%
{\let\m_current_register\currentregister
- \edef\currentregister{#1}}
+ \cdef\currentregister{#1}}
\permanent\protected\def\popcurrentregister
{\let\currentregister\m_current_register}
@@ -1598,7 +1598,7 @@
%
% \def\strc_registers_register_page_entry_indeed#1#2#3% register data userdata
% {\begingroup
-% \edef\currentregister{#1}%
+% \cdef\currentregister{#1}%
% %\setupcurrentregister[\c!entries=,\c!label=,\c!keys=,\c!alternative=,#2]%
% \setupcurrentregister[#2]%
% \edef\currentregisterlabel {\registerparameter\c!label}%
diff --git a/tex/context/base/mkxl/strc-sbe.mkxl b/tex/context/base/mkxl/strc-sbe.mkxl
index ade59da0b..f2bc80659 100644
--- a/tex/context/base/mkxl/strc-sbe.mkxl
+++ b/tex/context/base/mkxl/strc-sbe.mkxl
@@ -73,7 +73,7 @@
\to \everyaftersectionblock
\permanent\tolerant\protected\def\setsectionblock[#1]#*[#2]% used to set the default
- {\edef\currentsectionblock{#1}% from now on we assume a value
+ {\cdef\currentsectionblock{#1}% from now on we assume a value
\setupcurrentsectionblock[#2]%
\clf_setsectionblock{#1}
bookmark {\sectionblockparameter\c!bookmark}%
@@ -84,7 +84,7 @@
\permanent\tolerant\protected\def\startsectionblock[#1]#*[#2]%
{%\ctxlua{structures.counters.check(0)}% we assume sane usage of \page, as this is the only workable place (in push)
\begingroup
- \edef\currentsectionblock{#1}% from now on we assume a value
+ \cdef\currentsectionblock{#1}% from now on we assume a value
\setupcurrentsectionblock[#2]%
\clf_pushsectionblock{#1}
bookmark {\sectionblockparameter\c!bookmark}%
diff --git a/tex/context/base/mkxl/strc-sec.mkxl b/tex/context/base/mkxl/strc-sec.mkxl
index 09d742e56..62da581a1 100644
--- a/tex/context/base/mkxl/strc-sec.mkxl
+++ b/tex/context/base/mkxl/strc-sec.mkxl
@@ -506,7 +506,7 @@
\permanent\protected\def\doredefinehead#1#2% called at lua end
{\push_macro_currenthead
\push_macro_currentheadparent
- \edef\currenthead{#1}%
+ \cdef\currenthead{#1}%
\edef\currentheadparent{#2}%
\the\everyredefinehead\relax
\pop_macro_currentheadparent
@@ -568,7 +568,7 @@
\permanent\protected\def\definesection[#1]%
{\ifcsname\??headlevel#1\endcsname \else
- \edef\currenthead{#1}%
+ \cdef\currenthead{#1}%
\let\currentsection\currenthead % just an alias
\global\advanceby\maxstructuredepth\plusone
\edefcsname\??headlevel#1\endcsname{\the\maxstructuredepth}%
@@ -589,9 +589,9 @@
\permanent\tolerant\protected\def\setupsection[#1]#*[#2]#*[#3]%
{\ifparameter#1\else
\push_macro_currenthead
- \edef\currenthead{\ifcsname\??headlevel#1\endcsname#1\else\sectionheadsection{#1}\fi}%
+ \cdef\currenthead{\ifcsname\??headlevel#1\endcsname#1\else\sectionheadsection{#1}\fi}%
\ifparameter#3\or
- \edef\currenthead{\currenthead#2}% not used at any more in mkiv (sets now)
+ \cdef\currenthead{\currenthead#2}% not used at any more in mkiv (sets now)
\setupcurrenthead[#3]%
\else
\setupcurrenthead[#2]%
@@ -867,7 +867,7 @@
\begingroup
\enforced\permanent\protected\def\\{\space}% messy here, but the default (and needs to be grouped)
\global\settrue\headisdisplay % triggers interlinespace checking
- \edef\currenthead{#1}% maybe only when #1 is given
+ \cdef\currenthead{#1}% maybe only when #1 is given
\strc_rendering_initialize_style_and_color\c!textstyle\c!textcolor
\relax
\getspecificstructuretitle{\thenamedheadlevel{#1}}%
@@ -878,7 +878,7 @@
{\dontleavehmode
\begingroup
\global\settrue\headisdisplay % triggers interlinespace checking
- \edef\currenthead{#1}% maybe only when #1 is given
+ \cdef\currenthead{#1}% maybe only when #1 is given
\strc_rendering_initialize_style_and_color\c!numberstyle\c!numbercolor
\relax
\getfullstructurenumber{\thenamedheadlevel{#1}}%
@@ -1318,7 +1318,7 @@
\permanent\tolerant\protected\def\someheadnumber[#1]#*[#2]%
{\dontleavehmode
\begingroup
- \edef\currenthead{#1}%
+ \cdef\currenthead{#1}%
\getsomefullstructurenumber{\thenamedheadlevel{#1}}{#2}%
\endgroup}
diff --git a/tex/context/base/mkxl/strc-syn.mkxl b/tex/context/base/mkxl/strc-syn.mkxl
index 9b4d410e1..6b6d928c0 100644
--- a/tex/context/base/mkxl/strc-syn.mkxl
+++ b/tex/context/base/mkxl/strc-syn.mkxl
@@ -278,7 +278,7 @@
\ifparameter#3\or
\frozen\instance\protected\def#3##1{\strc_synonyms_insert_meaning{#1}{##1}}% \meaning
\fi
- \edef\currentsynonym{#1}%
+ \cdef\currentsynonym{#1}%
%
%\checksynonymparent
%\setupcurrentsynonym[\s!single={#1},\s!multi={#2}]%
@@ -305,7 +305,7 @@
\permanent\tolerant\protected\def\definesynonym[#1]#*[#2]#*[#3]#*[#4]% [yes][abbreviation][FOO]{foo}{foo me}
{\begingroup
\edef\currentsynonymoption{#1}%
- \edef\currentsynonym{#2}%
+ \cdef\currentsynonym{#2}%
\edef\currentsynonymtag{#3}%
\edef\currentsynonymsortkey{#4}%
\strc_synonyms_define_entry}
@@ -317,7 +317,7 @@
% \permanent\tolerant\protected\def\setsynonym[#1]#*[#2]%
% {\begingroup
% \setupsynonymentry[#2]%
-% \edef\currentsynonym {#1}%
+% \cdef\currentsynonym {#1}%
% \edef\currentsynonymoption {\synonymentryparameter\c!option}%
% \edef\currentsynonymtag {\synonymentryparameter\c!tag}%
% \edef\currentsynonymsortkey{\synonymentryparameter\c!sortkey}%
@@ -399,7 +399,7 @@
\protected\def\strc_synonyms_insert_meaning#1#2% name tag
{\dontleavehmode % otherwise we don't get it right at the beginning of a par
\begingroup
- \def\currentsimplelist{#1}%
+ \cdef\currentsimplelist{#1}%
\def\currentsynonymtag{#2}%
\fastsetup{\??simplelistrenderings::\v!text}%
\endgroup}
@@ -407,7 +407,7 @@
\protected\def\strc_synonyms_insert#1#2% name tag
{\dontleavehmode % otherwise we don't get it right at the beginning of a par
\begingroup
- \edef\currentsimplelist{#1}%
+ \cdef\currentsimplelist{#1}%
\let\currentsynonym\currentsimplelist % for a while
\def\currentsynonymtag{#2}%
\edef\currentsimplelistalternative{\simplelistparameter\c!alternative}%
@@ -482,7 +482,7 @@
\permanent\tolerant\protected\def\placelistofsynonyms[#1]#*[#2]%
{\begingroup
- \edef\currentsimplelist{#1}%
+ \cdef\currentsimplelist{#1}%
\doifelsecommandhandler\??simplelist\currentsimplelist
{\strc_constructions_initialize{#1}%
\setupcurrentsimplelist[#2]%
@@ -504,7 +504,7 @@
\permanent\tolerant\protected\def\completelistofsynonyms[#1]#*[#2]%
{\begingroup
- \edef\currentsimplelist{#1}%
+ \cdef\currentsimplelist{#1}%
\doifelsecommandhandler\??simplelist\currentsimplelist
{\normalexpanded{\startnamedsection[\v!chapter][\c!title={\headtext{\simplelistparameter\s!multi}},\c!reference=#1]}%
\placelistofsynonyms[#1][#2]%
@@ -561,7 +561,7 @@
\else
\frozen\instance\protected\defcsname#1\endcsname{\definesort[\v!yes][#1]}%
\fi
- \edef\currentsorting{#1}%
+ \cdef\currentsorting{#1}%
\setfalse\c_strc_constructions_define_commands
\definesimplelist
[\currentsorting]%
@@ -586,12 +586,12 @@
\permanent\tolerant\protected\def\definesort[#1]#*[#2]#*[#3]%
{\begingroup
\edef\currentsortingoption{#1}%
- \edef\currentsorting{#2}%
+ \cdef\currentsorting{#2}%
\edef\currentsortingtag{#3}%
\strc_sorting_define_entry}
\def\strc_sorting_define_entry#1%
- {\let\currentsimplelist\currentsimplelist
+ {%\let\currentsimplelist\currentsimplelist
\ifempty\currentsortingtag
\edef\currentsortingtag{#1}%
\fi
@@ -644,7 +644,7 @@
{\dontleavehmode % otherwise we don't get it right at the beginning of a par
\begingroup
% no kap currently, of .. we need to map cap onto WORD
- \edef\currentsorting{#1}%
+ \cdef\currentsorting{#1}%
\edef\currentsortingtag{#2}%
\let\currentsimplelist\currentsorting
\edef\currentsimplelistalternative{\simplelistparameter\c!alternative}%
@@ -686,7 +686,7 @@
\permanent\tolerant\protected\def\placelistofsorts[#1]#*[#2]%
{\begingroup
- \edef\currentsimplelist{#1}%
+ \cdef\currentsimplelist{#1}%
\strc_constructions_initialize{#1}%
\setupcurrentsimplelist[#2]%
\edef\p_simplelist_command{\simplelistparameter\c!command}%
@@ -710,7 +710,7 @@
\permanent\tolerant\protected\def\completelistofsorts[#1]#*[#2]%
{\begingroup
- \edef\currentsimplelist{#1}%
+ \cdef\currentsimplelist{#1}%
\normalexpanded{\startnamedsection[\v!chapter][\c!title={\headtext{\simplelistparameter\s!multi}},\c!reference=#1]}%
\placelistofsorts[#1][#2]%
\page
diff --git a/tex/context/base/mkxl/strc-tag.mkxl b/tex/context/base/mkxl/strc-tag.mkxl
index 3c00acb65..8fac6b950 100644
--- a/tex/context/base/mkxl/strc-tag.mkxl
+++ b/tex/context/base/mkxl/strc-tag.mkxl
@@ -394,10 +394,10 @@
\lettonothing\currentparagraph
\setupcurrentparagraph[#1]
\else
- \edef\currentparagraph{#1}%
+ \cdef\currentparagraph{#1}%
\fi
\or
- \edef\currentparagraph{#1}%
+ \cdef\currentparagraph{#1}%
\setupcurrentparagraph[#2]%
\fi
\useparagraphstyleandcolor\c!style\c!color
diff --git a/tex/context/base/mkxl/strc-usr.mkxl b/tex/context/base/mkxl/strc-usr.mkxl
index cd1f97dec..746503972 100644
--- a/tex/context/base/mkxl/strc-usr.mkxl
+++ b/tex/context/base/mkxl/strc-usr.mkxl
@@ -112,13 +112,13 @@
\userdata_start_indeed}
\def\userdata_start_delayed_name[#1]%
- {\edef\currentuserdata{#1}%
+ {\cdef\currentuserdata{#1}%
\checkuserdataparent
\doifelsenextoptionalcs\userdata_start_delayed_parameters\userdata_start_indeed}
\protected\tolerant\def\userdata_start_instance#1#*[#2]%
{\begingroup
- \edef\currentuserdata{#1}%
+ \cdef\currentuserdata{#1}%
\setupcurrentuserdata[#2]%
\grabbufferdatadirect
% {\s!userdata:\currentuserdata}%
diff --git a/tex/context/base/mkxl/symb-ini.mkxl b/tex/context/base/mkxl/symb-ini.mkxl
index cf61ddb1f..01e2fe30a 100644
--- a/tex/context/base/mkxl/symb-ini.mkxl
+++ b/tex/context/base/mkxl/symb-ini.mkxl
@@ -304,7 +304,7 @@
{\popmacro\m_symb_current_set}
\permanent\protected\def\setupsymbolset[#1]%
- {\edef\currentsymbolset{#1}%
+ {\cdef\currentsymbolset{#1}%
\ifcsname\??symbolsets\currentsymbolset\endcsname \else
\symb_setup_symbol_set
\fi}
diff --git a/tex/context/base/mkxl/syst-aux.lmt b/tex/context/base/mkxl/syst-aux.lmt
index 39ceae376..b28aeb39d 100644
--- a/tex/context/base/mkxl/syst-aux.lmt
+++ b/tex/context/base/mkxl/syst-aux.lmt
@@ -1,4 +1,4 @@
- if not modules then modules = { } end modules ['syst-aux'] = {
+if not modules then modules = { } end modules ['syst-aux'] = {
version = 1.001,
comment = "companion to syst-aux.mkiv",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
diff --git a/tex/context/base/mkxl/tabl-frm.mkxl b/tex/context/base/mkxl/tabl-frm.mkxl
index e19ea34fe..379ce2a7c 100644
--- a/tex/context/base/mkxl/tabl-frm.mkxl
+++ b/tex/context/base/mkxl/tabl-frm.mkxl
@@ -111,10 +111,10 @@
\lettonothing\currentframedtable
\setupframed[\??framedtable][#1]%
\else
- \edef\currentframedtable{#1}%
+ \cdef\currentframedtable{#1}%
\setupframed[\??framedtable][#2]%
\fi
- \edef\currentframed{\??framedtable\currentframedtable}%
+ \cdef\currentframed{\??framedtable\currentframedtable}%
\pack_framed_initialize
\c_tabl_framed_r\zerocount
\d_tabl_framed_d\framedparameter\c!distance
@@ -139,8 +139,8 @@
% \c_tabl_framed_c\zerocount
% \d_tabl_framed_h\zeropoint
% \bgroup
-% \edef\currentframed{\number\c_tabl_framed_r}%
-% \edef\currentframed
+% \cdef\currentframed{\number\c_tabl_framed_r}%
+% \cdef\currentframed
% {\??framedtablerow\currentframedtable
% \ifcsname\??framedtablerow\currentframedtable:\currentframed\endcsname
% :\currentframed
@@ -183,8 +183,8 @@
{\bgroup
\c_tabl_framed_c\zerocount
\c_tabl_framed_pass\plustwo
- \edef\currentframed{\number\c_tabl_framed_r}%
- \edef\currentframed
+ \cdef\currentframed{\number\c_tabl_framed_r}%
+ \cdef\currentframed
{\??framedtablerow\currentframedtable
\ifcsname\??framedtablerow\currentframedtable:\currentframed\endcsname
:\currentframed
@@ -208,8 +208,8 @@
{\advanceby\c_tabl_framed_c\plusone
\setbox\b_tabl_framed\hpack\bgroup
%\bgroup
- \edef\currentframed{\number\c_tabl_framed_c}%
- \edef\currentframed
+ \cdef\currentframed{\number\c_tabl_framed_c}%
+ \cdef\currentframed
{\??framedtablecolumn\currentframedtable
\ifcsname\??framedtablecolumn\currentframedtable:\currentframed\endcsname
:\currentframed
diff --git a/tex/context/base/mkxl/tabl-mis.mkxl b/tex/context/base/mkxl/tabl-mis.mkxl
index e65c97e0d..383ff22dd 100644
--- a/tex/context/base/mkxl/tabl-mis.mkxl
+++ b/tex/context/base/mkxl/tabl-mis.mkxl
@@ -143,10 +143,10 @@
\fi}
\appendtoks
- \frozen\instance\letcsname\e!next \currentparagraphs\endcsname\nextparagraphs
+ \frozen\instance\letcsname\e!next\currentparagraphs\endcsname\nextparagraphs
\frozen\instance\letcsname\currentparagraphs\endcsname\nextparagraphs
\frozen\instance\protected\edefcsname\e!start\currentparagraphs\endcsname{\startparagraphs[\currentparagraphs]}%
- \frozen\instance\letcsname\e!stop \currentparagraphs\endcsname\stopparagraphs
+ \frozen\instance\letcsname\e!stop\currentparagraphs\endcsname\stopparagraphs
%frozen\instance\setuevalue{\e!setup\currentparagraph\e!endsetup}{\typo_paragraphs_setup_saved[\currentparagraphs]}%
\dorecurse{\paragraphsparameter\c!n}%
{\normalexpanded{\typo_paragraphs_setup_saved[\currentparagraphs:\recurselevel][\c!width=,\s!parent=\??paragraphs\currentparagraphs]}}%
@@ -163,7 +163,7 @@
\permanent\protected\def\startparagraphs[#1]% quite slow
{\bgroup % (1)
- \edef\currentparagraphs{#1}%
+ \cdef\currentparagraphs{#1}%
% \paragraphsparameter\c!before
\edef\p_width{\paragraphsparameter\c!width}%
\ifempty\p_width
@@ -241,7 +241,7 @@
{\begingroup
\let\typo_paragraphs_start_cell\relax
\let\typo_paragraphs_stop_cell\typo_paragraphs_stop_cell_indeed
- \edef\currentparagraphs{\currentparagraphs:\the\c_typo_paragraphs_n}%
+ \cdef\currentparagraphs{\currentparagraphs:\the\c_typo_paragraphs_n}%
\ifnum\c_typo_paragraphs_n>\plusone
\typo_paragraphs_separator
\fi
diff --git a/tex/context/base/mkxl/tabl-tbl.mkxl b/tex/context/base/mkxl/tabl-tbl.mkxl
index b2e4f5090..b67d0ce50 100644
--- a/tex/context/base/mkxl/tabl-tbl.mkxl
+++ b/tex/context/base/mkxl/tabl-tbl.mkxl
@@ -1238,7 +1238,7 @@
\protected\def\tabl_start_defined[#1]%
{\bgroup
- \edef\currenttabulationparent{#1}%
+ \cdef\currenttabulationparent{#1}%
\let\currenttabulation\currenttabulationparent
\ifcstok{\tabulationparameter\c!format}\v!none
% this is special case: we need to define the generic english
@@ -1254,10 +1254,10 @@
\ifhastok={#1}%
\setuptabulation[\currenttabulation][#1]%
\else
- \edef\currenttabulation{\currenttabulation:#1}%
+ \cdef\currenttabulation{\currenttabulation:#1}%
\fi
\else
- \edef\currenttabulation{\currenttabulation:#1}%
+ \cdef\currenttabulation{\currenttabulation:#1}%
\setuptabulation[\currenttabulation][#2]%
\fi
\tabl_tabulate_start_building}
@@ -2006,7 +2006,7 @@
\ifhastok={#1}%
\setupcurrenttabulatemove[#1]%
\else
- \edef\currenttabulatemove{#1}%
+ \cdef\currenttabulatemove{#1}%
\setupcurrenttabulatemove[#2]%
\fi
\edef\p_orientation{\theorientation{\tabulatemoveparameter\c!orientation}}%
@@ -2459,7 +2459,7 @@
\def\tabl_tabulate_anchor_setup % a bit of a cheat but good enough for a lightweight experiment
{\edef\p_synchronize{\tabulationparameter\c!synchronize}%
\ifx\p_synchronize\v!background
- \edef\currentframedcontent{\tabulationparameter\c!frame}%
+ \cdef\currentframedcontent{\tabulationparameter\c!frame}%
\ifx\currentframedcontent\v!off
\resettabulationparameter\c!frame
\lettonothing\currentframedcontent
diff --git a/tex/context/base/mkxl/tabl-xtb.mklx b/tex/context/base/mkxl/tabl-xtb.mklx
index f7121dc58..446296d1a 100644
--- a/tex/context/base/mkxl/tabl-xtb.mklx
+++ b/tex/context/base/mkxl/tabl-xtb.mklx
@@ -219,7 +219,7 @@
\protected\def\tabl_x_start_named[#tag]#spacer[#settings]%
{\bgroup
- \edef\currentxtable{#tag}%
+ \cdef\currentxtable{#tag}%
\advanceby\c_tabl_x_nesting\plusone
\dostarttaggedchained\t!table\empty\??xtable
\setupcurrentxtable[#settings]%
@@ -707,7 +707,7 @@
\protected\def\tabl_x_set_checked#settings%
{\ifcsname\namedxtablehash{#settings}\s!parent\endcsname
- \edef\currentxtable{#settings}%
+ \cdef\currentxtable{#settings}%
\else
\setupcurrentxtable[#settings]%
\fi}
@@ -796,7 +796,7 @@
{\ifempty\currentxtable \else
\chaintocurrentxtable{#tag}%
\fi
- \edef\currentxtable{#tag}%
+ \cdef\currentxtable{#tag}%
\doifelsenextoptionalcs\setupcurrentxtable\relax}
\aliased\let\startxrowgroup \startxgroup
@@ -821,7 +821,7 @@
{\ifempty\currentxtable \else
\chaintocurrentxtable{#tag}%
\fi
- \edef\currentxtable{#tag}%
+ \cdef\currentxtable{#tag}%
\doifelsenextoptionalcs\tabl_x_start_cell_yes\tabl_x_start_cell_nop}
\permanent\protected\def\stopxcell
@@ -845,7 +845,7 @@
{\ifempty\currentxtable \else
\chaintocurrentxtable{#tag}%
\fi
- \edef\currentxtable{#tag}%
+ \cdef\currentxtable{#tag}%
\doifelsenextoptionalcs\tabl_x_start_row_yes\tabl_x_start_row_nop}
\permanent\protected\def\stopxrow
diff --git a/tex/context/base/mkxl/toks-ini.lmt b/tex/context/base/mkxl/toks-ini.lmt
index e232fae0d..b204694ec 100644
--- a/tex/context/base/mkxl/toks-ini.lmt
+++ b/tex/context/base/mkxl/toks-ini.lmt
@@ -18,8 +18,8 @@ local printtable = table.print
local concat = table.concat
local format = string.format
-local commands = token.getcommandvalues()
-local values = token.getfunctionvalues()
+local commands = token.getcommandvalues() -- tex.functioncode
+local values = token.getfunctionvalues() -- tex.functioncode
values.dimen = values.dimension
values.count = values.integer
tokens.values = utilities.storage.allocate(table.swapped(values, values))
diff --git a/tex/context/base/mkxl/trac-tex.lmt b/tex/context/base/mkxl/trac-tex.lmt
index df125cb12..58dfb0316 100644
--- a/tex/context/base/mkxl/trac-tex.lmt
+++ b/tex/context/base/mkxl/trac-tex.lmt
@@ -105,8 +105,15 @@ interfaces.implement {
public = true,
protected = true,
actions = function(cs)
+ local n = 0
+ local m = 0
for k, v in table.sortedhash(profiled) do
logs.report("profiled", "%s : %i",k,v)
+ n = n + v
+ m = m + 1
+ end
+ if m > 0 and n > 0 then
+ logs.report("profiled", "%i profiled : %i",m,n)
end
end,
}
diff --git a/tex/context/base/mkxl/type-ini.mklx b/tex/context/base/mkxl/type-ini.mklx
index 4842451e7..ba73add48 100644
--- a/tex/context/base/mkxl/type-ini.mklx
+++ b/tex/context/base/mkxl/type-ini.mklx
@@ -421,13 +421,13 @@
{\ifconditional\autotypescripts
\usetypescript[#typeface]%
\ifcsname\??fontclassyes#typeface\endcsname
- \edef\fontclass{#typeface}%
+ \cdef\fontclass{#typeface}%
\else
\iftracetypescripts\writestatus\m!fonts{auto load typescript file 1: [#typeface]}\fi
\usetypescriptfile[#typeface]%
\usetypescript[#typeface]%
\ifcsname\??fontclassyes#typeface\endcsname
- \edef\fontclass{#typeface}%
+ \cdef\fontclass{#typeface}%
\else
% todo: message
\letcsname\??fontclassnop#typeface\endcsname\empty
diff --git a/tex/context/base/mkxl/typo-ada.mkxl b/tex/context/base/mkxl/typo-ada.mkxl
index d6eae4249..30214956e 100644
--- a/tex/context/base/mkxl/typo-ada.mkxl
+++ b/tex/context/base/mkxl/typo-ada.mkxl
@@ -80,7 +80,7 @@
\lettonothing\currentadaptive
\setupcurrentadaptive[#2]%
\else
- \edef\currentadaptive{#2}%
+ \cdef\currentadaptive{#2}%
\setupcurrentadaptive[#3]%
\fi
\edef\p_setups{\adaptiveparameter\c!setups}%
diff --git a/tex/context/base/mkxl/typo-cap.mkxl b/tex/context/base/mkxl/typo-cap.mkxl
index 0a6867a43..f64b1a913 100644
--- a/tex/context/base/mkxl/typo-cap.mkxl
+++ b/tex/context/base/mkxl/typo-cap.mkxl
@@ -159,12 +159,12 @@
% here we keep the \groupedcommand
\def\typo_capitals_set_fake#1%
- {\edef\currentcapitals{#1}%
+ {\cdef\currentcapitals{#1}%
\clf_setcharactercasing\currentcapitals
\usecapitalsstyleparameter\c!style}
\def\typo_capitals_set_real#1%
- {\edef\currentcapitals{#1}%
+ {\cdef\currentcapitals{#1}%
\sc % \smallcaps
\clf_setcharactercasing\currentcapitals}
diff --git a/tex/context/base/mkxl/typo-del.mkxl b/tex/context/base/mkxl/typo-del.mkxl
index 025d6ffcf..7b6e01e6b 100644
--- a/tex/context/base/mkxl/typo-del.mkxl
+++ b/tex/context/base/mkxl/typo-del.mkxl
@@ -353,7 +353,7 @@
\def\typo_delimited_push#1#2%
{\push_macro_currentdelimitedtext % can we combine these two
\push_macro_currentdelimitedlanguage % the language used for hyphenation
- \edef\currentdelimitedtext{#1}%
+ \cdef\currentdelimitedtext{#1}%
\edef\m_delimited_argument{#2}%
\ifempty\m_delimited_argument
\typo_delimited_set_language_nop
@@ -364,7 +364,7 @@
\global\advanceby\c_typo_delimited_nesting\plusone
\edef\delimitedtextlevel{\number\c_typo_delimited_nesting}%
\normalexpanded{\chaintocurrentdelimitedtext{\currentparentdelimitedtext:\delimitedtextlevel}}%
- \edef\currentdelimitedtext{\currentparentdelimitedtext:\delimitedtextlevel}}
+ \cdef\currentdelimitedtext{\currentparentdelimitedtext:\delimitedtextlevel}}
\def\typo_delimited_pop
{\global\advanceby\c_typo_delimited_nesting\minusone
diff --git a/tex/context/base/mkxl/typo-drp.mkxl b/tex/context/base/mkxl/typo-drp.mkxl
index 0a128b0d6..167a56fa5 100644
--- a/tex/context/base/mkxl/typo-drp.mkxl
+++ b/tex/context/base/mkxl/typo-drp.mkxl
@@ -102,7 +102,7 @@
\protected\def\typo_initial_handle_indeed#1#2%
{\dontleavehmode
\begingroup
- \edef\currentinitial{#1}%
+ \cdef\currentinitial{#1}%
\setupcurrentinitial[#2]%
\resetfontfeature % might be needed in more places
\doifelsenothing{\initialparameter\c!style}
diff --git a/tex/context/base/mkxl/typo-fln.mkxl b/tex/context/base/mkxl/typo-fln.mkxl
index a62646fff..e614fc10f 100644
--- a/tex/context/base/mkxl/typo-fln.mkxl
+++ b/tex/context/base/mkxl/typo-fln.mkxl
@@ -74,7 +74,7 @@
\protected\def\typo_firstline_handle_indeed#1%
{\dontleavehmode
\begingroup
- \edef\currentfirstline{#1}%
+ \cdef\currentfirstline{#1}%
\usefirstlinestyleandcolor\c!style\c!color
\clf_setfirstline
alternative {\firstlineparameter\c!alternative}%
diff --git a/tex/context/base/mkxl/typo-krn.mkxl b/tex/context/base/mkxl/typo-krn.mkxl
index 4c6aea256..07e66e046 100644
--- a/tex/context/base/mkxl/typo-krn.mkxl
+++ b/tex/context/base/mkxl/typo-krn.mkxl
@@ -28,7 +28,7 @@
\installcommandhandler \??characterkerning {characterkerning} \??characterkerning
\permanent\protected\def\setcharacterkerning[#1]%
- {\edef\currentcharacterkerning{#1}%
+ {\cdef\currentcharacterkerning{#1}%
\ifx\currentcharacterkerning\s!reset
\resetcharacterkerning
\else
@@ -75,12 +75,12 @@
{\groupedcommand{\typo_kerning_apply_nop_indeed{#1}}\donothing}
\def\typo_kerning_apply_yes_indeed#1#2%
- {\edef\currentcharacterkerning{#1}%
+ {\cdef\currentcharacterkerning{#1}%
\setupcurrentcharacterkerning[\c!factor=#2]%
\typo_kerning_set}
\def\typo_kerning_apply_nop_indeed#1%
- {\edef\currentcharacterkerning{#1}%
+ {\cdef\currentcharacterkerning{#1}%
\typo_kerning_set}
\definecharacterkerning [\v!kerncharacters] [\c!factor=.125]
diff --git a/tex/context/base/mkxl/typo-lbx.mkxl b/tex/context/base/mkxl/typo-lbx.mkxl
index 57186856f..5d85f4266 100644
--- a/tex/context/base/mkxl/typo-lbx.mkxl
+++ b/tex/context/base/mkxl/typo-lbx.mkxl
@@ -89,7 +89,7 @@
\permanent\protected\def\localboxcommand
{\ifcsname\??localboxesnamespace\number\localboxindex\endcsname
- %\edef\currentlocalboxes{\lastnamedcs}%
+ %\cdef\currentlocalboxes{\lastnamedcs}%
\expandafter\let\expandafter\currentlocalboxes\lastnamedcs
\setbox\localboxcontentbox\hbox
{\uselocalboxesstyleandcolor\c!style\c!color % sometimes redundant
@@ -114,7 +114,7 @@
\def\typo_localboxes_zero#1#2#3%
{\ifcsname\??localboxesattribute#2\endcsname
\c_typo_localboxes_index\lastnamedcs
- \edef\currentlocalboxes{#2}%
+ \cdef\currentlocalboxes{#2}%
\edef\currentlocalboxeslocation{#1}%
\typo_localboxes_localbox
index \c_typo_localboxes_index
@@ -135,7 +135,7 @@
\def\typo_localboxes_asis#1#2#3%
{\ifcsname\??localboxesattribute#2\endcsname
\c_typo_localboxes_index\lastnamedcs
- \edef\currentlocalboxes{#2}%
+ \cdef\currentlocalboxes{#2}%
\edef\currentlocalboxeslocation{#1}%
\typo_localboxes_localbox
index \c_typo_localboxes_index
@@ -167,7 +167,7 @@
\permanent\tolerant\protected\def\resetlocalbox[#1]%
{\ifcsname\??localboxesattribute#1\endcsname
\c_typo_localboxes_index\lastnamedcs
- \edef\currentlocalboxes{#1}%
+ \cdef\currentlocalboxes{#1}%
\ifcsname\??localboxesresetters\localboxesparameter\c!location\endcsname
\edef\currentlocalboxeslocation{\lastnamedcs}%
\typo_localboxes_localbox index \c_typo_localboxes_index {}%
@@ -176,7 +176,7 @@
\def\typo_localboxes_box#1%
{\dowithnextboxcontent
- {\edef\currentlocalboxes{#1}%
+ {\cdef\currentlocalboxes{#1}%
\uselocalboxesstyleandcolor\c!style\c!color}
{\ifcsname\??localboxeslocations\namedlocalboxesparameter{#1}\c!location\endcsname
\expandafter\lastnamedcs
@@ -196,7 +196,7 @@
\csname\??localboxeslocations\v!left\expandafter\endcsname
\fi{#1}{\unhbox\nextbox}}%
\hbox\bgroup
- \edef\currentlocalboxes{#1}%
+ \cdef\currentlocalboxes{#1}%
\uselocalboxesstyleandcolor\c!style\c!color
\enforced\def\stoplocalbox{\removeunwantedspaces\egroup}%
\ignorespaces}
@@ -267,7 +267,7 @@
{\dontleavehmode
\ifcsname\??localboxesattribute#1\endcsname
\c_typo_localboxes_index\lastnamedcs
- \edef\currentlocalboxes{#1}%
+ \cdef\currentlocalboxes{#1}%
\edef\currentlocalboxeslocation{\localboxesparameter\c!location}%
\ifx\currentlocalboxeslocation\v!right\localrightbox\orelse\ifx\currentlocalboxeslocation\v!left\localleftbox\else\localmiddlebox\fi
index \c_typo_localboxes_index
diff --git a/tex/context/base/mkxl/typo-plc.mkxl b/tex/context/base/mkxl/typo-plc.mkxl
index e6e90db73..521a341a6 100644
--- a/tex/context/base/mkxl/typo-plc.mkxl
+++ b/tex/context/base/mkxl/typo-plc.mkxl
@@ -21,7 +21,7 @@
\permanent\protected\def\placeholder[#1]%
{\begingroup
- \edef\currentplaceholder{#1}%
+ \cdef\currentplaceholder{#1}%
\placeholderparameter\c!before
\useplaceholderstyleandcolor\c!style\c!color
\placeholderparameter\c!text
diff --git a/tex/context/base/mkxl/typo-pnc.mkxl b/tex/context/base/mkxl/typo-pnc.mkxl
index aceab2685..686740c5c 100644
--- a/tex/context/base/mkxl/typo-pnc.mkxl
+++ b/tex/context/base/mkxl/typo-pnc.mkxl
@@ -28,7 +28,7 @@
\installcommandhandler \??periodkerning {periodkerning} \??periodkerning
\permanent\protected\def\setperiodkerning[#1]%
- {\edef\currentperiodkerning{#1}%
+ {\cdef\currentperiodkerning{#1}%
\ifx\currentperiodkerning\s!reset
\resetperiodkerning
\else
diff --git a/tex/context/base/mkxl/typo-rub.mkxl b/tex/context/base/mkxl/typo-rub.mkxl
index 79760c328..8e5d12e7f 100644
--- a/tex/context/base/mkxl/typo-rub.mkxl
+++ b/tex/context/base/mkxl/typo-rub.mkxl
@@ -43,7 +43,7 @@
{\dontleavehmode
\begingroup
\enforced\let\ruby\noruby
- \edef\currentruby{#1}%
+ \cdef\currentruby{#1}%
\edef\p_location{\rubyparameter\c!location}%
% \enforced\let|\relax
\enforced\letcharcode\barasciicode\relax
@@ -111,7 +111,7 @@
{\dontleavehmode
\begingroup
\enforced\aliased\startruby\begingroup
- \edef\currentruby{#1}%
+ \cdef\currentruby{#1}%
\clf_startruby
align {\rubyparameter\c!align}%
stretch {\rubyparameter\c!stretch}%
diff --git a/tex/context/base/mkxl/typo-scr.mkxl b/tex/context/base/mkxl/typo-scr.mkxl
index 159b0be6b..74abe5a45 100644
--- a/tex/context/base/mkxl/typo-scr.mkxl
+++ b/tex/context/base/mkxl/typo-scr.mkxl
@@ -76,7 +76,7 @@
\protected\def\typo_scripts_low[#1]#2%
{\dontleavehmode
\begingroup
- \edef\currentlow{#1}%
+ \cdef\currentlow{#1}%
\typo_scripts_distance\lowparameter
\setbox\scratchbox\runninghbox\bgroup
\lower\lowparameter\c!down\hbox\bgroup
@@ -102,7 +102,7 @@
\protected\def\typo_scripts_high[#1]#2%
{\dontleavehmode
\begingroup
- \edef\currenthigh{#1}%
+ \cdef\currenthigh{#1}%
\typo_scripts_distance\highparameter
\setbox\scratchbox\runninghbox\bgroup
\raise\highparameter\c!up\hbox\bgroup
@@ -162,7 +162,7 @@
\tolerant\protected\def\typo_scripts_lowhigh[#1]#*[#2]#:#3#4% todo: align .. [#1] is compatible hack
{\dontleavehmode
\runninghbox\bgroup
- \edef\currentlowhigh{#1}%
+ \cdef\currentlowhigh{#1}%
\typo_scripts_distance\lowhighparameter
\dostarttagged\t!subsup\currentlowhigh
\setbox\plusfour\hpack{\typo_scripts_lowhigh_low_high\lower\c!down\t!sub{#3}}%
@@ -251,7 +251,7 @@
\protected\def\typo_scripts_lowmidhigh[#1]#2#3#4%
{\dontleavehmode
\runninghbox\bgroup
- \edef\currentlowmidhigh{#1}%
+ \cdef\currentlowmidhigh{#1}%
\dostarttagged\t!subsup\currentlowmidhigh
\uselowmidhighstyleandcolor\c!style\c!color
\setstrut
diff --git a/tex/context/interface/mkii/keys-de.xml b/tex/context/interface/mkii/keys-de.xml
index 13762dd50..80665a471 100644
--- a/tex/context/interface/mkii/keys-de.xml
+++ b/tex/context/interface/mkii/keys-de.xml
@@ -808,6 +808,7 @@
<cd:constant name='direction' value='richtung'/>
<cd:constant name='directory' value='verzeichnis'/>
<cd:constant name='display' value='bildschirm'/>
+ <cd:constant name='displayfactor' value='displayfactor'/>
<cd:constant name='displaythreshold' value='displaythreshold'/>
<cd:constant name='distance' value='abstand'/>
<cd:constant name='domain' value='domain'/>
@@ -928,6 +929,7 @@
<cd:constant name='index' value='index'/>
<cd:constant name='indicator' value='indikator'/>
<cd:constant name='initialsep' value='initialsep'/>
+ <cd:constant name='inlinefactor' value='inlinefactor'/>
<cd:constant name='inlinethreshold' value='inlinethreshold'/>
<cd:constant name='inner' value='innen'/>
<cd:constant name='innermargin' value='innermargin'/>
diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml
index 7062012f5..1c20b3a7c 100644
--- a/tex/context/interface/mkiv/context-en.xml
+++ b/tex/context/interface/mkiv/context-en.xml
@@ -48181,6 +48181,10 @@
<cd:constant type="no"/>
<cd:constant type="cd:number"/>
</cd:parameter>
+ <cd:parameter name="paragraph">
+ <cd:constant default="no" type="yes"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
<cd:parameter name="escape">
<cd:constant type="yes"/>
<cd:constant default="yes" type="no"/>
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 0a88e801a..989f3e3b8 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index 788e6ace3..8f7ce94bf 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-verbatim.xml b/tex/context/interface/mkiv/i-verbatim.xml
index 20f1bb873..6ac7d1a57 100644
--- a/tex/context/interface/mkiv/i-verbatim.xml
+++ b/tex/context/interface/mkiv/i-verbatim.xml
@@ -201,6 +201,10 @@
<cd:constant type="no"/>
<cd:constant type="cd:number"/>
</cd:parameter>
+ <cd:parameter name="paragraph">
+ <cd:constant type="yes" default="no"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
<cd:parameter name="escape">
<cd:constant type="yes"/>
<cd:constant type="no" default="yes"/>
diff --git a/tex/context/modules/third/mtx-install-imp-tikz.lua b/tex/context/modules/third/mtx-install-imp-tikz.lua
index 77b4d903f..33929bddb 100644
--- a/tex/context/modules/third/mtx-install-imp-tikz.lua
+++ b/tex/context/modules/third/mtx-install-imp-tikz.lua
@@ -22,7 +22,7 @@ local defaults = {
"source/latex/**",
"source/plain/**",
- "source/generic/**",
+ -- "source/generic/**",
}
return {
diff --git a/tex/context/sample/common/knuth-gpt.tex b/tex/context/sample/common/knuth-gpt.tex
new file mode 100644
index 000000000..79cdca07a
--- /dev/null
+++ b/tex/context/sample/common/knuth-gpt.tex
@@ -0,0 +1,4 @@
+It's amazing how the confident tone lends credibility to all of that
+made-up nonsense. Almost impossible for anybody without knowledge
+of the book to believe that those \quotation {facts} aren't authorititative
+and well researched.
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index b6b76bd5b..a599128a5 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 : 2023-06-01 09:35
+-- merge date : 2023-06-04 18:54
do -- begin closure to overcome local limits and interference
@@ -3331,6 +3331,7 @@ local p_prune_intospace=Cs (noleading*(notrailing+intospace+1 )^0 )
local p_retain_normal=Cs ((normalline+normalempty )^0 )
local p_retain_collapse=Cs ((normalline+doubleempty )^0 )
local p_retain_noempty=Cs ((normalline+singleempty )^0 )
+local p_collapse_all=Cs (stripstart*(stripend+((whitespace+newline)^1/" ")+1)^0 )
local striplinepatterns={
["prune"]=p_prune_normal,
["prune and collapse"]=p_prune_collapse,
@@ -3339,6 +3340,7 @@ local striplinepatterns={
["retain"]=p_retain_normal,
["retain and collapse"]=p_retain_collapse,
["retain and no empty"]=p_retain_noempty,
+ ["collapse all"]=p_collapse_all,
["collapse"]=patterns.collapser,
}
setmetatable(striplinepatterns,{ __index=function(t,k) return p_prune_collapse end })