summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-06-29 23:24:45 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-06-29 23:24:45 +0200
commited04388261fdd19e6cc5661225439df6e042bf41 (patch)
tree8266ef63cfd71f6ebe06180f0e69695664010f5b /tex
parent070c533456efeba3c0c97908ab9930f00ae7b61c (diff)
downloadcontext-ed04388261fdd19e6cc5661225439df6e042bf41.tar.gz
2021-06-29 23:13:00
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/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/lang-ini.lua13
-rw-r--r--tex/context/base/mkiv/luat-cnf.lua4
-rw-r--r--tex/context/base/mkiv/mult-fun.lua3
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin23617 -> 23621 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin248307 -> 248363 bytes
-rw-r--r--tex/context/base/mkiv/util-tar.lua4
-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/libs-imp-lzma.lmt2
-rw-r--r--tex/context/base/mkxl/lpdf-lmt.lmt2
-rw-r--r--tex/context/base/mkxl/luat-ini.mkxl3
-rw-r--r--tex/context/base/mkxl/mlib-run.lmt1
-rw-r--r--tex/context/base/mkxl/mlib-scn.lmt86
-rw-r--r--tex/context/base/mkxl/pack-rul.mkxl6
-rw-r--r--tex/context/base/mkxl/strc-con.mklx6
-rw-r--r--tex/context/base/mkxl/strc-not.mklx76
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
21 files changed, 162 insertions, 58 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 430e4c2a7..85130e123 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{2021.06.27 16:54}
+\newcontextversion{2021.06.29 23:10}
%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 bc85e355b..60a3d86e2 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{2021.06.27 16:54}
+\edef\contextversion{2021.06.29 23:10}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 28dd93980..d539b2840 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{2021.06.27 16:54}
+\newcontextversion{2021.06.29 23:10}
%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 d5bef984a..a79fb76a7 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.06.27 16:54}
+\edef\contextversion{2021.06.29 23:10}
%D Kind of special:
diff --git a/tex/context/base/mkiv/lang-ini.lua b/tex/context/base/mkiv/lang-ini.lua
index e286233bc..54e5e96f8 100644
--- a/tex/context/base/mkiv/lang-ini.lua
+++ b/tex/context/base/mkiv/lang-ini.lua
@@ -21,7 +21,7 @@ if not modules then modules = { } end modules ['lang-ini'] = {
local type, tonumber, next = type, tonumber, next
local utfbyte = utf.byte
local format, gsub, gmatch, find = string.format, string.gsub, string.gmatch, string.find
-local concat, sortedkeys, sortedpairs, keys, insert = table.concat, table.sortedkeys, table.sortedpairs, table.keys, table.insert
+local concat, sortedkeys, sortedhash, keys, insert = table.concat, table.sortedkeys, table.sortedhash, table.keys, table.insert
local utfvalues, strip, utfcharacters = string.utfvalues, string.strip, utf.characters
local context = context
@@ -506,15 +506,6 @@ else
return 0
end
end
-
- if CONTEXTLMTXMODE > 0 then
- numbers[0] = "null"
- registered.null = {
- number = 0,
- instance = new_language(0),
- }
- end
-
end
-- not that usefull, global values
@@ -590,7 +581,7 @@ languages.logger = languages.logger or { }
function languages.logger.report()
local result, r = { }, 0
- for tag, l in sortedpairs(registered) do
+ for tag, l in sortedhash(registered) do
if l.loaded then
r = r + 1
result[r] = format("%s:%s:%s",tag,l.parent,l.number)
diff --git a/tex/context/base/mkiv/luat-cnf.lua b/tex/context/base/mkiv/luat-cnf.lua
index 7bb70ce20..a67167bb9 100644
--- a/tex/context/base/mkiv/luat-cnf.lua
+++ b/tex/context/base/mkiv/luat-cnf.lua
@@ -209,7 +209,7 @@ function texconfig.init()
end
-CONTEXTLMTXMODE = %s
+CONTEXTLMTXMODE = 0
-- we provide a qualified path
@@ -256,7 +256,7 @@ local function makestub()
end
end
t[#t+1] = ""
- t[#t+1] = format(stub,firsttable,tostring(CONTEXTLMTXMODE or 0))
+ t[#t+1] = format(stub,firsttable)
io.savedata(name,concat(t,"\n"))
logs.newline()
end
diff --git a/tex/context/base/mkiv/mult-fun.lua b/tex/context/base/mkiv/mult-fun.lua
index e9572f983..c0209c89e 100644
--- a/tex/context/base/mkiv/mult-fun.lua
+++ b/tex/context/base/mkiv/mult-fun.lua
@@ -38,6 +38,9 @@ return {
"popparameters",
"definecolor",
--
+ "newrecord",
+ "getrecord",
+ --
"anchorxy", "anchorx", "anchory",
"anchorht", "anchordp",
"anchorul", "anchorll", "anchorlr", "anchorur",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 5bf31dc0f..a238c059b 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 2273d06c0..6b0362e36 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-tar.lua b/tex/context/base/mkiv/util-tar.lua
index 0368a7db5..c8a8536a7 100644
--- a/tex/context/base/mkiv/util-tar.lua
+++ b/tex/context/base/mkiv/util-tar.lua
@@ -124,7 +124,7 @@ local readers = {
return true
end,
- link = function(t,h)
+ symbolic = function(t,h)
local metadata = t.metadata
local filename = h.name
local linkname = h.linkname
@@ -152,7 +152,7 @@ local skippers = {
return fileoffset
end,
- link = function(t,h)
+ symbolic = function(t,h)
return true
end,
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 2716055d2..9dc2c1797 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{2021.06.27 16:54}
+\newcontextversion{2021.06.29 23:10}
%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 4976f4ffe..895f817ae 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{2021.06.27 16:54}
+\immutable\edef\contextversion{2021.06.29 23:10}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/libs-imp-lzma.lmt b/tex/context/base/mkxl/libs-imp-lzma.lmt
index 69762a54c..eeecaf353 100644
--- a/tex/context/base/mkxl/libs-imp-lzma.lmt
+++ b/tex/context/base/mkxl/libs-imp-lzma.lmt
@@ -9,6 +9,8 @@ if not modules then modules = { } end modules ['libs-imp-lzma'] = {
-- Instead of linking in libs like this we now do them optional. After all, once
-- we start adding more and more stuff statically we en dup with a mess.
+-- e:\tex-context\tex\texmf-win64\bin\lib\luametatex\lzma\liblzma.dll
+
local libname = "lzma"
local libfile = "liblzma"
diff --git a/tex/context/base/mkxl/lpdf-lmt.lmt b/tex/context/base/mkxl/lpdf-lmt.lmt
index fc488297f..f3eea58b4 100644
--- a/tex/context/base/mkxl/lpdf-lmt.lmt
+++ b/tex/context/base/mkxl/lpdf-lmt.lmt
@@ -2488,7 +2488,9 @@ local openfile, closefile do
else
f = io.open(filename,"wb")
if not f then
+ report()
report("quitting because file %a cannot be opened for writing",filename)
+ report()
os.exit()
end
-- f:setvbuf("full",64*1024)
diff --git a/tex/context/base/mkxl/luat-ini.mkxl b/tex/context/base/mkxl/luat-ini.mkxl
index abfe510b1..98095a4de 100644
--- a/tex/context/base/mkxl/luat-ini.mkxl
+++ b/tex/context/base/mkxl/luat-ini.mkxl
@@ -59,7 +59,8 @@
%D It is nicer for checking with \type {s-system-macros} if we have some meaning:
\pushoverloadmode
- \let\-\explicitdiscretionary
+ % \aliased\let\-\explicitdiscretionary
+ \permanent\protected\def\-{\begingroup\hyphenationmode\explicithyphenationmodecode\explicitdiscretionary\endgroup}
\popoverloadmode
\ifdefined\n \else \mutable\def\n{n} \fi \ifdefined\r \else \mutable\def\r{r} \fi
diff --git a/tex/context/base/mkxl/mlib-run.lmt b/tex/context/base/mkxl/mlib-run.lmt
index 82ca32c75..231bd4d20 100644
--- a/tex/context/base/mkxl/mlib-run.lmt
+++ b/tex/context/base/mkxl/mlib-run.lmt
@@ -214,6 +214,7 @@ function metapost.load(name,method)
tolerance = bend_tolerance,
math_mode = method,
run_script = metapost.runscript,
+ run_internal = metapost.runinternal,
script_error = metapost.scripterror,
make_text = metapost.maketext,
extensions = 1,
diff --git a/tex/context/base/mkxl/mlib-scn.lmt b/tex/context/base/mkxl/mlib-scn.lmt
index b64533cae..2fb4e7428 100644
--- a/tex/context/base/mkxl/mlib-scn.lmt
+++ b/tex/context/base/mkxl/mlib-scn.lmt
@@ -92,9 +92,6 @@ local tokenscanners = nil
local scanset = nil
local scanparameters = nil
-scanners.typescanners = typescanners
-scanners.tokenscanners = tokenscanners
-
scanset = function() -- can be optimized, we now read twice
scantoken()
if scantoken(true) == rightbrace_code then
@@ -165,6 +162,9 @@ table.setmetatableindex(tokenscanners,function()
return typescanners[e] or scanexpression
end)
+scanners.typescanners = typescanners
+scanners.tokenscanners = tokenscanners
+
-- a key like 'color' has code 'declare'
local function scanparameters(fenced)
@@ -179,18 +179,29 @@ local function scanparameters(fenced)
end
while true do
-- local s = scansymbol()
- local s = scansymbol(false,false)
+ local s = scansymbol(false,false) -- keep expand
if s == close then
break;
elseif s == "," then
-- continue
else
- local t = scantoken(true)
- if t == equals_code or t == colon_code then
+-- local t = scantoken(true)
+-- if t == equals_code or t == colon_code then
+-- -- optional equal or :
+-- scantoken()
+-- else
+-- end
+-- local kind = scantoken(true)
+
+-- test:
+--
+ local kind = scantoken(true)
+ if kind == equals_code or kind == colon_code then
-- optional equal or :
scantoken()
+ local kind = scantoken(true)
end
- local kind = scantoken(true)
+
if kind == leftdelimiter_code or kind == tag_code or kind == capsule_code then
kind = scanexpression(true)
data[s] = (typescanners[kind] or scanexpression)()
@@ -381,9 +392,11 @@ end
-- todo:
-local function getparameter()
+local function getparameter(v)
local list, n = collectnames()
- local v = namespaces
+ if not v then
+ v = namespaces
+ end
for i=1,n do
local l = list[i]
local vl = v[l]
@@ -752,6 +765,61 @@ function metapost.setparameterset(namespace,t)
namespaces[namespace] = t
end
+-- This is an experiment for Alan and me.
+
+local records = { }
+local stack = setmetatableindex("table")
+local nofrecords = 0
+local interim = 0
+
+registerdirect("newrecord", function()
+ scantoken() -- semicolon
+ local p = get_parameters()
+ local n = 0
+ if interim > 0 then
+ records[interim] = p
+ local top = stack[interim]
+ if top then
+ top = stack[interim][#top]
+ if top then
+ setmetatableindex(p,top)
+ end
+ end
+ n = interim
+ interim = 0
+ else
+ nofrecords = nofrecords + 1
+ records[nofrecords] = p
+ n = nofrecords
+ end
+ return n
+end)
+
+registerdirect("getrecord", function()
+ local n = scaninteger()
+ local v = records[n]
+ while true do
+ local t = scansymbol(true)
+ if t == ";" or t == ")" then
+ return v
+ elseif t == "." then
+ scansymbol()
+ else
+ t = scansymbol()
+ v = v[t]
+ end
+ end
+end)
+
+function metapost.runinternal(n,m)
+ if m == 0 then
+ insert(stack[n],records[n])
+ interim = n
+ elseif m == 1 then
+ records[n] = remove(stack[n]) or records[n]
+ end
+end
+
-- goodies
registerdirect("definecolor", function()
diff --git a/tex/context/base/mkxl/pack-rul.mkxl b/tex/context/base/mkxl/pack-rul.mkxl
index c4e510623..bbfd88bfe 100644
--- a/tex/context/base/mkxl/pack-rul.mkxl
+++ b/tex/context/base/mkxl/pack-rul.mkxl
@@ -1766,6 +1766,12 @@
% \framed[width=2cm,align=middle,location=lohi] {location\\equals\\lohi}
% \framed[width=2cm,align=middle,location=middle] {location\\equals\\middle}
% B}
+% \vskip2cm
+% \ruledhbox
+% {A
+% \framed[width=2cm,align=middle,location=keep] {location\\equals\\top}
+% \framed[width=2cm,align=middle,location=formula {location\\equals\\bottom}
+% B}
\installframedlocator \v!hanging % best with strut=no *1* / see mail to list by SB
{}
diff --git a/tex/context/base/mkxl/strc-con.mklx b/tex/context/base/mkxl/strc-con.mklx
index 5e0ceb833..a7df2f9cf 100644
--- a/tex/context/base/mkxl/strc-con.mklx
+++ b/tex/context/base/mkxl/strc-con.mklx
@@ -261,7 +261,7 @@
\currentconstructiontext
\endgroup}
-\protected\setvalue{\??constructionmainhandler\v!construction}#1%
+\protected\defcsname\??constructionmainhandler\v!construction\endcsname#1%
{\iftrialtypesetting \else
\begingroup
\currentconstructionsynchronize % reinstated
@@ -270,7 +270,7 @@
\endgroup
\fi#1}
-\protected\setvalue{\??constructiontexthandler\v!construction}%
+\protected\defcsname\??constructiontexthandler\v!construction\endcsname
{\begingroup
\useconstructionstyleandcolor\c!headstyle\c!headcolor % move to \currentconstructiontext
\the\everyconstruction
@@ -294,7 +294,7 @@
% \def\resetconstructions % to be used in e.g. footnotes
% {\c_strc_constructions_nested_state\zerocount}
-\protected\setvalue{\??constructioncommandhandler\v!construction}%
+\protected\defcsname\??constructioncommandhandler\v!construction\endcsname
{\endgroup}
\let\p_strc_constructions_sample \empty
diff --git a/tex/context/base/mkxl/strc-not.mklx b/tex/context/base/mkxl/strc-not.mklx
index a0691d9f1..0adb23566 100644
--- a/tex/context/base/mkxl/strc-not.mklx
+++ b/tex/context/base/mkxl/strc-not.mklx
@@ -449,7 +449,10 @@
\c_attr_destination\currentconstructionattribute\relax % todo, whole text
\signalcharacter
\endgroup
- \fi#following}
+ \fi
+ \ifconditional\c_strc_notes_flushed\else
+ #following\relax
+ \fi}
\protected\defcsname\??constructionnotehandler\v!notation:\v!note\endcsname % in the running text
{\ifnotesenabled
@@ -481,6 +484,8 @@
\global\settrue\postponednote
\orelse\ifconditional\inlocalnotes % todo: per note class
\global\settrue\postponednote
+ \orelse\ifconditional\c_strc_notes_flushed
+ \handlenoteitself\currentnote\currentnotenumber
\orelse\ifconditional\c_strc_notes_delayed
% probably end notes
\else
@@ -938,28 +943,49 @@
\installcorenamespace{notelocation}
\newconditional\c_strc_notes_delayed
+\newconditional\c_strc_notes_flushed
+
+\protected\def\strc_notes_set_delayed_yes{\settrue \c_strc_notes_delayed\setfalse\c_strc_notes_flushed}
+\protected\def\strc_notes_set_delayed_nop{\setfalse\c_strc_notes_delayed\setfalse\c_strc_notes_flushed}
+\protected\def\strc_notes_set_delayed_lst{\settrue \c_strc_notes_delayed\settrue \c_strc_notes_flushed}
+
+\defcsname\??notelocation\v!page\endcsname
+ {\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
+ \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_page}
+
+\defcsname\??notelocation\v!columns\endcsname
+ {\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
+ \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_columns}
+
+\defcsname\??notelocation\v!lastcolumn\endcsname
+ {\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
+ \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_lastcolumn}
+
+\defcsname\??notelocation\v!firstcolumn\endcsname
+ {\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
+ \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_firstcolumn}
-\protected\def\strc_notes_set_delayed_yes{\settrue \c_strc_notes_delayed}
-\protected\def\strc_notes_set_delayed_nop{\setfalse\c_strc_notes_delayed}
-
-\defcsname\??notelocation\v!page \endcsname{\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
- \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_page}
-\defcsname\??notelocation\v!columns \endcsname{\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
- \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_columns}
-\defcsname\??notelocation\v!lastcolumn \endcsname{\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
- \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_lastcolumn}
-\defcsname\??notelocation\v!firstcolumn\endcsname{\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_nop
- \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_firstcolumn}
-\defcsname\??notelocation\v!none \endcsname{\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_yes
- \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_none}
-\defcsname\??notelocation\v!text \endcsname{\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_yes
- \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_text}
-\defcsname\??notelocation\v!high \endcsname{\letcsname\??notepositionvariant\currentnote\endcsname\strc_notes_set_position_high}
-\defcsname\??notelocation\v!bottom \endcsname{\letcsname\??notepositionvariant\currentnote\endcsname\strc_notes_set_position_bottom}
-
-\defcsname\??notedelayedvariant \??notedelayedvariant \endcsname{\strc_notes_set_delayed_nop} % not let
-\defcsname\??notepositionvariant\??notepositionvariant\endcsname{\strc_notes_set_position_bottom} % not let
-\defcsname\??notelocationvariant\??notelocationvariant\endcsname{\strc_notes_set_location_page} % not let
+\defcsname\??notelocation\v!none\endcsname
+ {\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_yes
+ \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_none}
+
+\defcsname\??notelocation\v!list\endcsname
+ {\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_lst
+ \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_none}
+
+\defcsname\??notelocation\v!text\endcsname
+ {\letcsname\??notedelayedvariant \currentnote\endcsname\strc_notes_set_delayed_yes
+ \letcsname\??notelocationvariant\currentnote\endcsname\strc_notes_set_location_text}
+
+\defcsname\??notelocation\v!high\endcsname
+ {\letcsname\??notepositionvariant\currentnote\endcsname\strc_notes_set_position_high}
+
+\defcsname\??notelocation\v!bottom\endcsname
+ {\letcsname\??notepositionvariant\currentnote\endcsname\strc_notes_set_position_bottom}
+
+\defcsname\??notedelayedvariant \??notedelayedvariant \endcsname{\strc_notes_set_delayed_nop } % not \let
+\defcsname\??notepositionvariant\??notepositionvariant\endcsname{\strc_notes_set_position_bottom} % not \let
+\defcsname\??notelocationvariant\??notelocationvariant\endcsname{\strc_notes_set_location_page } % not \let
\protected\def\strc_notes_set_delayed
{\csname\??notedelayedvariant
@@ -1261,7 +1287,9 @@
\begstrut
\strc_references_flush_destination_nodes
\strc_notes_set_destination_attribute_text
- \strc_notes_inject_text\relax
+ \ifconditional\c_strc_notes_flushed\else
+ \strc_notes_inject_text\relax
+ \fi
\ifvmode\obeydepth\else\endstrut\fi % \obeydepth is new per 2015-01-10
\strc_constructions_stored_stop
%endgroup
@@ -1270,6 +1298,8 @@
\protected\def\strc_notes_inject_text % hm main?
{\clf_savedlisttitle{\currentconstructionmain}\currentconstructionlistentry\relax}
+\installstructurelistprocessor{construction}{\usestructurelistprocessor{section}}
+
\newsignal\d_strc_notes_signal
\newconditional\processingnote
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 48cd432b5..4a2afb265 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 : 2021-06-27 16:54
+-- merge date : 2021-06-29 23:10
do -- begin closure to overcome local limits and interference