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) | 
