From f7aace89a32537ea222b2f1538c6262a313e74ce Mon Sep 17 00:00:00 2001
From: Hans Hagen <pragma@wxs.nl>
Date: Fri, 28 Mar 2014 15:04:00 +0100
Subject: beta 2014.03.28 15:04

---
 tex/context/base/back-pdf.mkiv                     |   2 +-
 tex/context/base/cont-new.mkiv                     |   2 +-
 tex/context/base/context-version.pdf               | Bin 4078 -> 4084 bytes
 tex/context/base/context.mkiv                      |   2 +-
 tex/context/base/spac-ver.lua                      |  19 ++++++++++++++++---
 tex/context/base/status-files.pdf                  | Bin 24614 -> 24646 bytes
 tex/context/base/status-lua.pdf                    | Bin 241227 -> 241230 bytes
 tex/context/base/trac-deb.lua                      |   3 ++-
 tex/generic/context/luatex/luatex-fonts-merged.lua |   2 +-
 9 files changed, 22 insertions(+), 8 deletions(-)

(limited to 'tex')

diff --git a/tex/context/base/back-pdf.mkiv b/tex/context/base/back-pdf.mkiv
index 5423a0df6..df9594507 100644
--- a/tex/context/base/back-pdf.mkiv
+++ b/tex/context/base/back-pdf.mkiv
@@ -18,8 +18,8 @@
 \registerctxluafile{lpdf-nod}{1.001}
 \registerctxluafile{lpdf-col}{1.000}
 \registerctxluafile{lpdf-xmp}{1.001}
-\registerctxluafile{lpdf-mis}{1.001}
 \registerctxluafile{lpdf-ano}{1.001}
+\registerctxluafile{lpdf-mis}{1.001}
 \registerctxluafile{lpdf-ren}{1.001}
 \registerctxluafile{lpdf-grp}{1.001}
 \registerctxluafile{lpdf-wid}{1.001}
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index 2b7b745a6..6697689df 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.03.27 20:04}
+\newcontextversion{2014.03.28 15:04}
 
 %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 0ad517b2b..0223243a2 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 44470388a..34578857b 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.03.27 20:04}
+\edef\contextversion{2014.03.28 15:04}
 \edef\contextkind   {beta}
 
 %D For those who want to use this:
diff --git a/tex/context/base/spac-ver.lua b/tex/context/base/spac-ver.lua
index 87f645cd1..3f1fd5c82 100644
--- a/tex/context/base/spac-ver.lua
+++ b/tex/context/base/spac-ver.lua
@@ -8,7 +8,8 @@ if not modules then modules = { } end modules ['spac-ver'] = {
 
 -- we also need to call the spacer for inserts!
 
--- todo: directly set skips
+-- todo: use lua nodes with lua data (>0.79)
+-- see ** can go when 0.79
 
 -- this code dates from the beginning and is kind of experimental; it
 -- will be optimized and improved soon
@@ -120,8 +121,8 @@ builders.vspacing         = vspacing
 local vspacingdata        = vspacing.data or { }
 vspacing.data             = vspacingdata
 
-vspacingdata.snapmethods  = vspacingdata.snapmethods or { }
-local snapmethods         = vspacingdata.snapmethods --maybe some older code can go
+local snapmethods         = vspacingdata.snapmethods or { }
+vspacingdata.snapmethods  = snapmethods
 
 storage.register("builders/vspacing/data/snapmethods", snapmethods, "builders.vspacing.data.snapmethods")
 
@@ -901,6 +902,8 @@ local function check_experimental_overlay(head,current) -- todo
     local c = current
     local n = nil
 
+setfield(head,"prev",nil) -- till we have 0.79 **
+
     local function overlay(p, n, s, mvl)
         local c = getprev(n)
         while c and c ~= p do
@@ -1011,7 +1014,17 @@ local function collapser(head,where,what,trace,snap,a_snapmethod) -- maybe also
         if penalty_data then
             local p = new_penalty(penalty_data)
             if trace then trace_done("flushed due to " .. why,p) end
+if penalty_data >= 10000 then -- or whatever threshold?
+    local prev = getprev(current)
+    if getid(prev) == glue_code then -- maybe go back more, or maybe even push back before any glue
+            -- tricky case: spacing/grid-007.tex: glue penalty glue
+            head = insert_node_before(head,prev,p)
+    else
             head = insert_node_before(head,current,p)
+    end
+else
+            head = insert_node_before(head,current,p)
+end
         end
         if glue_data then
             local spec = getfield(glue_data,"spec")
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 057c89a0c..6408f9231 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 1cb31328c..5fccd88e2 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/trac-deb.lua b/tex/context/base/trac-deb.lua
index edf32c3b9..ae3a4d067 100644
--- a/tex/context/base/trac-deb.lua
+++ b/tex/context/base/trac-deb.lua
@@ -155,7 +155,7 @@ local function processerror(offset)
     local linenumber   = tonumber(status.linenumber) or 0
     local lasttexerror = status.lasterrorstring or "?"
     local lastluaerror = status.lastluaerrorstring or lasttexerror
-    local luaerrorline = match(lastluaerror,[[%[.-lua%].-:.-(%d+)]]) or (lastluaerror and find(lastluaerror,"?:0:",1,true) and 0)
+    local luaerrorline = match(lastluaerror,[[lua:.-(%d+)]]) or (lastluaerror and find(lastluaerror,"?:0:",1,true) and 0)
     local report       = luaerrorline and report_lua or report_tex
     tracers.printerror {
         filename     = filename,
@@ -185,6 +185,7 @@ function tracers.printerror(specification)
         report_nl()
         if luaerrorline then
             report("error on line %s in file %s:\n\n%s",linenumber,filename,lastluaerror)
+--             report("error on line %s in file %s:\n\n%s",linenumber,filename,lasttexerror)
         else
             report("error on line %s in file %s: %s",linenumber,filename,lasttexerror)
             if tex.show_context then
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 7e3c261a0..001aadd13 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/27/14 20:04:55
+-- merge date  : 03/28/14 15:04:10
 
 do -- begin closure to overcome local limits and interference
 
-- 
cgit v1.2.3