summaryrefslogtreecommitdiff
path: root/tex/context/base/cldf-ini.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2013-05-31 21:57:00 +0200
committerHans Hagen <pragma@wxs.nl>2013-05-31 21:57:00 +0200
commitf7eaca8dd3301d6526d1610e523d6538404dc95b (patch)
treed621802ad0b715387788654f2b581443ea2c2ccd /tex/context/base/cldf-ini.lua
parent5b7c7a51f408dbcce2a0926948c47e5bf045ed3d (diff)
downloadcontext-f7eaca8dd3301d6526d1610e523d6538404dc95b.tar.gz
beta 2013.05.31 21:57
Diffstat (limited to 'tex/context/base/cldf-ini.lua')
-rw-r--r--tex/context/base/cldf-ini.lua38
1 files changed, 23 insertions, 15 deletions
diff --git a/tex/context/base/cldf-ini.lua b/tex/context/base/cldf-ini.lua
index 4a7d9f025..2272c05ea 100644
--- a/tex/context/base/cldf-ini.lua
+++ b/tex/context/base/cldf-ini.lua
@@ -903,28 +903,36 @@ setmetatable(nested, { __index = indexer, __call = caller } )
-- verbatim
-local verbatim = { } context.verbatim = verbatim
+function context.newindexer(catcodes)
+ local handler = { }
+
+ local function indexer(parent,k)
+ local command = context[k]
+ local f = function(...)
+ local savedcatcodes = contentcatcodes
+ contentcatcodes = catcodes
+ command(...)
+ contentcatcodes = savedcatcodes
+ end
+ parent[k] = f
+ return f
+ end
-local function indexer(parent,k)
- local command = context[k]
- local f = function(...)
+ local function caller(parent,...)
local savedcatcodes = contentcatcodes
- contentcatcodes = vrbcatcodes
- command(...)
+ contentcatcodes = catcodes
+ defaultcaller(parent,...)
contentcatcodes = savedcatcodes
end
- parent[k] = f
- return f
-end
-local function caller(parent,...)
- local savedcatcodes = contentcatcodes
- contentcatcodes = vrbcatcodes
- defaultcaller(parent,...)
- contentcatcodes = savedcatcodes
+ setmetatable(handler, { __index = indexer, __call = caller } )
+
+ return handler
end
-setmetatable(verbatim, { __index = indexer, __call = caller } )
+context.verbatim = context.newindexer(vrbcatcodes)
+context.puretext = context.newindexer(txtcatcodes)
+-------.protected = context.newindexer(prtcatcodes)
-- formatted