On 8/14/2013 4:43 PM, Henning Hraban Ramm wrote:
Am 2013-08-14 um 20:15 schrieb Wolfgang Schuster
: Current beta MkIV seems to have a bug in the Lua function io.lines:
for myline in io.lines(myfile) do logs.report(myline) end
"myfile" just contains one line with a number, without return/newline. If the number has more than one digit, I get single digits as "myeline".
Do you have a minimal working example?
Minimal working yes, but not minimal failing ;-)
This works:
io.output(io.open("myfile.txt","w")) io.write("123") io.close()
for myline in io.lines("myfile.txt") do print(myline .. "\n") end
But in my t-lilyfilter.tex where it reads the systems.count files of LilyPond (that contain only the number of note systems that resulted from the included LilyPond code), it fails:
function thirddata.parselilypondfile(name) -- include all systems (note lines) -- name is like \LILYTEMP/mainfile-temp-lilypond-21.pdf logs.report("LILYPOND","name='" .. name .. "'") syco = 0 for ts in io.lines(string.gsub(name, '%.pdf$', '-systems.count')) do syco = ts*1 end
for nr = 1, syco do logs.report("LILYPOND","including system no." .. nr) context("\\externalfigure[" .. string.gsub(name, '%.pdf$', '-' .. nr) .. "]") end end
While I have a single-digit number of systems, it works, but the song of my failing case has 11 lines.
I wouldn't complain if it wouldn't have worked before!
well, you probably were lucky before: string.gsub returns multiple values so io.lines get a second argument that limits the length of what gets returned local myfile = "myfile.txt" for myline in io.lines(myfile,2) do logs.report("test",myline) end so you need: io.lines((string.gsub(name, '%.pdf$', '-systems.count'))) or local name = string.gsub(name, '%.pdf$', '-systems.count') io.lines(name) or maybe better: io.lines(file.replacesuffix(name,'-systems.count')) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------