From c6b55838820ffd27a05d45364f956f87f089c3ee Mon Sep 17 00:00:00 2001 From: Marius Date: Fri, 22 Mar 2013 00:40:13 +0200 Subject: beta 2013.03.21 23:27 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4134 -> 4137 bytes tex/context/base/context-version.png | Bin 40433 -> 40452 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/page-mix.lua | 30 ++++++++++++++++----- tex/context/base/page-set.mkiv | 8 +++--- tex/context/base/status-files.pdf | Bin 24755 -> 24762 bytes tex/context/base/status-lua.pdf | Bin 211653 -> 211531 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 11 files changed, 34 insertions(+), 14 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 7f0c77bc2..898380b81 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2013.03.21 18:26} +\newcontextversion{2013.03.21 23:27} %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/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 7f75c3f43..0c8a13691 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{2013.03.21 18:26} +\newcontextversion{2013.03.21 23:27} %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 d2a694667..6b3085d46 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-version.png b/tex/context/base/context-version.png index 21bafb2e8..5338fd32c 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index cf6a7002b..a0e0d3324 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2013.03.21 18:26} +\edef\contextversion{2013.03.21 23:27} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index c1913fa55..2bd5c1d1b 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -25,7 +25,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2013.03.21 18:26} +\edef\contextversion{2013.03.21 23:27} %D For those who want to use this: diff --git a/tex/context/base/page-mix.lua b/tex/context/base/page-mix.lua index f63989dd8..c2cd74b99 100644 --- a/tex/context/base/page-mix.lua +++ b/tex/context/base/page-mix.lua @@ -75,7 +75,6 @@ local function collectinserts(result,nxt,nxtid) if nxtid == insert_code then inserttotal = inserttotal + nxt.height + nxt.depth local s = nxt.subtype --- print(">>>",structures.inserts.getlocation(s)) local c = inserts[s] if not c then c = { } @@ -125,9 +124,26 @@ end local function discardtopglue(current,discarded) while current do local id = current.id - if id == glue_code or (id == penalty_code and current.penalty ~= forcedbreak) then + if id == glue_code then discarded[#discarded+1] = current current = current.next + elseif id == penalty_code then + if current.penalty == forcedbreak then + discarded[#discarded+1] = current + current = current.next + while current do + local id = current.id + if id == glue_code then + discarded[#discarded+1] = current + current = current.next + else + break + end + end + else + discarded[#discarded+1] = current + current = current.next + end else break end @@ -236,8 +252,8 @@ local function setsplit(specification) -- a rather large function if trace_state then report_state("empty column %s, needs more work",column) end -rest = current -return false + rest = current + return false else lasthead = head result.head = head @@ -256,14 +272,14 @@ return false if column == nofcolumns then column = 0 -- nicer in trace rest = head --- lasthead = head + -- lasthead = head return false else column = column + 1 result = results[column] current = discardtopglue(current,discarded) head = current --- lasthead = head + -- lasthead = head return true end end @@ -384,6 +400,7 @@ return false -- club and widow and such i.e. resulting penalties (if we care) end end + nxt = current.next -- can have changed if nxt then current = nxt elseif head == lasthead then @@ -589,6 +606,7 @@ function mixedcolumns.cleanup(result) for i=1,#discarded do freenode(discarded[i]) end + result.discarded = { } end -- interface -- diff --git a/tex/context/base/page-set.mkiv b/tex/context/base/page-set.mkiv index 850ad21dd..b7c26035e 100644 --- a/tex/context/base/page-set.mkiv +++ b/tex/context/base/page-set.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -% not yet mkiv! +% not yet mkiv! probably namespace issues with localframed (only one left) % % getnoflines vs getrawnoflines @@ -1633,7 +1633,8 @@ \page_set_command_set_hsize \else \bgroup - \fi} + \fi + \begingroup} % extra grouping needed ... else weird issue with ungrouped font switch (e.g. \ss) % \setuplayout[grid=yes] \definecolumnset[example] \showgrid @@ -1661,6 +1662,7 @@ \unexpanded\def\stopcolumnset {\endgraf + \endgroup % ends extra grouping \ifnum\columnsetlevel=\plusone \endgraf % needed, else wrong vsize in one par case \global\settrue\OTRSETfinish @@ -2327,7 +2329,7 @@ [\??mt\currentcolumntestarea] [\c!location=,% new (*) \c!width=\!!widtha,\c!height=\!!heighta,\c!lines=] - {\columntextareaparameter\empty}}% + {\columntextareaparameter\empty{}}}% messy \!!counta\columntextareaparameter\c!x \!!countb\columntextareaparameter\c!y \advance\!!countb \columntextareaparameter\c!ny diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index f3ee8f602..22f54435d 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 f35aa8951..4bc2c0fc3 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 22a4ef4b4..99c1a22f0 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 : 03/21/13 18:26:12 +-- merge date : 03/21/13 23:27:35 do -- begin closure to overcome local limits and interference -- cgit v1.2.3