summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2023-04-27 00:04:07 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2023-04-27 00:04:07 +0200
commit6b25a7a970ba9553adf8077ef2eecb50a5d77818 (patch)
treef06e40077ba9e55af4bf6cab52313f79f8ea84a8 /tex/context/base/mkiv
parent657457ef4a08c1f000f272e00f654f4064cc37bd (diff)
downloadcontext-6b25a7a970ba9553adf8077ef2eecb50a5d77818.tar.gz
2023-04-26 23:31:00
Diffstat (limited to 'tex/context/base/mkiv')
-rw-r--r--tex/context/base/mkiv/cldf-ini.lua4
-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-txt.lua21
-rw-r--r--tex/context/base/mkiv/luat-fmt.lua9
-rw-r--r--tex/context/base/mkiv/math-def.mkiv3
-rw-r--r--tex/context/base/mkiv/math-vfu.lua11
-rw-r--r--tex/context/base/mkiv/mult-low.lua6
-rw-r--r--tex/context/base/mkiv/mult-prm.lua13
-rw-r--r--tex/context/base/mkiv/publ-imp-apa.mkvi29
-rw-r--r--tex/context/base/mkiv/publ-imp-aps.mkvi1
-rw-r--r--tex/context/base/mkiv/publ-imp-chicago.mkvi37
-rw-r--r--tex/context/base/mkiv/publ-imp-cite.mkvi44
-rw-r--r--tex/context/base/mkiv/publ-imp-definitions.mkvi34
-rw-r--r--tex/context/base/mkiv/publ-imp-list.mkvi28
-rw-r--r--tex/context/base/mkiv/publ-imp-page.mkvi11
-rw-r--r--tex/context/base/mkiv/publ-ini.lua50
-rw-r--r--tex/context/base/mkiv/publ-ini.mkiv2
-rw-r--r--tex/context/base/mkiv/scrn-fld.lua2
-rw-r--r--tex/context/base/mkiv/scrn-fld.mkvi2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24611 -> 24631 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin267963 -> 271237 bytes
-rw-r--r--tex/context/base/mkiv/toks-scn.mkiv5
23 files changed, 176 insertions, 140 deletions
diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua
index 9b5e705ca..b7f162862 100644
--- a/tex/context/base/mkiv/cldf-ini.lua
+++ b/tex/context/base/mkiv/cldf-ini.lua
@@ -455,11 +455,11 @@ end
if CONTEXTLMTXMODE > 0 then
- callback.register("show_lua_call", function(what, slot)
+ callbacks.register("show_lua_call", function(what, slot)
local name = namesofscanners[slot]
-- return name and formatters["%s: \\%s, slot: %i"](what,name,slot) or ""
return name and formatters["%s \\%s"](what,name) or ""
- end)
+ end, "provide lua call details")
end
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 0623da6c5..1e887573a 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.04.15 00:19}
+\newcontextversion{2023.04.26 23:28}
%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 78fbb2605..2656c4376 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.04.15 00:19}
+\edef\contextversion{2023.04.26 23:28}
%D Kind of special:
diff --git a/tex/context/base/mkiv/lang-txt.lua b/tex/context/base/mkiv/lang-txt.lua
index af1f42c47..668d48eb6 100644
--- a/tex/context/base/mkiv/lang-txt.lua
+++ b/tex/context/base/mkiv/lang-txt.lua
@@ -189,7 +189,7 @@ data.labels={
["be"]="Рэдактар",
["bg"]="редактор",
["ca"]="Editor",
- ["cs"]={ "Editor", "Editorka" },
+ ["cs"]="Editor",
["de"]="Herausgeber",
["en"]="editor",
["eo"]="eldonisto",
@@ -200,11 +200,23 @@ data.labels={
["hy"]="խմբագիր",
["it"]="a cura di",
["mk"]="уредник",
- ["sk"]={ "Editor", "Editorka" },
+ ["sk"]="Editor",
["sr"]="уредник",
["sr-latn"]="urednik",
},
},
+ ["editor:f"]={
+ ["labels"]={
+ ["cs"]="Editorka",
+ ["sk"]="Editorka",
+ },
+ },
+ ["editor:m"]={
+ ["labels"]={
+ ["cs"]="Editor",
+ ["sk"]="Editor",
+ },
+ },
["editors"]={
["labels"]={
["be"]="Рэдактары",
@@ -1146,6 +1158,11 @@ data.labels={
},
},
["texts"]={
+ ["demo-texts"]={
+ ["labels"]={
+ ["en"]={ "demo-1", "demo-2" },
+ },
+ },
["and"]={
["labels"]={
["af"]="",
diff --git a/tex/context/base/mkiv/luat-fmt.lua b/tex/context/base/mkiv/luat-fmt.lua
index fe97cf604..191721332 100644
--- a/tex/context/base/mkiv/luat-fmt.lua
+++ b/tex/context/base/mkiv/luat-fmt.lua
@@ -15,6 +15,11 @@ if not modules then modules = { } end modules ['luat-fmt'] = {
-- I'll strip the code here because something generic will never take of and we
-- moved on to luametatex anyway.
+-- Per 2023-04-25 we need to explicitly pass --socket and --shell-escape because
+-- other macro packages need these libraries to be disabled due to lack of control.
+-- So a quite drastic break of downward compatibility (context could not generate a
+-- format otherwise). Yet another reason to move on to luametatex.
+
local format = string.format
local concat = table.concat
local quoted = string.quoted
@@ -64,7 +69,7 @@ end
-- The silent option is for Taco. It's a bit of a hack because we cannot yet mess
-- with directives. In fact, I could probably clean up the maker a bit by now.
-local template = [[--ini %primaryflags% --lua=%luafile% %texfile% %secondaryflags% %redirect%]]
+local template = [[--ini %primaryflags% --socket --shell-escape --lua=%luafile% %texfile% %secondaryflags% %redirect%]]
local checkers = {
primaryflags = "verbose", -- "flags"
@@ -225,7 +230,7 @@ function environment.make_format(formatname)
lfs.chdir(startupdir)
end
-local template = [[%primaryflags% --fmt=%fmtfile% --lua=%luafile% %texfile% %secondaryflags%]]
+local template = [[%primaryflags% --socket --shell-escape --fmt=%fmtfile% --lua=%luafile% %texfile% %secondaryflags%]]
local checkers = {
primaryflags = "verbose",
diff --git a/tex/context/base/mkiv/math-def.mkiv b/tex/context/base/mkiv/math-def.mkiv
index 901f075d3..14da40a4a 100644
--- a/tex/context/base/mkiv/math-def.mkiv
+++ b/tex/context/base/mkiv/math-def.mkiv
@@ -47,6 +47,9 @@
\definemathcommand [deg] [nolop] {\mfunctionlabeltext{deg}}
\definemathcommand [det] [limop] {\mfunctionlabeltext{det}}
\definemathcommand [dim] [nolop] {\mfunctionlabeltext{dim}}
+%definemathcommand [erf] [nolop] {\mfunctionlabeltext{erf}}
+%definemathcommand [erfc] [nolop] {\mfunctionlabeltext{erfc}}
+%definemathcommand [erfi] [nolop] {\mfunctionlabeltext{erfi}}
\definemathcommand [exp] [nolop] {\mfunctionlabeltext{exp}}
\definemathcommand [gcd] [limop] {\mfunctionlabeltext{gcd}}
\definemathcommand [hom] [nolop] {\mfunctionlabeltext{hom}}
diff --git a/tex/context/base/mkiv/math-vfu.lua b/tex/context/base/mkiv/math-vfu.lua
index 5fe9738a2..be1402cdf 100644
--- a/tex/context/base/mkiv/math-vfu.lua
+++ b/tex/context/base/mkiv/math-vfu.lua
@@ -620,8 +620,10 @@ setmetatableindex(reverse, function(t,name)
end
local m = mathencodings[name]
local r = { }
- for u, i in next, m do
- r[i] = u
+ if type(m) == "table" then
+ for u, i in next, m do
+ r[i] = u
+ end
end
reverse[name] = r
return r
@@ -714,8 +716,9 @@ function vfmath.define(specification,set,goodies)
local start = (trace_virtual or trace_timings) and os.clock()
local okset = { }
local n = 0
- for s=1,#set do
- local ss = set[s]
+ local setlist = set.recipe or set
+ for s=1,#setlist do
+ local ss = setlist[s]
local ssname = ss.name
if add_optional and ss.optional then
if trace_virtual then
diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua
index 8cc781034..69655ee38 100644
--- a/tex/context/base/mkiv/mult-low.lua
+++ b/tex/context/base/mkiv/mult-low.lua
@@ -259,11 +259,11 @@ return {
"globalsetmode", "globalresetmode", "globalsetsystemmode", "globalresetsystemmode",
"booleanmodevalue",
--
- "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif",
+ "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newfloat",
"newlanguage", "newfamily", "newfam", "newhelp", -- not used
--
- "newinteger", "newdimension", "newgluespec", "newmugluespec",
- "aliasinteger", "aliasdimension",
+ "newinteger", "newdimension", "newgluespec", "newmugluespec", "newposit",
+ "aliasinteger", "aliasdimension", "aliasposit",
--
"then",
"begcsname",
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index 72da89718..239e97a04 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -99,6 +99,7 @@ return {
"Umathcode",
"Umathconnectoroverlapmin",
"Umathdegreevariant",
+ "Umathdelimiterextendmargin",
"Umathdelimiterovervariant",
"Umathdelimiterpercent",
"Umathdelimitershortfall",
@@ -318,6 +319,7 @@ return {
"currentmarks",
"dbox",
"defcsname",
+ "deferred",
"detokenized",
"dimensiondef",
"dimexpression",
@@ -333,6 +335,7 @@ return {
"etoks",
"etoksapp",
"etokspre",
+ "eufactor",
"everybeforepar",
"everymathatom",
"everytab",
@@ -349,7 +352,10 @@ return {
"explicitdiscretionary",
"explicithyphenpenalty",
"firstvalidlanguage",
+ "float",
+ "floatdef",
"flushmarks",
+ "fontcharba",
"fontcharta",
"fontid",
"fontmathcontrol",
@@ -399,6 +405,7 @@ return {
"hyphenationmin",
"hyphenationmode",
"ifabsdim",
+ "ifabsfloat",
"ifabsnum",
"ifarguments",
"ifboolean",
@@ -414,6 +421,7 @@ return {
"ifdimval",
"ifempty",
"ifflags",
+ "iffloat",
"ifhaschar",
"ifhastok",
"ifhastoks",
@@ -429,6 +437,7 @@ return {
"ifrelax",
"iftok",
"ifzerodim",
+ "ifzerofloat",
"ifzeronum",
"ignorearguments",
"ignoredepthcriterium",
@@ -556,7 +565,9 @@ return {
"maththreshold",
"mathunderline",
"meaningasis",
+ "meaningful",
"meaningfull",
+ "meaningles",
"meaningless",
"mugluespecdef",
"mutable",
@@ -588,6 +599,8 @@ return {
"pardirection",
"permanent",
"pettymuskip",
+ "posexpr",
+ "positdef",
"postexhyphenchar",
"posthyphenchar",
"postinlinepenalty",
diff --git a/tex/context/base/mkiv/publ-imp-apa.mkvi b/tex/context/base/mkiv/publ-imp-apa.mkvi
index b4ac74258..c4ea0a7f0 100644
--- a/tex/context/base/mkiv/publ-imp-apa.mkvi
+++ b/tex/context/base/mkiv/publ-imp-apa.mkvi
@@ -888,7 +888,7 @@
\setmode{btx:apa:title-placed}
% we make the title active, opening "file"
\btxdoifelse {file} {
- \texdefinition{btx:format:inject}
+ \texdefinition{btx:format:goto}
{url(file:\btxflush{file})}
{
\texdefinition{btx:apa:composed-title}{title}
@@ -1050,8 +1050,7 @@
\starttexdefinition mutable protected btx:apa:authoryear
% we make the authoryear active, pointing to the citation
- \texdefinition{btx:format:inject}
- {internal(\currentbtxinternal)}
+ \texdefinition{btx:format:gotointernal}
{
\doifelsesetups{apa:list:sameauthor} {
\btxdoifelsesameasprevious {author} {
@@ -1261,15 +1260,11 @@
\starttexdefinition mutable protected btx:apa:url
\begingroup
\setbreakpoints[doi]
- \ifconditional\btxinteractive
- \goto {
- \hyphenatedurl{\btxflush{url}}
- } [
- url(\btxflush{url})
- ]
- \else
+ \texdefinition {btx:format:goto} {
+ url(\btxflush{url})
+ } {
\hyphenatedurl{\btxflush{url}}
- \fi
+ }
\endgroup
\stoptexdefinition
@@ -1278,15 +1273,11 @@
\starttexdefinition mutable protected btx:apa:doi
\begingroup
\setbreakpoints[doi]
- \ifconditional\btxinteractive
- \goto {
- \hyphenatedurl{doi:\btxflush{doi}}
- } [
- url(http://dx.doi.org/\btxflush{doi})
- ]
- \else
+ \texdefinition {btx:format:goto} {
+ url(http://dx.doi.org/\btxflush{doi})
+ } {
\hyphenatedurl{doi:\btxflush{doi}}
- \fi
+ }
\endgroup
\stoptexdefinition
diff --git a/tex/context/base/mkiv/publ-imp-aps.mkvi b/tex/context/base/mkiv/publ-imp-aps.mkvi
index e16279222..f6f118ada 100644
--- a/tex/context/base/mkiv/publ-imp-aps.mkvi
+++ b/tex/context/base/mkiv/publ-imp-aps.mkvi
@@ -807,6 +807,7 @@
\stoptexdefinition
\starttexdefinition mutable protected btx:aps:doi-url #text
+ % no: \texdefinition {btx:format:goto} because different test
\ifconditional\btxinteractive
\btxdoifelse {doi} {
\goto {#text} [url(http://dx.doi.org/\btxflush{doi})]
diff --git a/tex/context/base/mkiv/publ-imp-chicago.mkvi b/tex/context/base/mkiv/publ-imp-chicago.mkvi
index 315d68612..152891d88 100644
--- a/tex/context/base/mkiv/publ-imp-chicago.mkvi
+++ b/tex/context/base/mkiv/publ-imp-chicago.mkvi
@@ -887,11 +887,11 @@
\setmode{btx:chicago:title-placed}
% we make the title active, opening "file"
\btxdoifelse {file} {
- \texdefinition{btx:format:inject}
- {url(file:\btxflush{file})}
- {
- \texdefinition{btx:chicago:composed-title}{title}
- }
+ \texdefinition{btx:format:goto} {
+ url(file:\btxflush{file})
+ } {
+ \texdefinition{btx:chicago:composed-title}{title}
+ }
} {
\texdefinition{btx:chicago:composed-title}{title}
}
@@ -1049,8 +1049,7 @@
\starttexdefinition mutable protected btx:chicago:authoryear
% we make the authoryear active, pointing to the citation
- \texdefinition{btx:format:inject}
- {internal(\currentbtxinternal)}
+ \texdefinition{btx:format:gotointernal}
{
\doifelsesetups{chicago:list:sameauthor} {
\btxdoifelsesameasprevious {author} {
@@ -1256,15 +1255,11 @@
\starttexdefinition mutable protected btx:chicago:url
\begingroup
\setbreakpoints[doi]
- \ifconditional\btxinteractive
- \goto {
- \hyphenatedurl{\btxflush{url}}
- } [
- url(\btxflush{url})
- ]
- \else
+ \texdefinition {btx:format:goto} {
+ url(\btxflush{url})
+ } {
\hyphenatedurl{\btxflush{url}}
- \fi
+ }
\endgroup
\stoptexdefinition
@@ -1273,15 +1268,11 @@
\starttexdefinition mutable protected btx:chicago:doi
\begingroup
\setbreakpoints[doi]
- \ifconditional\btxinteractive
- \goto {
- \hyphenatedurl{doi:\btxflush{doi}}
- } [
- url(http://dx.doi.org/\btxflush{doi})
- ]
- \else
+ \texdefinition {btx:format:goto} {
+ url(http://dx.doi.org/\btxflush{doi})
+ } {
\hyphenatedurl{doi:\btxflush{doi}}
- \fi
+ }
\endgroup
\stoptexdefinition
diff --git a/tex/context/base/mkiv/publ-imp-cite.mkvi b/tex/context/base/mkiv/publ-imp-cite.mkvi
index c9afdbf42..5336c146e 100644
--- a/tex/context/base/mkiv/publ-imp-cite.mkvi
+++ b/tex/context/base/mkiv/publ-imp-cite.mkvi
@@ -14,19 +14,9 @@
\unprotect
\starttexdefinition mutable protected btx:cite:inject #content
- \ifconditional\btxinteractive
- \ifx\currentbtxinternal\empty
- #content
- \else
- \goto {
- #content
- } [
- \s!internal(\currentbtxinternal)
- ]
- \fi
- \else
+ \texdefinition{btx:format:gotointernal} {
#content
- \fi
+ }
\stoptexdefinition
\starttexdefinition mutable protected btx:cite:checkconcat
@@ -252,33 +242,27 @@
\startsetups btx:cite:url
\ifx\currentbtxfirst\empty
\fastsetup{\s!btx:\s!cite:\s!empty}
- \else\ifconditional\btxinteractive
- \goto {
+ \else
+ \texdefinition {btx:format:goto} {
+ url(\currentbtxfirst)
+ } {
\btxcitereference
\hyphenatedurl{\currentbtxfirst}
- } [
- url(\currentbtxfirst)
- ]
- \else
- \btxcitereference
- \hyphenatedurl{\currentbtxfirst}
- \fi\fi
+ }
+ \fi
\stopsetups
\startsetups btx:cite:doi
\ifx\currentbtxfirst\empty
\fastsetup{\s!btx:\s!cite:\s!empty}
- \else\ifconditional\btxinteractive
- \goto {
+ \else
+ \texdefinition {btx:format:goto} {
+ url(http://dx.doi.org/\currentbtxfirst)
+ } {
\btxcitereference
\hyphenatedurl{doi:\currentbtxfirst}
- } [
- url(http://dx.doi.org/\currentbtxfirst)
- ]
- \else
- \btxcitereference
- \hyphenatedurl{doi:\currentbtxfirst}
- \fi\fi
+ }
+ \fi
\stopsetups
\protect
diff --git a/tex/context/base/mkiv/publ-imp-definitions.mkvi b/tex/context/base/mkiv/publ-imp-definitions.mkvi
index 1e9f8ea9b..4b6e8d6ae 100644
--- a/tex/context/base/mkiv/publ-imp-definitions.mkvi
+++ b/tex/context/base/mkiv/publ-imp-definitions.mkvi
@@ -27,36 +27,50 @@
\btxfield{short}
\stopxmlsetups
-\starttexdefinition mutable protected btx:format:inject #link #content
+\starttexdefinition mutable protected btx:format:gotointernal #content
\ifx\currentbtxinternal\empty
#content
+ \else\ifnum\currentbtxinternal=\zerocount
+ #content
\else\ifconditional\btxinteractive
+ \goto {#content} [\s!internal(\currentbtxinternal)]
+ \else
+ #content
+ \fi\fi\fi
+\stoptexdefinition
+
+\starttexdefinition mutable protected btx:format:goto #link #content
+ \ifconditional\btxinteractive
\goto {#content} [#link]
\else
#content
- \fi\fi
+ \fi
\stoptexdefinition
\startxmlsetups btx:format:doi
\edef\currentbtxfielddoi{\btxfield{doi}}
\ifx\currentbtxfielddoi\empty
{\tttf no-doi}
- \else\ifconditional\btxinteractive
- \goto{\hyphenatedurl{\currentbtxfielddoi}}[url(http://dx.doi.org/\currentbtxfielddoi)]
\else
- \hyphenatedurl{\currentbtxfielddoi}
- \fi\fi
+ \texdefinition {btx:format:goto} {
+ url(http://dx.doi.org/\currentbtxfielddoi)
+ } {
+ \hyphenatedurl{\currentbtxfielddoi}
+ }
+ \fi
\stopxmlsetups
\startxmlsetups btx:format:url
\edef\currentbtxfieldurl{\btxfield{url}}
\ifx\currentbtxfieldurl\empty
{\tttf no-url}
- \else\ifconditional\btxinteractive
- \goto{\hyphenatedurl{\currentbtxfieldurl}}[url(\currentbtxfieldurl)]
\else
- \hyphenatedurl{\currentbtxfieldurl}
- \fi\fi
+ \texdefinition {btx:format:goto} {
+ url(\currentbtxfieldurl)
+ } {
+ \hyphenatedurl{\currentbtxfieldurl}
+ }
+ \fi
\stopxmlsetups
\startxmlsetups btx:format:year
diff --git a/tex/context/base/mkiv/publ-imp-list.mkvi b/tex/context/base/mkiv/publ-imp-list.mkvi
index eec63e515..5b4331eed 100644
--- a/tex/context/base/mkiv/publ-imp-list.mkvi
+++ b/tex/context/base/mkiv/publ-imp-list.mkvi
@@ -14,19 +14,9 @@
\unprotect
\starttexdefinition mutable protected btx:list:inject:text #content
- \ifconditional\btxinteractivetext
- \ifx\currentbtxinternal\empty
- #content
- \else
- \goto {
- #content
- } [
- \s!internal(\currentbtxinternal)
- ]
- \fi
- \else
+ \texdefinition{btx:format:gotointernal} {
#content
- \fi
+ }
\stoptexdefinition
\startsetups \s!btx:\s!list:text
@@ -40,19 +30,9 @@
\stopsetups
\starttexdefinition mutable protected btx:list:inject:number #content
- \ifconditional\btxinteractivenumber
- \ifx\currentbtxinternal\empty
- #content
- \else
- \goto {
- #content
- } [
- \s!internal(\currentbtxinternal)
- ]
- \fi
- \else
+ \texdefinition{btx:format:gotointernal} {
#content
- \fi
+ }
\stoptexdefinition
\starttexdefinition mutable protected btx:list:helpers:concat
diff --git a/tex/context/base/mkiv/publ-imp-page.mkvi b/tex/context/base/mkiv/publ-imp-page.mkvi
index 5bcfe6ea3..feec4f107 100644
--- a/tex/context/base/mkiv/publ-imp-page.mkvi
+++ b/tex/context/base/mkiv/publ-imp-page.mkvi
@@ -25,6 +25,17 @@
\fastsetup{\s!btx:\s!list:\s!page:concat}
\fastsetup{\s!btx:\currentbtxspecification:\s!list:page-or-pages}
\ifconditional\btxinteractivepage
+ \ifx\currentbtxfirstinternal\empty
+ \donefalse
+ \else\ifnum\currentbtxfirstinternal=\zerocount
+ \donefalse
+ \else
+ \donetrue
+ \fi\fi
+ \else
+ \donefalse
+ \fi
+ \ifdone
\goto {
\currentbtxfirstpage
} [
diff --git a/tex/context/base/mkiv/publ-ini.lua b/tex/context/base/mkiv/publ-ini.lua
index aa96dd8bc..a7d1a6bb5 100644
--- a/tex/context/base/mkiv/publ-ini.lua
+++ b/tex/context/base/mkiv/publ-ini.lua
@@ -1804,10 +1804,14 @@ do
-- todo: names = { "btx" }
+ local function collectresult(rendering)
+ return structures.lists.filter(rendering.specifications) or { }
+ end
+
methods[v_force] = function (dataset,rendering,keyword)
-- only for checking, can have duplicates, todo: collapse page numbers, although
-- we then also needs deferred writes
- local result = structures.lists.filter(rendering.specifications) or { }
+ local result = collectresult(rendering)
local list = rendering.list
local current = datasets[dataset]
local luadata = current.luadata
@@ -1832,7 +1836,7 @@ do
-- global : if tag and not alldone[tag] and done[tag] ~= section then ...
methods[v_local] = function(dataset,rendering,keyword)
- local result = structures.lists.filter(rendering.specifications) or { }
+ local result = collectresult(rendering)
local section = sections.currentid()
local list = rendering.list
local repeated = rendering.repeated == v_yes
@@ -1904,7 +1908,7 @@ do
if not dataset then
return
end
- local rendering = renderings[dataset]
+ local rendering = renderings[dataset]
if not rendering then
return
end
@@ -1920,6 +1924,7 @@ do
rendering.repeated = specification.repeated or v_no
rendering.group = specification.group or ""
rendering.specifications = specification
+ rendering.collected = false
local filtermethod = methods[method]
if not filtermethod then
report_list("invalid method %a",method or "")
@@ -1933,6 +1938,16 @@ do
else
keyword = nil
end
+ local filename = specification.filename
+ if filename and filename ~= "" then
+ local utilitydata = job.loadother(filename)
+ local lists = utilitydata and utilitydata.structures.lists
+ if lists then
+ rendering.collected = lists.collected
+ else
+ return
+ end
+ end
filtermethod(dataset,rendering,keyword)
local list = rendering.list
if list and filter ~= "" then
@@ -2095,15 +2110,20 @@ do
flush()
end
local nofranges = #ranges
+local interactive = not rendering.collected
for i=1,nofranges do
local r = ranges[i]
ctx_btxsetconcat(concatstate(i,nofranges))
local first = r[1]
local last = r[2]
+if interactive then
ctx_btxsetfirstinternal(first[2].internal)
+end
ctx_btxsetfirstpage(first[1])
if last then
+if interactive then
ctx_btxsetlastinternal(last[2].internal)
+end
ctx_btxsetlastpage(last[1])
end
if trace_details then
@@ -2262,14 +2282,16 @@ do
local list = rendering.list
local li = list[i]
if li then
- local data = datasets[dataset]
- local luadata = data.luadata
- local details = data.details
- local tag = li[1]
- local listindex = li[2]
- local n = li[3]
- local entry = luadata[tag]
- local detail = details[tag]
+ local data = datasets[dataset]
+ local luadata = data.luadata
+ local details = data.details
+ local tag = li[1]
+ local listindex = li[2]
+ local n = li[3]
+ local entry = luadata[tag]
+ local detail = details[tag]
+ --
+ local interactive = not rendering.collected
--
ctx_btxstartlistentry()
ctx_btxsetcurrentlistentry(i) -- redundant
@@ -2283,6 +2305,7 @@ do
ctx_btxsettag(tag)
ctx_btxsetnumber(n)
--
+if interactive then
local citation = citetolist[n]
if citation then
local references = citation.references
@@ -2292,6 +2315,7 @@ do
ctx_btxsetinternal(internal)
end
end
+end
end
--
if language then
@@ -2385,6 +2409,7 @@ do
{ "ignored" },
{ "group" },
{ "filter" },
+ { "filename" },
}
}
}
@@ -2806,6 +2831,7 @@ do
-- we refer to a previous list entry
bl = entry.internal
end
+ -- no check for external (yet)
ctx_btxsetinternal(bl and bl > 0 and bl or "")
end
local language = entry.language
@@ -3256,7 +3282,7 @@ do
ctx_btxsettag(tag)
ctx_btxsetbacklink(currentcitation)
local bl = listtocite[currentcitation]
- ctx_btxsetinternal(bl and bl.references.internal or "")
+-- ctx_btxsetinternal(bl and bl.references.internal or "")
if first then
ctx_btxsetfirst(first[key] or "") -- f_missing(first.tag))
local suffix = entry.suffix
diff --git a/tex/context/base/mkiv/publ-ini.mkiv b/tex/context/base/mkiv/publ-ini.mkiv
index 05d93ef85..fafefa781 100644
--- a/tex/context/base/mkiv/publ-ini.mkiv
+++ b/tex/context/base/mkiv/publ-ini.mkiv
@@ -1143,7 +1143,7 @@
{\the\t_btx_reference_inject
\strc_lists_inject_direct % todo: make like \btx_list_reference_inject_now with { }
[\s!btx]%
- [\c!type=\s!btx]% \c!location=\v!none
+ [\c!type=\s!btx,\c!location=\v!here]%
[\ifx\currentbtxdataset\v!default\else\s!btxset=\currentbtxdataset,\fi%
\s!btxref=\currentbtxtag,%
%\ifx\currentbtxcombis \empty\else\s!btxcom={\currentbtxcombis},\fi%
diff --git a/tex/context/base/mkiv/scrn-fld.lua b/tex/context/base/mkiv/scrn-fld.lua
index 046b7864f..856457871 100644
--- a/tex/context/base/mkiv/scrn-fld.lua
+++ b/tex/context/base/mkiv/scrn-fld.lua
@@ -183,7 +183,7 @@ implement {
}
implement {
- name = "doiffieldsetelse",
+ name = "doifelsefieldset",
arguments = "string",
actions = function(name)
ctx_doifelse(codeinjections.validfieldset(name))
diff --git a/tex/context/base/mkiv/scrn-fld.mkvi b/tex/context/base/mkiv/scrn-fld.mkvi
index 6c0e97a9a..ac5d28e9e 100644
--- a/tex/context/base/mkiv/scrn-fld.mkvi
+++ b/tex/context/base/mkiv/scrn-fld.mkvi
@@ -275,7 +275,7 @@
%D A few testing macros:
-\def\doifelsefieldbody #tag{\clf_doifelsefield{#tag}}
+\def\doifelsefieldbody #tag{\clf_doifelsefieldset{#tag}}
\def\doifelsefieldcategory#tag{\clf_doifelsefieldcategory{#tag}}
\let\doiffieldbodyelse \doifelsefieldbody
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 3c36f07cf..4e1f43daf 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 12f91518e..89f494fb5 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/toks-scn.mkiv b/tex/context/base/mkiv/toks-scn.mkiv
index 12abf0cb8..0fdb9cca6 100644
--- a/tex/context/base/mkiv/toks-scn.mkiv
+++ b/tex/context/base/mkiv/toks-scn.mkiv
@@ -18,9 +18,6 @@
\registerctxluafile{toks-scn}{}
\registerctxluafile{cldf-scn}{}
\registerctxluafile{cldf-stp}{}
-
-\ifcase \contextlmtxmode \else
- \registerctxluafile{cldf-lmt}{}
-\fi
+%registerctxluafile{cldf-lmt}{}
\protect \endinput