From 097d0f251f637003e2d60470438da5291f124689 Mon Sep 17 00:00:00 2001 From: Marius Date: Sun, 1 May 2011 14:20:11 +0300 Subject: beta 2011.05.01 12:50 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/grph-inc.lua | 20 +++++++++++--------- tex/context/base/lang-ini.lua | 22 ++++++++++++++++------ tex/context/base/lang-ini.mkiv | 2 +- tex/context/base/node-tra.lua | 11 ++++++++--- tex/context/base/spac-ali.mkiv | 2 +- tex/context/base/status-files.pdf | Bin 23514 -> 23528 bytes tex/context/base/status-lua.pdf | Bin 154243 -> 154267 bytes tex/generic/context/luatex-fonts-merged.lua | 2 +- 12 files changed, 42 insertions(+), 25 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 23470a909..d67c28d05 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{2011.04.30 17:02} +\newcontextversion{2011.05.01 12:50} %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 4a8e1d614..0031f1294 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{2011.04.30 17:02} +\newcontextversion{2011.05.01 12:50} %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.mkii b/tex/context/base/context.mkii index 3a5066cbc..a08fbc36a 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{2011.04.30 17:02} +\edef\contextversion{2011.05.01 12:50} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 84f86a243..27a607f82 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.04.30 17:02} +\edef\contextversion{2011.05.01 12:50} %D For those who want to use this: diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua index b37fe0766..87fbd549e 100644 --- a/tex/context/base/grph-inc.lua +++ b/tex/context/base/grph-inc.lua @@ -255,9 +255,6 @@ end -- interfacing to tex -local figuredata = nil -- will be topofstack or last so no { } (else problems with getfiguredimensions) -local callstack = { } - local function new() -- we could use metatables status -> used -> request but it needs testing local request = { name = false, @@ -306,10 +303,12 @@ end -- use table.insert|remove +local lastfiguredata = nil -- will be topofstack or last so no { } (else problems with getfiguredimensions) +local callstack = { } + function figures.push(request) statistics.starttiming(figures) - insert(callstack,figuredata) - figuredata = new() + local figuredata = new() if request then -- request.width/height are strings and are only used when no natural dimensions -- can be determined; at some point the handlers might set them to numbers instead @@ -326,21 +325,22 @@ function figures.push(request) -- request.height = (h and h > 0) or false table.merge(figuredata.request,request) end + insert(callstack,figuredata) + lastfiguredata = figuredata return figuredata end function figures.pop() - figuredata = remove(callstack) or figuredata + lastfiguredata = remove(callstack) or lastfiguredata statistics.stoptiming(figures) - return figuredata end function figures.current() - return figuredata -- callstack[#callstack] + return callstack[#callstack] or lastfiguredata end function figures.get(category,tag,default) - local value = figuredata and figuredata[category] + local value = lastfiguredata and lastfiguredata[category] value = value and value[tag] if not value or value == "" or value == true then return default or "" @@ -349,6 +349,8 @@ function figures.get(category,tag,default) end end +-- + function figures.tprint(category,tag,default) context(figures.get(category,tag,default)) end diff --git a/tex/context/base/lang-ini.lua b/tex/context/base/lang-ini.lua index 305b429e1..da6802974 100644 --- a/tex/context/base/lang-ini.lua +++ b/tex/context/base/lang-ini.lua @@ -209,13 +209,17 @@ end if environment.initex then - function languages.getnumber(current,default) + function languages.getnumber() + return 0 + end + + function commands.languagenumber() texwrite(0) end else - function languages.getnumber(tag,default,patterns) + local function getnumber(tag,default,patterns) local l = registered[tag] if l then if l.dirty then @@ -223,7 +227,7 @@ else report_initialization("checking patterns for %s (%s)",tag,default) end -- patterns is already resolved to parent patterns if applicable - if patterns ~= "" then + if patterns and patterns ~= "" then if l.patterns ~= patterns then l.patterns = patterns if trace_patterns then @@ -240,7 +244,7 @@ else end local ok = loaddefinitions(tag,l) if not ok and tag ~= default then - l.patterns = defaukt + l.patterns = default if trace_patterns then report_initialization("loading patterns for '%s' using default",tag) end @@ -250,12 +254,18 @@ else l.loaded = true l.dirty = false end - texwrite(l.number) + return l.number else - texwrite(0) + return 0 end end + languages.getnumber = getnumber + + function commands.languagenumber(tag,default,patterns) + texwrite(getnumber(tag,default,patterns)) + end + end -- not that usefull, global values diff --git a/tex/context/base/lang-ini.mkiv b/tex/context/base/lang-ini.mkiv index fe8aee917..5dccab4dc 100644 --- a/tex/context/base/lang-ini.mkiv +++ b/tex/context/base/lang-ini.mkiv @@ -347,7 +347,7 @@ \newtoks \everylanguage \def\docomplexlanguage% assumes that \currentlanguage is set % % % use different name as complex - {\normallanguage\ctxlua{languages.getnumber(% + {\normallanguage\ctxlua{commands.languagenumber(% "\currentlanguage",% "\defaultlanguage\currentlanguage",% "\languageparameter\s!patterns"% diff --git a/tex/context/base/node-tra.lua b/tex/context/base/node-tra.lua index f86ab791a..38855f659 100644 --- a/tex/context/base/node-tra.lua +++ b/tex/context/base/node-tra.lua @@ -664,17 +664,22 @@ number.basepoints = basepoints local colors = { } tracers.colors = colors +local get_attribute = node.has_attribute local set_attribute = node.set_attribute local unset_attribute = node.unset_attribute -local attribute = attributes.private('color') -local mapping = attributes.list[attribute] or { } +local attribute = attributes.private('color') +local colormodel = attributes.private('colormodel') +local mapping = attributes.list[attribute] or { } -function colors.set(n,c) +function colors.set(n,c,s) local mc = mapping[c] if not mc then unset_attribute(n,attribute) else + if not get_attribute(n,colormodel) then + set_attribute(n,colormodel,s or 1) + end set_attribute(n,attribute,mc) end end diff --git a/tex/context/base/spac-ali.mkiv b/tex/context/base/spac-ali.mkiv index 6050ef7dd..0cf22f470 100644 --- a/tex/context/base/spac-ali.mkiv +++ b/tex/context/base/spac-ali.mkiv @@ -290,7 +290,7 @@ %D More hyphenation control, will be combined with align %D setup. -\def\nohyphens +\def\nohyphens % % % % % not clever, we still hyphenate but supress application {\ifx\dohyphens\relax \edef\dohyphens {\hyphenpenalty\the\hyphenpenalty diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 366bf950d..74c250bce 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 3868be7a2..d761a95a6 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index bd8caf716..cd9cabc8b 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 04/30/11 17:02:19 +-- merge date : 05/01/11 12:50:32 do -- begin closure to overcome local limits and interference -- cgit v1.2.3