summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/spac-ver.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2017-10-01 16:40:17 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2017-10-01 16:40:17 +0200
commit80743fc19190334d3a0d4c86538663b98695a573 (patch)
tree7a94f73a318e0362bacc2596ac8fc6201ed1d1b6 /tex/context/base/mkiv/spac-ver.lua
parent164a98ac4e58ae88de0a83d1eb60583827f4fbab (diff)
downloadcontext-80743fc19190334d3a0d4c86538663b98695a573.tar.gz
2017-10-01 14:38:00
Diffstat (limited to 'tex/context/base/mkiv/spac-ver.lua')
-rw-r--r--tex/context/base/mkiv/spac-ver.lua27
1 files changed, 24 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/spac-ver.lua b/tex/context/base/mkiv/spac-ver.lua
index e7183b569..cafab12ad 100644
--- a/tex/context/base/mkiv/spac-ver.lua
+++ b/tex/context/base/mkiv/spac-ver.lua
@@ -54,6 +54,8 @@ local texset = tex.set
local texsetdimen = tex.setdimen
local texnest = tex.nest
+local buildpage = tex.triggerbuildpage
+
local variables = interfaces.variables
local implement = interfaces.implement
@@ -737,14 +739,16 @@ storage.register("builders/vspacing/data/skip", vspacingdata.skip, "builders.vsp
do -- todo: interface.variables and properties
- local P, C, R, S, Cc = lpeg.P, lpeg.C, lpeg.R, lpeg.S, lpeg.Cc
+ local P, C, R, S, Cc, Cs = lpeg.P, lpeg.C, lpeg.R, lpeg.S, lpeg.Cc, lpeg.Cs
vspacing.fixed = false
local map = vspacingdata.map
local skip = vspacingdata.skip
- local multiplier = C(S("+-")^0 * R("09")^1) * P("*")
+ local sign = S("+-")^0
+ local multiplier = C(sign * R("09")^1) * P("*")
+ local singlefier = Cs(sign * Cc(1))
local separator = S(", ")
local category = P(":") * C((1-separator)^1)
local keyword = C((1-category-separator)^1)
@@ -817,7 +821,7 @@ do -- todo: interface.variables and properties
end
end
- local splitter = ((multiplier + Cc(1)) * keyword * (category + Cc(false))) / handler
+ local splitter = ((multiplier + singlefier) * keyword * (category + Cc(false))) / handler
pattern = (splitter + separator^1)^0
function vspacing.analyze(str)
@@ -2091,6 +2095,23 @@ do
if head then
local head = remove_node(head,find_node_tail(head),true)
texlists.page_head = head
+ buildpage()
+ end
+ end
+ }
+
+ interfaces.implement {
+ name = "removelastline",
+ actions = function()
+ local head = texlists.page_head
+ if head then
+ local tail = find_node_tail(head)
+ if tail then
+ -- maybe check for hlist subtype 1
+ local head = remove_node(head,tail,true)
+ texlists.page_head = head
+ buildpage()
+ end
end
end
}