nixpkgs/pkgs/tools/typesetting/tex/texlive/mtx-local-vars.patch

107 lines
2.5 KiB
Diff

--- a/scripts/context/lua/mtxrun.lua 1970-01-01 01:00:01
+++ b/cont-lmt/scripts/context/lua/mtxrun.lua 2024-03-11 08:34:49
@@ -2435,19 +2433,22 @@
tables[t]=tcopy
end
for i,v in next,t do
+ local k
if type(i)=="table" then
if tables[i] then
- i=tables[i]
+ k=tables[i]
else
- i=copy(i,tables)
+ k=copy(i,tables)
end
+ else
+ k=i
end
if type(v)~="table" then
- tcopy[i]=v
+ tcopy[k]=v
elseif tables[v] then
- tcopy[i]=tables[v]
+ tcopy[k]=tables[v]
else
- tcopy[i]=copy(v,tables)
+ tcopy[k]=copy(v,tables)
end
end
local mt=getmetatable(t)
@@ -12982,10 +13037,10 @@
else
value=is_boolean(value,value,true)
end
- w=topattern(w,true,true)
+ local p=topattern(w,true,true)
for name,functions in sortedhash(data) do
if done[name] then
- elseif find(name,w) then
+ elseif find(name,p) then
done[name]=true
for i=1,#functions do
functions[i](value)
@@ -13554,9 +13610,9 @@
if v then
v.state=value
else
- c=topattern(c,true,true)
+ local p=topattern(c,true,true)
for k,v in next,data do
- if find(k,c) then
+ if find(k,p) then
v.state=value
end
end
@@ -14499,10 +14556,7 @@
realtime=realtime+real
end
totaltime=totaltime+total
- if line<0 then
- line=0
- end
- dataset[#dataset+1]={ real,total,count,name,source,line }
+ dataset[#dataset+1]={ real,total,count,name,source,line<0 and 0 or line }
end
end
end
@@ -21135,10 +21251,10 @@
str=lpegmatch(stripper_1,str)
if validate then
for s in gmatch(str,"[^,]+") do
- s=validate(s)
- if s then
+ local v=validate(s)
+ if v then
n=n+1
- t[n]=s
+ t[n]=v
end
end
else
@@ -23552,7 +23690,8 @@
local result={}
local status={}
local done={}
- for k,r in next,results do
+ for k=1,#results do
+ local r=results[k]
local method,list=r[1],r[2]
if method and list then
for i=1,#list do
--- a/scripts/context/lua/mtx-context.lua 1970-01-01 01:00:01
+++ b/scripts/context/lua/mtx-context.lua 2024-03-11 08:34:49
@@ -613,8 +615,11 @@
-- context flags get prepended by c: ... this will move to the sbx module
local t = { }
for k, v in table.sortedhash(flags) do
+ local p
if prefix then
- k = format("c:%s",k)
+ p = format("c:%s",k)
+ else
+ p = k
end
if not v or v == "" or v == '""' then
-- no need to flag false