summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2019-12-15 18:53:51 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2019-12-15 18:53:51 +0100
commit3b6d2d411fdb8fdaef0a4b8045bfdc60a70ce4f0 (patch)
treefaad59ef7e0622a285d35a5484373247cc729bbb /tex/context/base
parent2683d42fe95c59c52a9d7c334292d0a5a15c030a (diff)
downloadcontext-3b6d2d411fdb8fdaef0a4b8045bfdc60a70ce4f0.tar.gz
2019-12-15 17:34:00
Diffstat (limited to 'tex/context/base')
-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/context.mkxl2
-rw-r--r--tex/context/base/mkiv/font-ctx.lua23
-rw-r--r--tex/context/base/mkiv/font-def.lua10
-rw-r--r--tex/context/base/mkiv/lpdf-pde.lua2
-rw-r--r--tex/context/base/mkiv/lpdf-wid.lua8
-rw-r--r--tex/context/base/mkiv/mtx-context-copy.tex6
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin26570 -> 26572 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin268816 -> 269625 bytes
-rw-r--r--tex/context/base/mkiv/symb-emj.lua1
13 files changed, 40 insertions, 20 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 646791414..430ffe4d1 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{2019.12.12 19:23}
+\newcontextversion{2019.12.15 17:24}
%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 a495e5759..b62f0d456 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{2019.12.12 19:23}
+\edef\contextversion{2019.12.15 17:24}
%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 5116e2190..df06ac855 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{2019.12.12 19:23}
+\newcontextversion{2019.12.15 17:24}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index e3d03915d..8ae058407 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{2019.12.12 19:23}
+\edef\contextversion{2019.12.15 17:24}
\edef\contextkind {beta}
%D Kind of special:
diff --git a/tex/context/base/mkiv/context.mkxl b/tex/context/base/mkiv/context.mkxl
index 4df482faf..e0359e631 100644
--- a/tex/context/base/mkiv/context.mkxl
+++ b/tex/context/base/mkiv/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2019.12.12 19:23}
+\edef\contextversion{2019.12.15 17:24}
\edef\contextkind {beta}
%D Kind of special:
diff --git a/tex/context/base/mkiv/font-ctx.lua b/tex/context/base/mkiv/font-ctx.lua
index ca02d28cf..535b46610 100644
--- a/tex/context/base/mkiv/font-ctx.lua
+++ b/tex/context/base/mkiv/font-ctx.lua
@@ -1498,7 +1498,7 @@ do -- else too many locals
--
- function definers.define(specification)
+ local function define(specification)
--
local name = specification.name
if not name or name == "" then
@@ -1546,6 +1546,7 @@ do -- else too many locals
texdefinefont(specification.global,cs,tfmdata)
csnames[tfmdata] = cs
end
+ stoptiming(fonts)
return tfmdata, fontdata[tfmdata]
else
local id = definefont(tfmdata)
@@ -1557,12 +1558,14 @@ do -- else too many locals
end
constructors.cleanuptable(tfmdata)
constructors.finalize(tfmdata)
+ stoptiming(fonts)
return id, tfmdata
end
- stoptiming(fonts)
end
end
+ definers.define = define
+
-- local id, cs = fonts.definers.internal { }
-- local id, cs = fonts.definers.internal { number = 2 }
-- local id, cs = fonts.definers.internal { name = "dejavusans" }
@@ -1589,7 +1592,7 @@ do -- else too many locals
else
specification.cs = cs
end
- id = definers.define {
+ id = define {
name = name,
size = size,
cs = cs,
@@ -1601,13 +1604,25 @@ do -- else too many locals
return id, csnames[id]
end
+ local read
+
+ if CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0 then -- maybe always
+ read = function(name,size)
+ return (define { name = name, size = size } or 0)
+ end
+ else
+ read = definers.read
+ end
+
+ callbacks.register('define_font', read, "definition of fonts (tfmdata preparation)")
+
-- here
local infofont = 0
function fonts.infofont()
if infofont == 0 then
- infofont = definers.define { name = "dejavusansmono", size = texsp("6pt") }
+ infofont = define { name = "dejavusansmono", size = texsp("6pt") }
end
return infofont
end
diff --git a/tex/context/base/mkiv/font-def.lua b/tex/context/base/mkiv/font-def.lua
index f3d0f8187..e287bf79c 100644
--- a/tex/context/base/mkiv/font-def.lua
+++ b/tex/context/base/mkiv/font-def.lua
@@ -45,7 +45,6 @@ specifiers.variants = variants
definers.methods = definers.methods or { }
local internalized = allocate() -- internal tex numbers (private)
-local lastdefined = nil -- we don't want this one to end up in s-tra-02
local loadedfonts = constructors.loadedfonts
local designsizes = constructors.designsizes
@@ -455,10 +454,6 @@ not gain much. By the way, passing id's back to in the callback was
introduced later in the development.</p>
--ldx]]--
-function definers.current() -- or maybe current
- return lastdefined
-end
-
function definers.registered(hash)
local id = internalized[hash]
return id, id and fontdata[id]
@@ -511,7 +506,6 @@ function definers.read(specification,size,id) -- id can be optional, name can al
end
end
end
- lastdefined = tfmdata or id -- todo ! ! ! ! !
if not tfmdata then -- or id?
report_defining( "unknown font %a, loading aborted",specification.name)
elseif trace_defining and type(tfmdata) == "table" then
@@ -533,4 +527,6 @@ end
<p>We overload the <l n='tfm'/> reader.</p>
--ldx]]--
-callbacks.register('define_font', definers.read, "definition of fonts (tfmdata preparation)")
+if not context then
+ callbacks.register('define_font', definers.read, "definition of fonts (tfmdata preparation)")
+end
diff --git a/tex/context/base/mkiv/lpdf-pde.lua b/tex/context/base/mkiv/lpdf-pde.lua
index 2a8cfeede..eaeea5df3 100644
--- a/tex/context/base/mkiv/lpdf-pde.lua
+++ b/tex/context/base/mkiv/lpdf-pde.lua
@@ -903,6 +903,8 @@ if images then do
value = pdfnull()
elseif kind == reference_object_code then
value = deepcopyobject(xref,copied,entry)
+ elseif entry == nil then
+ value = pdfnull()
else
value = tostring(entry)
end
diff --git a/tex/context/base/mkiv/lpdf-wid.lua b/tex/context/base/mkiv/lpdf-wid.lua
index d1c88ae35..b8648b32a 100644
--- a/tex/context/base/mkiv/lpdf-wid.lua
+++ b/tex/context/base/mkiv/lpdf-wid.lua
@@ -57,6 +57,7 @@ local v_max = variables.max
local v_yes = variables.yes
local pdfconstant = lpdf.constant
+local pdfnull = lpdf.null
local pdfdictionary = lpdf.dictionary
local pdfarray = lpdf.array
local pdfreference = lpdf.reference
@@ -254,7 +255,8 @@ local function flushembeddedfiles()
for tag, reference in sortedhash(filestreams) do
if not reference then
report_attachment("unreferenced file, tag %a",tag)
- elseif referenced[tag] == "hidden" then
+-- elseif referenced[tag] == "hidden" then
+ elseif referenced[tag] ~= "hidden" then
e[#e+1] = pdfstring(tag)
e[#e+1] = reference -- already a reference
else
@@ -440,7 +442,7 @@ function nodeinjections.attachfile(specification)
CA = analyzetransparency(specification.transparencyvalue),
AP = appearance,
OC = analyzelayer(specification.layer),
- F = 0, -- another rediculous need to satisfy validation (optional and zero is default)
+ F = pdfnull(), -- another rediculous need to satisfy validation
}
local width = specification.width or 0
local height = specification.height or 0
@@ -532,7 +534,7 @@ function nodeinjections.comment(specification) -- brrr: seems to be done twice
Name = name,
NM = pdfstring("comment:"..nofcomments),
AP = appearance,
- F = 0, -- another rediculous need to satisfy validation (optional and zero is default)
+ F = pdfnull(), -- another rediculous need to satisfy validation
}
local width = specification.width or 0
local height = specification.height or 0
diff --git a/tex/context/base/mkiv/mtx-context-copy.tex b/tex/context/base/mkiv/mtx-context-copy.tex
index b798b3f8d..8e4336609 100644
--- a/tex/context/base/mkiv/mtx-context-copy.tex
+++ b/tex/context/base/mkiv/mtx-context-copy.tex
@@ -59,7 +59,11 @@
if #document.files == 0 then
context("no files given")
else
- for _, filename in ipairs(document.files) do
+ if document.arguments.pattern then
+ document.files = dir.glob(document.arguments.pattern)
+ end
+ for i=1,#document.files do
+ local filename = document.files[i]
if not string.find(filename,"^mtx%-context%-") then
logs.report("copy",filename)
context.getfiguredimensions
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index f43c2b065..27d8875b4 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 b2189471f..252e8561b 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/symb-emj.lua b/tex/context/base/mkiv/symb-emj.lua
index d6e2aebea..4d16bbb73 100644
--- a/tex/context/base/mkiv/symb-emj.lua
+++ b/tex/context/base/mkiv/symb-emj.lua
@@ -24,6 +24,7 @@ local tonode = nuts.tonode
local tonut = nuts.tonut
local remove_node = nuts.remove
local isglyph = nuts.isglyph
+local getnext = nuts.getnext
local function removemodifiers(head)
local head = tonut(head)