* problem with lua io.lines @ 2013-08-14 14:05 Henning Hraban Ramm 2013-08-14 14:15 ` Hans Hagen 2013-08-14 14:15 ` Wolfgang Schuster 0 siblings, 2 replies; 8+ messages in thread From: Henning Hraban Ramm @ 2013-08-14 14:05 UTC (permalink / raw) To: mailing ConTeXt users list for Hi, after a long time I'm playing with ConTeXt again… 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 "myline". Greetlings, Hraban --- http://www.fiee.net/texnique/ http://wiki.contextgarden.net https://www.cacert.org (I'm an assurer) ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: problem with lua io.lines 2013-08-14 14:05 problem with lua io.lines Henning Hraban Ramm @ 2013-08-14 14:15 ` Hans Hagen 2013-08-14 14:32 ` Henning Hraban Ramm 2013-08-14 14:15 ` Wolfgang Schuster 1 sibling, 1 reply; 8+ messages in thread From: Hans Hagen @ 2013-08-14 14:15 UTC (permalink / raw) To: ntg-context On 8/14/2013 4:05 PM, Henning Hraban Ramm wrote: > Hi, after a long time I'm playing with ConTeXt again… > > 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 "myline". looks ok here, btw it's logs.report("some tag",myline) > > Greetlings, Hraban > --- > http://www.fiee.net/texnique/ > http://wiki.contextgarden.net > https://www.cacert.org (I'm an assurer) > > ___________________________________________________________________________________ > 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 > ___________________________________________________________________________________ > -- ----------------------------------------------------------------- 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: problem with lua io.lines 2013-08-14 14:15 ` Hans Hagen @ 2013-08-14 14:32 ` Henning Hraban Ramm 0 siblings, 0 replies; 8+ messages in thread From: Henning Hraban Ramm @ 2013-08-14 14:32 UTC (permalink / raw) To: mailing list for ConTeXt users Am 2013-08-14 um 20:15 schrieb Hans Hagen <pragma@wxs.nl>: > looks ok here, btw it's > > logs.report("some tag",myline) Thanks, didn't realize since logs.reportt("everything") always worked ;-) Greetlings, Hraban ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: problem with lua io.lines 2013-08-14 14:05 problem with lua io.lines Henning Hraban Ramm 2013-08-14 14:15 ` Hans Hagen @ 2013-08-14 14:15 ` Wolfgang Schuster 2013-08-14 14:43 ` Henning Hraban Ramm 1 sibling, 1 reply; 8+ messages in thread From: Wolfgang Schuster @ 2013-08-14 14:15 UTC (permalink / raw) To: mailing list for ConTeXt users Am 14.08.2013 um 16:05 schrieb Henning Hraban Ramm <texml@fiee.net>: > Hi, after a long time I'm playing with ConTeXt again… > > 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? Wolfgang ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: problem with lua io.lines 2013-08-14 14:15 ` Wolfgang Schuster @ 2013-08-14 14:43 ` Henning Hraban Ramm 2013-08-14 15:00 ` Hans Hagen 0 siblings, 1 reply; 8+ messages in thread From: Henning Hraban Ramm @ 2013-08-14 14:43 UTC (permalink / raw) To: mailing list for ConTeXt users Am 2013-08-14 um 20:15 schrieb Wolfgang Schuster <schuster.wolfgang@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! Greetlings, Hraban ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: problem with lua io.lines 2013-08-14 14:43 ` Henning Hraban Ramm @ 2013-08-14 15:00 ` Hans Hagen 2013-08-14 15:12 ` Hans Hagen 2013-08-14 17:02 ` Henning Hraban Ramm 0 siblings, 2 replies; 8+ messages in thread From: Hans Hagen @ 2013-08-14 15:00 UTC (permalink / raw) To: mailing list for ConTeXt users On 8/14/2013 4:43 PM, Henning Hraban Ramm wrote: > > Am 2013-08-14 um 20:15 schrieb Wolfgang Schuster <schuster.wolfgang@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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: problem with lua io.lines 2013-08-14 15:00 ` Hans Hagen @ 2013-08-14 15:12 ` Hans Hagen 2013-08-14 17:02 ` Henning Hraban Ramm 1 sibling, 0 replies; 8+ messages in thread From: Hans Hagen @ 2013-08-14 15:12 UTC (permalink / raw) To: ntg-context On 8/14/2013 5:00 PM, Hans Hagen wrote: > On 8/14/2013 4:43 PM, Henning Hraban Ramm wrote: >> >> Am 2013-08-14 um 20:15 schrieb Wolfgang Schuster >> <schuster.wolfgang@gmail.com>: >> >>>> Current beta MkIV seems to have a bug in the Lua function io.lines: btw, it's a lua issue, not related to luatex ... local myfile = "myfile.txt" for myline in io.lines(myfile) do logs.report("test 1",myline) end for myline in io.lines(myfile,3) do logs.report("test 2",myline) end for myline in io.lines(myfile,1) do logs.report("test 2",myline) end for myline in io.lines(myfile,0) do logs.report("test 2",myline) end for myline in io.lines(myfile,-1) do logs.report("test 2",myline) end the zero case loops and the last case gives a "memory allocation error: block too big" so these can be considered buglets in lua 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: problem with lua io.lines 2013-08-14 15:00 ` Hans Hagen 2013-08-14 15:12 ` Hans Hagen @ 2013-08-14 17:02 ` Henning Hraban Ramm 1 sibling, 0 replies; 8+ messages in thread From: Henning Hraban Ramm @ 2013-08-14 17:02 UTC (permalink / raw) To: mailing list for ConTeXt users Am 2013-08-14 um 21:00 schrieb Hans Hagen <pragma@wxs.nl>: >> for ts in io.lines(string.gsub(name, '%.pdf$', '-systems.count')) do >> syco = ts*1 >> end > > 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 Thank you, didn't know that! > 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) Great, that works! > or maybe better: > > io.lines(file.replacesuffix(name,'-systems.count')) No, that doesn't work, because the dot stays, so I get foobar.-systems.count Greetlings, Hraban --- http://www.fiee.net/texnique/ http://wiki.contextgarden.net https://www.cacert.org (I'm an assurer) ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-08-14 17:02 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-08-14 14:05 problem with lua io.lines Henning Hraban Ramm 2013-08-14 14:15 ` Hans Hagen 2013-08-14 14:32 ` Henning Hraban Ramm 2013-08-14 14:15 ` Wolfgang Schuster 2013-08-14 14:43 ` Henning Hraban Ramm 2013-08-14 15:00 ` Hans Hagen 2013-08-14 15:12 ` Hans Hagen 2013-08-14 17:02 ` Henning Hraban Ramm
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).