summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mlib-ctx.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mlib-ctx.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/mlib-ctx.lua24
1 files changed, 20 insertions, 4 deletions
diff --git a/Master/texmf-dist/tex/context/base/mlib-ctx.lua b/Master/texmf-dist/tex/context/base/mlib-ctx.lua
index 6ada8ad1922..821b702c601 100644
--- a/Master/texmf-dist/tex/context/base/mlib-ctx.lua
+++ b/Master/texmf-dist/tex/context/base/mlib-ctx.lua
@@ -14,9 +14,9 @@ local sprint = tex.sprint
metapost = metapost or {}
metapost.defaultformat = "metafun"
-function metapost.graphic(mpsformat,str,preamble)
- local mpx = metapost.format(mpsformat or metapost.defaultformat)
- metapost.graphic_base_pass(mpx,str,preamble)
+function metapost.graphic(instance,mpsformat,str,preamble,askedfig)
+ local mpx = metapost.format(instance,mpsformat or metapost.defaultformat)
+ metapost.graphic_base_pass(mpx,str,preamble,askedfig)
end
function metapost.filterclippath(result)
@@ -29,7 +29,7 @@ function metapost.filterclippath(result)
for o=1,#objects do
local object = objects[o]
if object.type == "start_clip" then
- return join(flushnormalpath(object.path,{ }),"\n")
+ return join(metapost.flushnormalpath(object.path,{ }),"\n")
end
end
end
@@ -37,3 +37,19 @@ function metapost.filterclippath(result)
end
return ""
end
+
+statistics.register("metapost processing time", function()
+ local n = metapost.n
+ if n > 0 then
+ local e, t = metapost.externals.n, statistics.elapsedtime
+ local str = format("%s seconds, loading: %s seconds, execution: %s seconds, n: %s",
+ t(metapost), t(mplib), t(metapost.exectime), n)
+ if e > 0 then
+ return format("%s, external: %s seconds (%s calls)", str, t(metapost.externals), e)
+ else
+ return str
+ end
+ else
+ return nil
+ end
+end)