diff options
Diffstat (limited to 'tex/context/base/mkxl/anch-pos.lmt')
| -rw-r--r-- | tex/context/base/mkxl/anch-pos.lmt | 34 | 
1 files changed, 19 insertions, 15 deletions
| diff --git a/tex/context/base/mkxl/anch-pos.lmt b/tex/context/base/mkxl/anch-pos.lmt index 67d1657f2..94eb443c6 100644 --- a/tex/context/base/mkxl/anch-pos.lmt +++ b/tex/context/base/mkxl/anch-pos.lmt @@ -477,25 +477,29 @@ implement {  local function b_region(specification)      local tag  = specification.tag or specification      local last = tobesaved[tag] -    local x, y = getpos() -    last.x = x ~= 0 and x or nil -    last.y = y ~= 0 and y or nil -    last.p = texgetcount("realpageno") -    insert(regions,tag) -- todo: fast stack -    region = tag +    if last then +        local x, y = getpos() +        last.x = x ~= 0 and x or nil +        last.y = y ~= 0 and y or nil +        last.p = texgetcount("realpageno") +        insert(regions,tag) -- todo: fast stack +        region = tag +    end  end  local function e_region(specification)      local last = tobesaved[region] -    local y = getvpos() -    local x, y = getpos() -    if specification.correct then -        local h = (last.y or 0) - y -        last.h = h ~= 0 and h or nil -    end -    last.y = y ~= 0 and y or nil -    remove(regions) -- todo: fast stack -    region = regions[#regions] +    if last then +        local y = getvpos() +        local x, y = getpos() +        if specification.correct then +            local h = (last.y or 0) - y +            last.h = h ~= 0 and h or nil +        end +        last.y = y ~= 0 and y or nil +        remove(regions) -- todo: fast stack +        region = regions[#regions] +    end  end  jobpositions.b_region = b_region | 
