···
function document.MyCharacterMess(str,filename)
What is this "str"?
The raw file content as a Lua string. You can examine the arguments you get like so: ······································································· \startluacode document.arg_test = function (s, ...) table.print({...}, "file_content") return s end local textfileactions = resolvers.openers.helpers.textfileactions utilities.sequencers.appendaction(textfileactions,"system","document.arg_test") \stopluacode \starttext \input ward \input knuth \stoptext ·······································································
if file.nameonly(filename) == "ward" then str = table.concat(string.totable(str,"."), " + ")
What is this doing?
Split the input at every byte and re-concatenate using "+" as delimiter. (It’s a bit confusing as string.totable() takes only one argument ;-) )
[...] utilities.sequencers.appendaction(textfileactions, "system","document.MyCharacterMess")
Why is "document.MyCharacterMess" a string?
The sequencers use loadstring() internally (util-seq.lua), so you need to supply the namespace as a string. This happens all over the place with action/callbacks. Regards Philipp