From 85394692ebd63aa509cbf14b4ad2f2fa8da08710 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sat, 21 Sep 2013 10:50:00 +0200 Subject: beta 2013.09.21 10:50 --- tex/context/base/cldf-com.lua | 2 ++ tex/context/base/cldf-ini.lua | 4 ++-- tex/context/base/cldf-prs.lua | 2 ++ tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4113 -> 4115 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/status-files.pdf | Bin 24741 -> 24748 bytes tex/context/base/status-lua.log | 2 +- tex/context/base/syst-aux.lua | 9 +++++++++ tex/context/base/syst-aux.mkiv | 9 +++++++-- tex/context/base/typo-fln.lua | 11 +++++------ tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 12 files changed, 31 insertions(+), 14 deletions(-) diff --git a/tex/context/base/cldf-com.lua b/tex/context/base/cldf-com.lua index fa0dbed3e..bd357b712 100644 --- a/tex/context/base/cldf-com.lua +++ b/tex/context/base/cldf-com.lua @@ -6,6 +6,8 @@ if not modules then modules = { } end modules ['cldf-com'] = { license = "see context related readme files" } +-- todo ... needs more thinking ... a special table toolkit + local tostring = tostring local context = context local generics = context.generics -- needs documentation diff --git a/tex/context/base/cldf-ini.lua b/tex/context/base/cldf-ini.lua index 44bf522d3..d9bb9bd31 100644 --- a/tex/context/base/cldf-ini.lua +++ b/tex/context/base/cldf-ini.lua @@ -809,7 +809,7 @@ end -- context.delayed (todo: lines) -local delayed = { } context.delayed = delayed -- maybe also store them +local delayed = { } context.delayed = delayed -- creates function (maybe also store them) local function indexer(parent,k) local f = function(...) @@ -871,7 +871,7 @@ setmetatable(delayed, { __index = indexer, __call = caller } ) -- context.nested (todo: lines) -local nested = { } context.nested = nested +local nested = { } context.nested = nested -- creates strings local function indexer(parent,k) local f = function(...) diff --git a/tex/context/base/cldf-prs.lua b/tex/context/base/cldf-prs.lua index 9fbdba0c8..160d30b19 100644 --- a/tex/context/base/cldf-prs.lua +++ b/tex/context/base/cldf-prs.lua @@ -6,6 +6,8 @@ if not modules then modules = { } end modules ['cldf-bas'] = { license = "see context related readme files" } +-- used in chem-ini.lua + local lpegmatch, patterns = lpeg.match, lpeg.patterns local P, R, V, Cc, Cs = lpeg.P, lpeg.R, lpeg.V, lpeg.Cc, lpeg.Cs local format = string.format diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 5abe7235b..dfac919dd 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.09.20 19:25} +\newcontextversion{2013.09.21 10:50} %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 3df1382a4..78c5807a6 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.mkiv b/tex/context/base/context.mkiv index 829a4fb18..e13588f8a 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.09.20 19:25} +\edef\contextversion{2013.09.21 10:50} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 8433d8fe2..3a770384d 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.log b/tex/context/base/status-lua.log index 0980247f4..0b1d2cfb7 100644 --- a/tex/context/base/status-lua.log +++ b/tex/context/base/status-lua.log @@ -1,6 +1,6 @@ (cont-yes.mkiv -ConTeXt ver: 2013.09.20 19:25 MKIV beta fmt: 2013.9.20 int: english/english +ConTeXt ver: 2013.09.21 10:50 MKIV beta fmt: 2013.9.21 int: english/english system > 'cont-new.mkiv' loaded (cont-new.mkiv) diff --git a/tex/context/base/syst-aux.lua b/tex/context/base/syst-aux.lua index f9c0dfc1c..9ef28996a 100644 --- a/tex/context/base/syst-aux.lua +++ b/tex/context/base/syst-aux.lua @@ -29,6 +29,15 @@ function commands.getfirstcharacter(str) setvalue("remainingcharacters",rest) end +function commands.thefirstcharacter(str) + local first, rest = lpegmatch(pattern,str) + context(first) +end +function commands.theremainingcharacters(str) + local first, rest = lpegmatch(pattern,str) + context(rest) +end + local pattern = C(utf8char^-1) function commands.doiffirstcharelse(chr,str) diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv index 5cb6ff8b2..372080949 100644 --- a/tex/context/base/syst-aux.mkiv +++ b/tex/context/base/syst-aux.mkiv @@ -1243,8 +1243,13 @@ %D complicated arguments, for instance arguments that %D consist of two or more expandable tokens. -\def\getfirstcharacter #1{\ctxcommand{getfirstcharacter(\!!bs#1\!!es)}} -\def\doiffirstcharelse#1#2{\ctxcommand{doiffirstcharelse(\!!bs#1\!!es,\!!bs#2\!!es)}} % chr str +\let\firstcharacter \empty +\let\remainingcharacters\empty + +\unexpanded\def\getfirstcharacter #1{\ctxcommand{getfirstcharacter(\!!bs#1\!!es)}} +\unexpanded\def\doiffirstcharelse #1#2{\ctxcommand{doiffirstcharelse(\!!bs#1\!!es,\!!bs#2\!!es)}} % chr str +\unexpanded\def\thefirstcharacter #1{\ctxcommand{thefirstcharacter(\!!bs#1\!!es)}} +\unexpanded\def\theremainingcharacters#1{\ctxcommand{theremainingcharacters(\!!bs#1\!!es)}} %D \macros %D {doifinstringelse, doifincsnameelse} diff --git a/tex/context/base/typo-fln.lua b/tex/context/base/typo-fln.lua index 38aba2d22..db3331b0a 100644 --- a/tex/context/base/typo-fln.lua +++ b/tex/context/base/typo-fln.lua @@ -37,10 +37,9 @@ local insert_node_after = nodes.insert_after local insert_node_before = nodes.insert_before local hpack_node_list = nodes.hpack -local hpack_filter = nodes.processors.hpack_filter - -local newpenalty = nodes.pool.penalty -local newkern = nodes.pool.kern +local nodepool = nodes.pool +local newpenalty = nodepool.penalty +local newkern = nodepool.kern local tracerrule = nodes.tracers.pool.nodes.rule local actions = { } @@ -217,11 +216,11 @@ end actions[v_default] = actions[v_line] -local function process(namespace,attribute,head) +function firstlines.handler(head) local start = head local attr = nil while start do - attr = start[attribute] + attr = start[a_firstline] if attr then break elseif start.id == glyph then diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 1b3b5b968..4a209c836 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 : 09/20/13 19:25:59 +-- merge date : 09/21/13 10:50:31 do -- begin closure to overcome local limits and interference -- cgit v1.2.3