diff options
| -rw-r--r-- | scripts/context/lua/mtx-update.lua | 4 | ||||
| -rw-r--r-- | scripts/context/lua/mtxrun.lua | 2 | ||||
| -rw-r--r-- | scripts/context/stubs/mswin/mtxrun.lua | 2 | ||||
| -rwxr-xr-x | scripts/context/stubs/unix/mtxrun | 2 | ||||
| -rw-r--r-- | tex/context/base/bibl-tra.lua | 73 | ||||
| -rw-r--r-- | tex/context/base/cont-new.mkii | 2 | ||||
| -rw-r--r-- | tex/context/base/cont-new.mkiv | 2 | ||||
| -rw-r--r-- | tex/context/base/context-version.pdf | bin | 4125 -> 4129 bytes | |||
| -rw-r--r-- | tex/context/base/context-version.png | bin | 104636 -> 106041 bytes | |||
| -rw-r--r-- | tex/context/base/context.mkii | 2 | ||||
| -rw-r--r-- | tex/context/base/context.mkiv | 2 | ||||
| -rw-r--r-- | tex/context/base/data-res.lua | 2 | ||||
| -rw-r--r-- | tex/context/base/lpdf-ano.lua | 7 | ||||
| -rw-r--r-- | tex/context/base/status-files.pdf | bin | 24421 -> 24442 bytes | |||
| -rw-r--r-- | tex/context/base/status-lua.pdf | bin | 180121 -> 180035 bytes | |||
| -rw-r--r-- | tex/context/base/strc-con.mkvi | 2 | ||||
| -rw-r--r-- | tex/context/base/strc-ini.lua | 8 | ||||
| -rw-r--r-- | tex/context/base/strc-ref.lua | 9 | ||||
| -rw-r--r-- | tex/generic/context/luatex/luatex-fonts-merged.lua | 2 | 
19 files changed, 77 insertions, 44 deletions
diff --git a/scripts/context/lua/mtx-update.lua b/scripts/context/lua/mtx-update.lua index 52c72da6d..037de8650 100644 --- a/scripts/context/lua/mtx-update.lua +++ b/scripts/context/lua/mtx-update.lua @@ -67,8 +67,8 @@ scripts.update.texformats = {  }  scripts.update.mpformats = { -    "metafun", -    "mpost", + -- "metafun", + -- "mpost",  }  -- experimental is not functional at the moment diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index 08d44195a..51cbb95f2 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -12675,7 +12675,7 @@ local function load_configuration_files()                      instance.loaderror = true                  end              elseif trace_locating then -                report_resolving("skipping configuration file '%s' (no file)",filename) +                report_resolving("skipping configuration file '%s' (no valid format)",filename)              end              instance.order[#instance.order+1] = instance.setups[pathname]              if instance.loaderror then diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index 08d44195a..51cbb95f2 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -12675,7 +12675,7 @@ local function load_configuration_files()                      instance.loaderror = true                  end              elseif trace_locating then -                report_resolving("skipping configuration file '%s' (no file)",filename) +                report_resolving("skipping configuration file '%s' (no valid format)",filename)              end              instance.order[#instance.order+1] = instance.setups[pathname]              if instance.loaderror then diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index 08d44195a..51cbb95f2 100755 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -12675,7 +12675,7 @@ local function load_configuration_files()                      instance.loaderror = true                  end              elseif trace_locating then -                report_resolving("skipping configuration file '%s' (no file)",filename) +                report_resolving("skipping configuration file '%s' (no valid format)",filename)              end              instance.order[#instance.order+1] = instance.setups[pathname]              if instance.loaderror then diff --git a/tex/context/base/bibl-tra.lua b/tex/context/base/bibl-tra.lua index d66446645..6341898ee 100644 --- a/tex/context/base/bibl-tra.lua +++ b/tex/context/base/bibl-tra.lua @@ -129,37 +129,58 @@ end  function hacks.resolve(prefix,block,reference) -- maybe already feed it split      -- needs checking (the prefix in relation to components) -    local subset = references.collected[prefix or ""] or references.collected[""] -    if subset then +    local subsets +    local collected = references.collected +    if prefix and prefix ~= "" then +        subsets = { collected[prefix] or collected[""] } +    else +        local components = references.productdata.components +        local subset = collected[""] +        if subset then +            subsets = { subset } +        else +            subsets = { } +        end +        for i=1,#components do +            local subset = collected[components[i]] +            if subset then +                subsets[#subsets+1] = subset +            end +        end +    end +    if #subsets > 0 then          local result, nofresult, done = { }, 0, { }          block = tonumber(block) -        for rest in gmatch(reference,"[^, ]+") do -            local blk, tag, found = block, nil, nil -            if block then -                tag = blk .. ":" .. rest -                found = subset[tag] -                if not found then -                    for i=block-1,1,-1 do -                        tag = i .. ":" .. rest -                        found = subset[tag] -                        if found then -                            blk = i -                            break +        for i=1,#subsets do +            local subset = subsets[i] +            for rest in gmatch(reference,"[^, ]+") do +                local blk, tag, found = block, nil, nil +                if block then +                    tag = blk .. ":" .. rest +                    found = subset[tag] +                    if not found then +                        for i=block-1,1,-1 do +                            tag = i .. ":" .. rest +                            found = subset[tag] +                            if found then +                                blk = i +                                break +                            end                          end                      end                  end -            end -            if not found then -                blk = "*" -                tag = blk .. ":" .. rest -                found = subset[tag] -            end -            if found then -                local current = tonumber(found.entries and found.entries.text) -- tonumber needed -                if current and not done[current] then -                    nofresult = nofresult + 1 -                    result[nofresult] = { blk, rest, current } -                    done[current] = true +                if not found then +                    blk = "*" +                    tag = blk .. ":" .. rest +                    found = subset[tag] +                end +                if found then +                    local current = tonumber(found.entries and found.entries.text) -- tonumber needed +                    if current and not done[current] then +                        nofresult = nofresult + 1 +                        result[nofresult] = { blk, rest, current } +                        done[current] = true +                    end                  end              end          end diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index ac124665b..497259303 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{2012.05.24 11:02} +\newcontextversion{2012.05.24 15:18}  %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 8233e370b..f30631d62 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{2012.05.24 11:02} +\newcontextversion{2012.05.24 15:18}  %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/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex f3d7742ca..2b5c3d73d 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png Binary files differindex 6fe15b1ce..5c335a204 100644 --- a/tex/context/base/context-version.png +++ b/tex/context/base/context-version.png diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 91329b50f..9fa94f013 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{2012.05.24 11:02} +\edef\contextversion{2012.05.24 15:18}  %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 298368e65..e31f12327 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -23,7 +23,7 @@  %D up and the dependencies are more consistent.  \edef\contextformat {\jobname} -\edef\contextversion{2012.05.24 11:02} +\edef\contextversion{2012.05.24 15:18}  %D For those who want to use this: diff --git a/tex/context/base/data-res.lua b/tex/context/base/data-res.lua index eb642020d..01b5f2525 100644 --- a/tex/context/base/data-res.lua +++ b/tex/context/base/data-res.lua @@ -440,7 +440,7 @@ local function load_configuration_files()                      instance.loaderror = true                  end              elseif trace_locating then -                report_resolving("skipping configuration file '%s' (no file)",filename) +                report_resolving("skipping configuration file '%s' (no valid format)",filename)              end              instance.order[#instance.order+1] = instance.setups[pathname]              if instance.loaderror then diff --git a/tex/context/base/lpdf-ano.lua b/tex/context/base/lpdf-ano.lua index 4d0a55f80..4618b6d32 100644 --- a/tex/context/base/lpdf-ano.lua +++ b/tex/context/base/lpdf-ano.lua @@ -341,7 +341,12 @@ runners["inner"] = function(var,actions)      else          var.inner = nil      end -    return link(nil,nil,var.inner,var.r,actions) +    local prefix = var.p +    local inner = var.inner +    if inner and prefix and prefix ~= "" then +        inner = prefix .. ":" .. inner -- might not always be ok +    end +    return link(nil,nil,inner,var.r,actions)  end  runners["inner with arguments"] = function(var,actions) diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex c224af0f8..e1e9c64e6 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf Binary files differindex 3bbab9a34..64a2e0f3b 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/base/strc-con.mkvi b/tex/context/base/strc-con.mkvi index 220de809a..956acaae5 100644 --- a/tex/context/base/strc-con.mkvi +++ b/tex/context/base/strc-con.mkvi @@ -400,6 +400,7 @@        \fi        \advance\ifx#1\v!flushleft\rightskip\else\leftskip\fi\constructionsheaddistance % only difference and wrong anyway        \ifhbox\constructionheadbox\unhcopy\else\copy\fi\constructionheadbox}% +\setbox\constructionheadbox\hbox{\box\constructionheadbox}% needed in case of e.g. a real big head font, see descriptions-006.tex     \ht\constructionheadbox\strutht     \dp\constructionheadbox\strutdp} @@ -415,6 +416,7 @@          \setupalign[\p_headalign]% use fast one        \fi        \ifhbox\constructionheadbox\unhcopy\else\copy\fi\constructionheadbox}% +\setbox\constructionheadbox\hbox{\box\constructionheadbox}% needed in case of e.g. a real big head font, see descriptions-006.tex     \ht\constructionheadbox\strutht     \dp\constructionheadbox\strutdp} diff --git a/tex/context/base/strc-ini.lua b/tex/context/base/strc-ini.lua index c246ccd27..78efcad81 100644 --- a/tex/context/base/strc-ini.lua +++ b/tex/context/base/strc-ini.lua @@ -287,11 +287,9 @@ local splitter = lpeg.splitat("::")  function sets.get(namespace,block,name,level,default) -- check if name is passed      --fixed::R:a: ...      local kind, rest = lpegmatch(splitter,name) -    if kind and rest then -        if kind == "fixed" then -            local s = settings_to_array(rest) -            return s[level] or default -        end +    if rest and kind == "fixed" then -- fixed::n,a,i +        local s = settings_to_array(rest) +        return s[level] or s[#s] or default      end      --      local ds = setlist[namespace] diff --git a/tex/context/base/strc-ref.lua b/tex/context/base/strc-ref.lua index 8a478a4e6..14e74891b 100644 --- a/tex/context/base/strc-ref.lua +++ b/tex/context/base/strc-ref.lua @@ -768,12 +768,14 @@ table.setmetatableindex(externals,function(t,k) -- either or not automatically      return false  end) -local productdata = { +local productdata = allocate {      productreferences   = { },      componentreferences = { },      components          = { },  } +references.productdata = productdata +  local function loadproductreferences(productname,componentname,utilitydata)      local struc = utilitydata.structures      if struc then @@ -923,6 +925,11 @@ local function loadproductcomponents(product,component,utilitydata)      productdata.components = componentlist(job and job.structure and job.structure.collected) or { }  end +references.registerinitializer(function(tobesaved,collected) +    -- not that much related to tobesaved or collected +    productdata.components = componentlist(job.structure.collected) or { } +end) +  function structures.references.loadpresets(product,component) -- we can consider a special components hash      if product and component and product~= "" and component ~= "" and not productdata.product then -- maybe: productdata.filename ~= filename          productdata.product = product diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index ae5f553f7..999143401 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  : 05/24/12 11:02:35 +-- merge date  : 05/24/12 15:18:22  do -- begin closure to overcome local limits and interference  | 
