After I read my e-mail the I cut more my source code and I am sending now more minimalized version of minimal example Sorry, Jaroslav Hajtmar Here is another minimal version: % csvfile.txt content: % first,second,third,fourth % 1,"2","3","4" % "a","b","c","d" % "foo","bar""baz","boogie","xyzzy" % \starttext \startluacode gCSVHeader=true -- works fine when compiled any version of ConTeXt --gCSVHeader=false -- crashed, when compiled by last version of standalone gColNames={} gColumnNames={} local inpcsvfile='csvfile.txt' local currentlyprocessedcsvfile = io.loaddata(inpcsvfile) local mycsvsplitter = utilities.parsers.rfc4180splitter{ separator = ',', quote = '"', } if gCSVHeader then gTableRows, gColumnNames = mycsvsplitter(currentlyprocessedcsvfile,true) inspect(gTableRows) inspect(gColumnNames) else gTableRows = mycsvsplitter(currentlyprocessedcsvfile) inspect(gTableRows) end gNumRows=#gTableRows -- Getting number of rows gNumCols=#gTableRows[1] -- Getting number of columns context.setgvalue("numrows",tostring(gNumRows)) context.setgvalue("numcols",tostring(gNumCols)) context.setgvalue("filename",tostring(inpcsvfile)) \stopluacode File \filename\ has \numrows\ lines and \numcols\ columns. \stoptext Dne 15. 6. 2015 v 10:45 Jaroslav Hajtmar napsal(a):
Hi Hans, I encountered while experimenting with the latest beta version of standalone context to a problem when using the splitter. When I process without header file then compilation crashed when you compile the latest beta version. Conversely, the processing of a header file is no problem. ConTEXt while compiling the 2014 TL is fine in both cases. I do not know from which beta version was a problem, I discovered it by accident until now. Send minimal example. When gCSVHeader = true everything is OK when it is gCSVHeader = false and compilation fails.
Thanx for any advice Jaroslav Hajtmar
Here is my minimal version of problematic example:
% csvfile.txt content: % first,second,third,fourth % 1,"2","3","4" % "a","b","c","d" % "foo","bar""baz","boogie","xyzzy" %
\starttext
\startluacode --gCSVHeader=true -- works fine when compiled any version of ConTeXt gCSVHeader=false -- crashed, when compiled by last beta version of standalone gColNames={} gColumnNames={} local inpcsvfile='csvfile.txt' local currentlyprocessedcsvfile = io.loaddata(inpcsvfile) local mycsvsplitter = utilities.parsers.rfc4180splitter{ separator = ',', quote = '"', } if gCSVHeader then gTableRows, gColumnNames = mycsvsplitter(currentlyprocessedcsvfile,true) inspect(gTableRows) inspect(gColumnNames) for i=1,#gTableRows[1] do gColNames[tostring(gColumnNames[i])] = i -- for indexing use end else gTableRows = mycsvsplitter(currentlyprocessedcsvfile) inspect(gTableRows) -- ad now set column names for withoutheader situation: for i=1,#gTableRows[1] do context(gTableRows[i]) gColumnNames[i]='c'..(i) end end gNumRows=#gTableRows -- Getting number of rows gNumCols=#gTableRows[1] -- Getting number of columns
context.setgvalue("numrows",tostring(gNumRows)) context.setgvalue("numcols",tostring(gNumCols)) context.setgvalue("filename",tostring(inpcsvfile)) \stopluacode
File \filename\ has \numrows\ lines and \numcols\ columns.
\stoptext ___________________________________________________________________________________
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 ___________________________________________________________________________________