On 8/14/2013 4:43 PM, Henning Hraban Ramm wrote:
Am 2013-08-14 um 20:15 schrieb Wolfgang Schuster <schuster.wolfg...@gmail.com>:
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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________