From 2f1f82d9aac25ec4b22eeb14b7af4da936deafd7 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 15 Jan 2014 18:03:00 +0100 Subject: beta 2014.01.15 18:03 --- tex/context/base/back-exp.lua | 60 ++++++++++++--------- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4084 -> 4086 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/lpdf-tag.lua | 45 ++++++---------- tex/context/base/status-files.pdf | Bin 24763 -> 24769 bytes tex/context/base/status-lua.pdf | Bin 229018 -> 229144 bytes tex/context/base/x-set-11.mkiv | 12 ++++- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 9 files changed, 65 insertions(+), 58 deletions(-) (limited to 'tex') diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua index cd499abe7..f51025cf8 100644 --- a/tex/context/base/back-exp.lua +++ b/tex/context/base/back-exp.lua @@ -454,13 +454,18 @@ local function checkdocument(root) if data then for i=1,#data do local di = data[i] - if di.content then - -- ok - elseif di.tg == "ignore" then + local tg = di.tg + if tg == "noexport" then +data[i] = false +-- di.element = "" +-- di.data = nil -- { } + elseif di.content then + -- okay + elseif tg == "ignore" then di.element = "" checkdocument(di) else - -- can't happen +checkdocument(di) end end end @@ -1197,23 +1202,28 @@ function structurestags.settabulatecell(align) end end +local function hascontent(data) + for i=1,#data do + local di = data[i] + if not di then + -- + elseif di.content then + return true + else + local d = di.data + if d and #d > 0 and hascontent(d) then + return true + end + end + end +end + function extras.tabulate(result,element,detail,n,fulltag,di) local data = di.data for i=1,#data do local di = data[i] - if di.tg == "tabulaterow" then - local did = di.data - local content = false - for i=1,#did do - local d = did[i].data - if d and #d > 0 and d[1].content then - content = true - break - end - end - if not content then - di.element = "" -- or simply remove - end + if di.tg == "tabulaterow" and not hascontent(di.data) then + di.element = "" -- or simply remove end end end @@ -1766,9 +1776,9 @@ local function pushentry(current) end end -local function pushcontent(currentparagraph,newparagraph) +local function pushcontent(oldparagraph,newparagraph) if nofcurrentcontent > 0 then - if currentparagraph then + if oldparagraph then if currentcontent[nofcurrentcontent] == "\n" then if trace_export then report_export("%w",currentdepth) @@ -1778,9 +1788,9 @@ local function pushcontent(currentparagraph,newparagraph) end local content = concat(currentcontent,"",1,nofcurrentcontent) if content == "" then - -- omit; when currentparagraph we could push, remove spaces, pop - elseif somespace[content] and currentparagraph then - -- omit; when currentparagraph we could push, remove spaces, pop + -- omit; when oldparagraph we could push, remove spaces, pop + elseif somespace[content] and oldparagraph then + -- omit; when oldparagraph we could push, remove spaces, pop else local olddepth, newdepth local list = taglist[currentattribute] @@ -1789,7 +1799,7 @@ local function pushcontent(currentparagraph,newparagraph) end local td = tree.data local nd = #td - td[nd+1] = { parnumber = currentparagraph, content = content } + td[nd+1] = { parnumber = oldparagraph or currentparagraph, content = content } if trace_export then report_export("%w",currentdepth,#content) report_export("%w%s",currentdepth,(gsub(content,"\n","\\n"))) @@ -1803,10 +1813,10 @@ local function pushcontent(currentparagraph,newparagraph) end nofcurrentcontent = 0 end - if currentparagraph then + if oldparagraph then pushentry(makebreaklist(currentnesting)) if trace_export then - report_export("%w",currentdepth,currentparagraph,newparagraph) + report_export("%w",currentdepth,oldparagraph,newparagraph) end end end diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 9eba6d390..19261b64c 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2014.01.14 16:21} +\newcontextversion{2014.01.15 18:03} %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/context-version.pdf b/tex/context/base/context-version.pdf index 2a760c903..7541feadb 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 470f81796..3dd862759 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2014.01.14 16:21} +\edef\contextversion{2014.01.15 18:03} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/lpdf-tag.lua b/tex/context/base/lpdf-tag.lua index 37a640225..2a36f5e9a 100644 --- a/tex/context/base/lpdf-tag.lua +++ b/tex/context/base/lpdf-tag.lua @@ -213,39 +213,28 @@ local function makecontent(parent,start,stop,slist,id) -- local bliteral = pdfliteral(format("/%s <>BDC",tag,last)) local eliteral = pdfliteral("EMC") --- if false --- local prev = getprev(start) --- if prev then --- setfield(prev,"next",bliteral) --- setfield(bliteral,"prev",prev) --- end --- setfield(start,"prev",bliteral) --- setfield(bliteral,"next",start) --- -- --- local next = getnext(stop) --- if next then --- setfield(next,"prev",eliteral) --- setfield(eliteral,"next",next) --- end --- setfield(stop,"next",eliteral) --- setfield(eliteral,"prev",stop) --- -- --- if slist and getlist(slist) == start then --- setfield(slist,"list",bliteral) --- elseif not prev then --- report_tags("this can't happen: injection in front of nothing") --- end --- else + -- + local prev = getprev(start) + if prev then + setfield(prev,"next",bliteral) + setfield(bliteral,"prev",prev) + end + setfield(start,"prev",bliteral) + setfield(bliteral,"next",start) + -- + local next = getnext(stop) + if next then + setfield(next,"prev",eliteral) + setfield(eliteral,"next",next) + end + setfield(stop,"next",eliteral) + setfield(eliteral,"prev",stop) + -- if slist and getlist(slist) == start then setfield(slist,"list",bliteral) elseif not getprev(start) then report_tags("this can't happen: injection in front of nothing") end - -- - insert_before(start,start,bliteral) - insert_after(stop,stop,eliteral) --- end - -- index = index + 1 list[index] = parent.pref return bliteral, eliteral diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 201784050..619c76e8a 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 9ddb19bc0..04eb97fb9 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/x-set-11.mkiv b/tex/context/base/x-set-11.mkiv index 3f8d97b51..8380c9f80 100644 --- a/tex/context/base/x-set-11.mkiv +++ b/tex/context/base/x-set-11.mkiv @@ -448,8 +448,17 @@ % \def\showsetupindeed#1% % {\xmlfilterlist{\loadedsetups}{interface/command[@name='#1']/command(xml:setups:typeset)}} +% \def\showsetupindeed#1% +% {\xmlfilterlist{\loadedsetups}{/interface/command['#1' == (@type=='environment' and 'start' or '') .. @name]/command(xml:setups:typeset)}} + +\setelementnature[setup][display] + \def\showsetupindeed#1% - {\xmlfilterlist{\loadedsetups}{/interface/command['#1' == (@type=='environment' and 'start' or '') .. @name]/command(xml:setups:typeset)}} + {\startelement[setup][name=#1]% + \startelement[noexport]% + \xmlfilterlist{\loadedsetups}{/interface/command['#1' == (@type=='environment' and 'start' or '') .. @name]/command(xml:setups:typeset)}% + \stopelement + \stopelement} \unexpanded\def\placesetup {\placelistofsorts[texcommand][\c!criterium=\v!used]} \unexpanded\def\placeallsetups{\placelistofsorts[texcommand][\c!criterium=\v!all ]} @@ -823,7 +832,6 @@ \stoptabulate \stopxmlsetups - \starttexdefinition showrootvalues [#1] \edef\currentsetupparametercategory{#1} \edef\currentsetupparametercommand{setup#1} diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 9f21df802..6af830035 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 : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 01/14/14 16:21:00 +-- merge date : 01/15/14 18:03:19 do -- begin closure to overcome local limits and interference -- cgit v1.2.3