summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/cldf-scn.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/cldf-scn.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/cldf-scn.lua57
1 files changed, 24 insertions, 33 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/cldf-scn.lua b/Master/texmf-dist/tex/context/base/mkiv/cldf-scn.lua
index d0b16e034fa..84b2957ab0b 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/cldf-scn.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/cldf-scn.lua
@@ -8,32 +8,35 @@ if not modules then modules = { } end modules ['cldf-scn'] = {
local load, type, tostring = load, type, tostring
-local formatters = string.formatters
-local char = string.char
-local concat = table.concat
+local formatters = string.formatters
+local char = string.char
+local concat = table.concat
-local lpegmatch = lpeg.match
-local p_unquoted = lpeg.Cs(lpeg.patterns.unquoted)
+local lpegmatch = lpeg.match
+local p_unquoted = lpeg.Cs(lpeg.patterns.unquoted)
-local f_action_f = formatters["action%s(%s)"]
-local f_action_s = formatters["local action%s = action[%s]"]
-local f_command = formatters["local action = tokens._action\n%\nt\nreturn function(%s) return %s end"]
+local f_action_f = formatters["action%s(%s)"]
+local f_action_s = formatters["local action%s = action[%s]"]
+local f_command = formatters["local action = tokens._action\n%\nt\nreturn function(%s) return %s end"]
-local interfaces = interfaces
-local commands = commands
-local scanners = interfaces.scanners
-local register = interfaces.registerscanner
+local interfaces = interfaces
+local commands = commands
+local register = interfaces.registerscanner
+local knownscanner = interfaces.knownscanner
-local compile = tokens.compile or function() end
-local presets = tokens.presets
+local compile = tokens.compile or function() end
+local presets = tokens.presets
-local dummy = function() end
+local dummy = function() end
-local report = logs.reporter("interfaces","implementor")
+local report = logs.reporter("interfaces","implementor")
function interfaces.implement(specification)
+ local name = specification.name
+ if name == "" then
+ name = nil
+ end
local actions = specification.actions
- local name = specification.name
local arguments = specification.arguments
local private = specification.scope == "private"
local onlyonce = specification.onlyonce
@@ -45,9 +48,6 @@ function interfaces.implement(specification)
end
return
end
- if name == "" then
- name = nil
- end
local p = arguments and presets[arguments]
if p then
arguments = p
@@ -74,11 +74,11 @@ function interfaces.implement(specification)
if not name then
return scanner
end
- if scanners[name] and not specification.overload then
- report("warning: 'scanners.%s' is redefined",name)
+ if knownscanner(name) and not specification.overload then
+ report("warning: interface scanner %a is overloaded",name)
end
- -- scanners[name] = scanner -- we now use:
- register(name,scanner,specification.protected,specification.public,specification.call)
+ -- register(name,scanner,specification.protected,specification.public,specification.usage)
+ register(name,scanner,specification)
if private then
return
end
@@ -161,12 +161,3 @@ interfaces.defined = tokens.defined
interfaces.setmacro = tokens.setters.macro
interfaces.setcount = tokens.setters.count
interfaces.setdimen = tokens.setters.dimen
-
-interfaces.strings = table.setmetatableindex(function(t,k)
- local v = { }
- for i=1,k do
- v[i] = "string"
- end
- t[k] = v
- return v
-end)