From cd2871a839077bd004f75c08f17ed7bc4bdec183 Mon Sep 17 00:00:00 2001 From: Marius Date: Thu, 11 Apr 2013 21:00:16 +0300 Subject: beta 2013.04.11 19:49 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4133 -> 4135 bytes tex/context/base/context-version.png | Bin 40466 -> 40511 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/data-tmp.lua | 21 ++++--- tex/context/base/mult-def.mkiv | 1 + tex/context/base/status-files.pdf | Bin 24759 -> 24755 bytes tex/context/base/status-lua.pdf | Bin 211777 -> 211771 bytes tex/context/base/util-lib.lua | 8 ++- tex/context/base/util-mrg.lua | 67 ++++++++++++--------- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 11 files changed, 61 insertions(+), 42 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 5961d8c5f..af47ccb20 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.04.10 19:58} +\newcontextversion{2013.04.11 19:49} %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 a52b11af9..69e004c07 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 9d3b051c2..5d84680bb 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.mkiv b/tex/context/base/context.mkiv index 12dc743c2..197dbb530 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.04.10 19:58} +\edef\contextversion{2013.04.11 19:49} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/data-tmp.lua b/tex/context/base/data-tmp.lua index 525698d1e..5025a8a0a 100644 --- a/tex/context/base/data-tmp.lua +++ b/tex/context/base/data-tmp.lua @@ -23,7 +23,7 @@ luatools with a recache feature.

--ldx]]-- local format, lower, gsub, concat = string.format, string.lower, string.gsub, table.concat -local serialize, serializetofile = table.serialize, table.tofile +local concat, serialize, serializetofile = table.concat, table.serialize, table.tofile local mkdirs, isdir, isfile = dir.mkdirs, lfs.isdir, lfs.isfile local addsuffix, is_writable, is_readable = file.addsuffix, file.is_writable, file.is_readable local formatters = string.formatters @@ -163,20 +163,27 @@ local function identify() return writable, readables end -function caches.usedpaths() +function caches.usedpaths(separator) local writable, readables = identify() if #readables > 1 then local result = { } + local done = { } for i=1,#readables do local readable = readables[i] - if usedreadables[i] or readable == writable then - result[#result+1] = formatters["readable: %a (order %s)"](readable,i) + if readable == writable then + done[readable] = true + result[#result+1] = formatters["readable+writable: %a"](readable) + elseif usedreadables[i] then + done[readable] = true + result[#result+1] = formatters["readable: %a"](readable) end end - result[#result+1] = formatters["writable: %a"](writable) - return result + if not done[writable] then + result[#result+1] = formatters["writable: %a"](writable) + end + return concat(result,separator or " | ") else - return writable + return writable or "?" end end diff --git a/tex/context/base/mult-def.mkiv b/tex/context/base/mult-def.mkiv index 069d48d21..22b3880f6 100644 --- a/tex/context/base/mult-def.mkiv +++ b/tex/context/base/mult-def.mkiv @@ -53,6 +53,7 @@ \def\c!up {up} \def\c!down {down} \def\c!instance {instance} +\def\c!database {database} \def\v!compressseparator{compressseparator} \def\v!notation {notation} diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 93dd37b9e..bbeb36c45 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 e161da377..9a8da370a 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/util-lib.lua b/tex/context/base/util-lib.lua index 601f2fb1d..7d43e6c97 100644 --- a/tex/context/base/util-lib.lua +++ b/tex/context/base/util-lib.lua @@ -201,10 +201,14 @@ local function requireswiglib(required,version) if trace_swiglib then report_swiglib("found: %a",found_library) end - library = package.loadlib(found_library,"luaopen_" .. required_base) - if type(library) == "function" then + local message = nil + local opener = "luaopen_" .. required_base + library, message = package.loadlib(found_library,opener) + local libtype = type(library) + if libtype == "function" then library = library() else + report_swiglib("load error: %a returns %a, message %a",opener,libtype,message or "no message") library = false end dir.pop() diff --git a/tex/context/base/util-mrg.lua b/tex/context/base/util-mrg.lua index 78b23dcbb..690188ef8 100644 --- a/tex/context/base/util-mrg.lua +++ b/tex/context/base/util-mrg.lua @@ -77,36 +77,43 @@ end -- -- saves some 20K .. ldx comments -- data = gsub(data,"%-%-%[%[ldx%-%-.-%-%-ldx%]%]%-%-","") -local space = patterns.space -local eol = patterns.newline -local equals = P("=")^0 -local open = P("[") * Cg(equals,"init") * P("[") * P("\n")^-1 -local close = P("]") * C(equals) * P("]") -local closeeq = Cmt(close * Cb("init"), function(s,i,a,b) return a == b end) -local longstring = open * (1 - closeeq)^0 * close - -local quoted = patterns.quoted -local emptyline = space^0 * eol -local operator1 = P("<=") + P(">=") + P("~=") + P("..") + S("/^<>=*+%%") -local operator2 = S("*+/") -local operator3 = S("-") -local separator = S(",;") - -local ignore = (P("]") * space^1 * P("=") * space^1 * P("]")) / "]=[" + - (P("=") * space^1 * P("{")) / "={" + - (P("(") * space^1) / "(" + - (P("{") * (space+eol)^1 * P("}")) / "{}" -local strings = quoted -- / function (s) print("<<"..s..">>") return s end -local longcmt = (emptyline^0 * P("--") * longstring * emptyline^0) / "" -local longstr = longstring -local comment = emptyline^0 * P("--") * P("-")^0 * (1-eol)^0 * emptyline^1 / "\n" -local pack = ((eol+space)^0 / "") * operator1 * ((eol+space)^0 / "") + - ((eol+space)^0 / "") * operator2 * ((space)^0 / "") + - ((eol+space)^1 / "") * operator3 * ((space)^1 / "") + - ((space)^0 / "") * separator * ((space)^0 / "") -local lines = emptyline^2 / "\n" -local spaces = (space * space) / " " ------ spaces = ((space+eol)^1 ) / " " +local space = patterns.space +local eol = patterns.newline +local equals = P("=")^0 +local open = P("[") * Cg(equals,"init") * P("[") * P("\n")^-1 +local close = P("]") * C(equals) * P("]") +local closeeq = Cmt(close * Cb("init"), function(s,i,a,b) return a == b end) +local longstring = open * (1 - closeeq)^0 * close + +local quoted = patterns.quoted +local digit = patterns.digit +local emptyline = space^0 * eol +local operator1 = P("<=") + P(">=") + P("~=") + P("..") + S("/^<>=*+%%") +local operator2 = S("*+/") +local operator3 = S("-") +local operator4 = P("..") +local separator = S(",;") + +local ignore = (P("]") * space^1 * P("=") * space^1 * P("]")) / "]=[" + + (P("=") * space^1 * P("{")) / "={" + + (P("(") * space^1) / "(" + + (P("{") * (space+eol)^1 * P("}")) / "{}" +local strings = quoted -- / function (s) print("<<"..s..">>") return s end +local longcmt = (emptyline^0 * P("--") * longstring * emptyline^0) / "" +local longstr = longstring +local comment = emptyline^0 * P("--") * P("-")^0 * (1-eol)^0 * emptyline^1 / "\n" +local optionalspaces = space^0 / "" +local mandatespaces = space^1 / "" +local optionalspacing = (eol+space)^0 / "" +local mandatespacing = (eol+space)^1 / "" +local pack = digit * space^1 * operator4 * optionalspacing + + optionalspacing * operator1 * optionalspacing + + optionalspacing * operator2 * optionalspaces + + mandatespacing * operator3 * mandatespaces + + optionalspaces * separator * optionalspaces +local lines = emptyline^2 / "\n" +local spaces = (space * space) / " " +----- spaces = ((space+eol)^1 ) / " " local compact = Cs ( ( ignore + diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index c6dac339d..b79cc2807 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 : 04/10/13 19:58:43 +-- merge date : 04/11/13 19:49:14 do -- begin closure to overcome local limits and interference -- cgit v1.2.3