From 54e58adfc76118f03b1bd2f7dedfb2140dce7696 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 2 Apr 2016 21:57:49 +0000 Subject: luamplib (2apr16) git-svn-id: svn://tug.org/texlive/trunk@40217 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/luatex/luamplib/luamplib.lua | 19 +++++++++++-------- Master/texmf-dist/tex/luatex/luamplib/luamplib.sty | 22 +++++++++++----------- 2 files changed, 22 insertions(+), 19 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua b/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua index db75e0d90c0..5030c708e47 100644 --- a/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua +++ b/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua @@ -18,8 +18,8 @@ luamplib.lastlog = "" luatexbase.provides_module { name = "luamplib", - version = "2.11.2", - date = "2016/01/02", + version = "2.11.3", + date = "2016/03/31", description = "Lua package to typeset Metapost with LuaTeX's MPLib.", } @@ -704,6 +704,8 @@ end luamplib.protecttextextVerbatim = protecttextextVerbatim +luamplib.mpxcolors = {} + local function protecttextext(data) data = protect_tex_text_common(data) @@ -718,13 +720,14 @@ local function protecttextext(data) data = data:gsub("%%.-\n", "") - luamplib.mpxcolors = {} + local grouplevel = tex.currentgrouplevel + luamplib.mpxcolors[grouplevel] = {} data = data:gsub("\\mpcolor"..endname.."(.-){(.-)}", function(opt,str) - local cnt = #luamplib.mpxcolors + 1 - luamplib.mpxcolors[cnt] = format( - "\\expandafter\\mplibcolor\\csname mpxcolor%i\\endcsname%s{%s}", - cnt,opt,str) - return format("\\csname mpxcolor%i\\endcsname",cnt) + local cnt = #luamplib.mpxcolors[grouplevel] + 1 + luamplib.mpxcolors[grouplevel][cnt] = format( + "\\expandafter\\mplibcolor\\csname mpxcolor%i:%i\\endcsname%s{%s}", + grouplevel,cnt,opt,str) + return format("\\csname mpxcolor%i:%i\\endcsname",grouplevel,cnt) end) data = data:gsub("([^`\\])#","%1##") diff --git a/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty b/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty index 3cfeb24912b..e9eb69dbd00 100644 --- a/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty +++ b/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty @@ -14,7 +14,7 @@ \else \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{luamplib} - [2016/01/02 v2.11.2 mplib package for LuaTeX] + [2016/03/31 v2.11.3 mplib package for LuaTeX] \ifx\newluafunction\@undefined \input ltluatex \fi @@ -70,13 +70,13 @@ \long\def\mplibdocode#1\endmplibcode{% \endgroup \ifdefined\mplibverbatimYes - \directlua{luamplib.tempdata = luamplib.protecttextextVerbatim([===[\detokenize{#1}]===])}% - \directlua{luamplib.processwithTEXboxes(luamplib.tempdata)}% + \directlua{luamplib.tempdata\the\currentgrouplevel=luamplib.protecttextextVerbatim([===[\detokenize{#1}]===])}% + \directlua{luamplib.processwithTEXboxes(luamplib.tempdata\the\currentgrouplevel)}% \else \edef\mplibtemp{\directlua{luamplib.protecttextext([===[\unexpanded{#1}]===])}}% - \directlua{ tex.sprint(luamplib.mpxcolors) }% - \directlua{luamplib.tempdata = luamplib.makeTEXboxes([===[\mplibtemp]===])}% - \directlua{luamplib.processwithTEXboxes(luamplib.tempdata)}% + \directlua{ tex.sprint(luamplib.mpxcolors[\the\currentgrouplevel]) }% + \directlua{luamplib.tempdata\the\currentgrouplevel=luamplib.makeTEXboxes([===[\mplibtemp]===])}% + \directlua{luamplib.processwithTEXboxes(luamplib.tempdata\the\currentgrouplevel)}% \fi \endgroup \ifnum\mplibstartlineno<\inputlineno\expandafter\mplibreplacenewlinecs\fi @@ -97,13 +97,13 @@ \toks@\expandafter{\the\toks@#1}% \def\mplibtemp@a{#2}\ifx\mplib@mplibcode\mplibtemp@a \ifdefined\mplibverbatimYes - \directlua{luamplib.tempdata = luamplib.protecttextextVerbatim([===[\the\toks@]===])}% - \directlua{luamplib.processwithTEXboxes(luamplib.tempdata)}% + \directlua{luamplib.tempdata\the\currentgrouplevel=luamplib.protecttextextVerbatim([===[\the\toks@]===])}% + \directlua{luamplib.processwithTEXboxes(luamplib.tempdata\the\currentgrouplevel)}% \else \edef\mplibtemp{\directlua{luamplib.protecttextext([===[\the\toks@]===])}}% - \directlua{ tex.sprint(luamplib.mpxcolors) }% - \directlua{luamplib.tempdata=luamplib.makeTEXboxes([===[\mplibtemp]===])}% - \directlua{luamplib.processwithTEXboxes(luamplib.tempdata)}% + \directlua{ tex.sprint(luamplib.mpxcolors[\the\currentgrouplevel]) }% + \directlua{luamplib.tempdata\the\currentgrouplevel=luamplib.makeTEXboxes([===[\mplibtemp]===])}% + \directlua{luamplib.processwithTEXboxes(luamplib.tempdata\the\currentgrouplevel)}% \fi \end{mplibcode}% \ifnum\mplibstartlineno<\inputlineno -- cgit v1.2.3