From 2e657baa195eb8a5011a0f08eeb32bd3396ea1bf Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Thu, 25 Jun 2020 12:13:32 +0200 Subject: 2020-06-25 10:58:00 --- tex/context/base/mkiv/buff-ini.lua | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'tex/context/base/mkiv/buff-ini.lua') diff --git a/tex/context/base/mkiv/buff-ini.lua b/tex/context/base/mkiv/buff-ini.lua index e4f01c03f..b4290f8b1 100644 --- a/tex/context/base/mkiv/buff-ini.lua +++ b/tex/context/base/mkiv/buff-ini.lua @@ -46,8 +46,6 @@ local getcommand = token.get_command local getcsname = token.get_csname local getnextchar = token.get_next_char -local scanners = interfaces.scanners - local variables = interfaces.variables local settings_to_array = utilities.parsers.settings_to_array local formatters = string.formatters @@ -623,21 +621,26 @@ end tokens.pickup = pickup -scanners.pickupbuffer = function() - local name = scanstring() - local start = scanstring() - local stop = scanstring() - local finish = scanstring() - local catcodes = scaninteger() - local doundent = scanboolean() - local data = pickup(start,stop) - if doundent or (autoundent and doundent == nil) then - data = undent(data) - end - buffers.assign(name,data,catcodes) - -- context[finish]() - context(finish) -end +implement { + name = "pickupbuffer", + actions = function() + -- let's pickup all here (no arguments) + local name = scanstring() + local start = scanstring() + local stop = scanstring() + local finish = scanstring() + local catcodes = scaninteger() + local doundent = scanboolean() + -- could be a scanner: + local data = pickup(start,stop) + if doundent or (autoundent and doundent == nil) then + data = undent(data) + end + buffers.assign(name,data,catcodes) + -- context[finish]() + context(finish) + end +} local function savebuffer(list,name,prefix) -- name is optional if not list or list == "" then -- cgit v1.2.3