summaryrefslogtreecommitdiff
path: root/tex/context/base/mult-cld.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2010-11-27 14:40:13 +0200
committerMarius <mariausol@gmail.com>2010-11-27 14:40:13 +0200
commit1e74733e95e8a624a8d6ed637087aa25480b61df (patch)
treee2950e135bb6d5da884e54e07bbfb1f9dad108f0 /tex/context/base/mult-cld.lua
parentd558169e221a686ca4f6c0d7726cbd3d1b2c0529 (diff)
downloadcontext-1e74733e95e8a624a8d6ed637087aa25480b61df.tar.gz
beta 2010.11.27 13:21
Diffstat (limited to 'tex/context/base/mult-cld.lua')
-rw-r--r--tex/context/base/mult-cld.lua30
1 files changed, 29 insertions, 1 deletions
diff --git a/tex/context/base/mult-cld.lua b/tex/context/base/mult-cld.lua
index 1154eefe3..32436c5a5 100644
--- a/tex/context/base/mult-cld.lua
+++ b/tex/context/base/mult-cld.lua
@@ -161,9 +161,37 @@ end
local flushlines = lpeg.texlinesplitter(n_content,n_endofline,n_emptyline,n_simpleline)
-context.__flushlines = flushlines -- maybe context.helpers.flushtexlines
+context.__flushlines = flushlines -- maybe context.helpers.flushtexlines
context.__flush = flush
+local printlines_ctx = (
+ (newline) / function() texprint("") end +
+ (1-newline)^1 / function(s) texprint(ctxcatcodes,s) end * newline^-1
+)^0
+
+local printlines_raw = (
+ (newline) / function() texprint("") end +
+ (1-newline)^1 / function(s) texprint(s) end * newline^-1
+)^0
+
+function context.printlines(str,raw)
+ if raw then
+ lpegmatch(printlines_raw,str)
+ else
+ lpegmatch(printlines_ctx,str)
+ end
+end
+
+-- -- --
+
+local savedata = resolvers.savers.virtual
+
+function context.viafile(data)
+ -- this is the only way to deal with nested buffers
+ -- and other catcode sensitive data
+ context.input(savedata(data))
+end
+
-- -- --
local function writer(parent,command,first,...)