diff options
author | Hans Hagen <pragma@wxs.nl> | 2010-03-18 14:42:00 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2010-03-18 14:42:00 +0100 |
commit | 66a814af45f6ebe7ff0210238b2b9eba7dd3a499 (patch) | |
tree | c227b9351820db8c6084b82777c60b4367c80dd8 /tex/context/base/strc-ref.lua | |
parent | f8583123d8e264910387d015f4d6576551fe0ee4 (diff) | |
download | context-66a814af45f6ebe7ff0210238b2b9eba7dd3a499.tar.gz |
beta 2010.03.18 14:42
Diffstat (limited to 'tex/context/base/strc-ref.lua')
-rw-r--r-- | tex/context/base/strc-ref.lua | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tex/context/base/strc-ref.lua b/tex/context/base/strc-ref.lua index 0cf06db02..475ab318a 100644 --- a/tex/context/base/strc-ref.lua +++ b/tex/context/base/strc-ref.lua @@ -291,6 +291,55 @@ function commands.doiffiledefinedelse(name) commands.doifelse(files[name]) end +-- helpers + +function jobreferences.checkedfile(whatever) -- return whatever if not resolved + if whatever then + local w = files[whatever] + if w then + return w[1] + else + return whatever + end + end +end + +function jobreferences.checkedurl(whatever) -- return whatever if not resolved + if whatever then + local w = urls[whatever] + if w then + local u, f = w[1], w[2] + if f and f ~= "" then + return u .. "/" .. f + else + return u + end + else + return whatever + end + end +end + +function jobreferences.checkedfileorurl(whatever,default) -- return nil, nil if not resolved + if whatever then + local w = files[whatever] + if w then + return w[1], nil + else + local w = urls[whatever] + if w then + local u, f = w[1], w[2] + if f and f ~= "" then + return nil, u .. "/" .. f + else + return nil, u + end + end + end + end + return default +end + -- programs jobreferences.programs = jobreferences.programs or { } @@ -311,6 +360,17 @@ function jobreferences.programs.get(name) end end +function jobreferences.checkedprogram(whatever) -- return whatever if not resolved + if whatever then + local w = programs[whatever] + if w then + return w[1] + else + return whatever + end + end +end + -- shared by urls and files function jobreferences.whatfrom(name) |