summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-04-19 23:04:15 +0000
committerKarl Berry <karl@freefriends.org>2017-04-19 23:04:15 +0000
commitf74161ca4e7eb3c5af9afcbe92522ae3b58987c1 (patch)
tree3c30a13df5ac7968195c85070a2b074578e669d2 /Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua
parent1d5a55ac8f5506a7ae9cfca52f4b588182e199d4 (diff)
context beta/cont-tmf.zip (Apr 16 12:55)
git-svn-id: svn://tug.org/texlive/trunk@43931 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua33
1 files changed, 28 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua b/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua
index 223554b4daa..76171cb7f21 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua
@@ -21,7 +21,9 @@ end
-- end of hack
-local match, gmatch, format, concat, sort = string.match, string.gmatch, string.format, table.concat, table.sort
+local gmatch, format = string.gmatch, string.format
+local sort = table.sort
+local savedata = io.savedata
bibtex = bibtex or { }
local bibtex = bibtex
@@ -61,10 +63,31 @@ local template = [[
\bibdata{%s}
]]
-local bibtexbin = environment.arguments.mlbibtex and "mlbibcontext" or "bibtex"
+local runners = {
+ bibtex = sandbox.registerrunner {
+ name = "bibtex",
+ method = "execute",
+ program = "bibtex",
+ template = [["%filename%"]],
+ checkers = {
+ filename = "readable",
+ }
+ },
+ mlbibtex = sandbox.registerrunner {
+ name = "mlbibtex",
+ method = "execute",
+ program = "mlbibcontext",
+ template = [["%filename%"]],
+ checkers = {
+ filename = "readable",
+ }
+ }
+}
+
+local runner = environment.arguments.mlbibtex and runners.mlbibtex or runners.bibtex
directives.register("publications.usemlbibtex", function(v)
- bibtexbin = v and "mlbibcontext" or "bibtex"
+ runner = v and runners.mlbibtex or runners.bibtex
end)
function hacks.process(settings)
@@ -74,11 +97,11 @@ function hacks.process(settings)
if database ~= "" then
local targetfile = file.addsuffix(jobname,"aux")
interfaces.showmessage("publications",3,targetfile)
- io.savedata(targetfile,format(template,style,database))
+ savedata(targetfile,format(template,style,database))
if trace_bibtex then
report_tex("processing bibtex file %a using %a",jobname,bibtexbin)
end
- os.execute(format("%s %q",bibtexbin,jobname))
+ runner { filename = jobname }
-- purge 'm
end
end