From bc5e68ffcbc198e860c47f4b027020bac6874dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20Reuh=20Fildadut?= Date: Mon, 6 Dec 2021 16:15:35 +0100 Subject: [PATCH] Remove text litterals as events buffers may contain code blocks (choices events) and we don't want this to end up in the save file --- interpreter/expression.lua | 2 +- parser/expression.lua | 6 ----- stdlib/bootscript.lua | 1 - stdlib/types.lua | 18 +++++++------ test/tests/eventbuffer text litteral.ans | 6 ----- test/tests/eventbuffer text litteral.lua | 32 ------------------------ 6 files changed, 11 insertions(+), 54 deletions(-) delete mode 100644 test/tests/eventbuffer text litteral.ans delete mode 100644 test/tests/eventbuffer text litteral.lua diff --git a/interpreter/expression.lua b/interpreter/expression.lua index d3e4379..73f8bb7 100644 --- a/interpreter/expression.lua +++ b/interpreter/expression.lua @@ -65,7 +65,7 @@ local function eval(state, exp) type = "list", value = l } - -- event buffer with from a text line + -- event buffer (internal type, only issued from a text or choice line) elseif exp.type == "text" then local l = {} events:push_buffer(state, l) diff --git a/parser/expression.lua b/parser/expression.lua index 82fe714..dff09e9 100644 --- a/parser/expression.lua +++ b/parser/expression.lua @@ -92,12 +92,6 @@ local function expression(s, state, namespace, current_priority, operating_on) local l, e = parse_text(d, state, namespace, "string") -- parse interpolated expressions if not l then return l, e end return expression(r, state, namespace, current_priority, l) - -- text - elseif s:match("^t%\"") then - local d, r = get_text_in_litteral(s, 3) - local l, e = parse_text(d, state, namespace, "text", nil, true) -- parse interpolated expressions and subtext - if not l then return l, e end - return expression(r, state, namespace, current_priority, l) -- paranthesis elseif s:match("^%b()") then local content, r = s:match("^(%b())(.*)$") diff --git a/stdlib/bootscript.lua b/stdlib/bootscript.lua index 78b3c60..21b31a7 100644 --- a/stdlib/bootscript.lua +++ b/stdlib/bootscript.lua @@ -6,6 +6,5 @@ return [[ :string="string" :list="list" :pair="pair" -:event buffer="event buffer" :function reference="function reference" ]] diff --git a/stdlib/types.lua b/stdlib/types.lua index 1f9a485..1f9c200 100644 --- a/stdlib/types.lua +++ b/stdlib/types.lua @@ -131,13 +131,6 @@ types.anselme = { return { [k] = v } end }, - ["event buffer"] = { - format = function(val) - local v, e = events:write_buffer(anselme.running.state, val) - if not v then return v, e end - return "" - end, - }, type = { format = function(val) local k, ke = format(val[1]) @@ -151,7 +144,16 @@ types.anselme = { if not k and ke then return k, ke end return k end - } + }, + ["function reference"] = nil, + -- internal types + ["event buffer"] = { + format = function(val) -- triggered from subtexts + local v, e = events:write_buffer(anselme.running.state, val) + if not v then return v, e end + return "" + end + }, } package.loaded[...] = types diff --git a/test/tests/eventbuffer text litteral.ans b/test/tests/eventbuffer text litteral.ans deleted file mode 100644 index c6edba8..0000000 --- a/test/tests/eventbuffer text litteral.ans +++ /dev/null @@ -1,6 +0,0 @@ -:a = t"Some text." -:b = t"Tagged text" # 1 - -a: {a} - -b: {b} diff --git a/test/tests/eventbuffer text litteral.lua b/test/tests/eventbuffer text litteral.lua deleted file mode 100644 index 6c41755..0000000 --- a/test/tests/eventbuffer text litteral.lua +++ /dev/null @@ -1,32 +0,0 @@ -local _={} -_[13]={1} -_[12]={} -_[11]={} -_[10]={} -_[9]={tags=_[13],text="Tagged text"} -_[8]={tags=_[12],text="b: "} -_[7]={tags=_[11],text="Some text."} -_[6]={tags=_[10],text="a: "} -_[5]={_[8],_[9]} -_[4]={_[6],_[7]} -_[3]={"return"} -_[2]={"text",_[5]} -_[1]={"text",_[4]} -return {_[1],_[2],_[3]} ---[[ -{ "text", { { - tags = {}, - text = "a: " - }, { - tags = {}, - text = "Some text." - } } } -{ "text", { { - tags = {}, - text = "b: " - }, { - tags = { 1 }, - text = "Tagged text" - } } } -{ "return" } -]]-- \ No newline at end of file