diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0037/cmd b/go/regtest/cases-pending-go-port/int64-io/0037/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0037/cmd rename to go/regtest/cases-pending-go-port/int64-io/0037/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0001/experr b/go/regtest/cases-pending-go-port/int64-io/0037/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0001/experr rename to go/regtest/cases-pending-go-port/int64-io/0037/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0037/expout b/go/regtest/cases-pending-go-port/int64-io/0037/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0037/expout rename to go/regtest/cases-pending-go-port/int64-io/0037/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/cmd b/go/regtest/cases-pending-go-port/int64-io/0038/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/cmd rename to go/regtest/cases-pending-go-port/int64-io/0038/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0002/experr b/go/regtest/cases-pending-go-port/int64-io/0038/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0002/experr rename to go/regtest/cases-pending-go-port/int64-io/0038/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/expout b/go/regtest/cases-pending-go-port/int64-io/0038/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/expout rename to go/regtest/cases-pending-go-port/int64-io/0038/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/info b/go/regtest/cases-pending-go-port/int64-io/0038/info similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/info rename to go/regtest/cases-pending-go-port/int64-io/0038/info diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0039/cmd b/go/regtest/cases-pending-go-port/int64-io/0039/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0039/cmd rename to go/regtest/cases-pending-go-port/int64-io/0039/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0003/experr b/go/regtest/cases-pending-go-port/int64-io/0039/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0003/experr rename to go/regtest/cases-pending-go-port/int64-io/0039/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0039/expout b/go/regtest/cases-pending-go-port/int64-io/0039/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0039/expout rename to go/regtest/cases-pending-go-port/int64-io/0039/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0040/cmd b/go/regtest/cases-pending-go-port/int64-io/0040/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0040/cmd rename to go/regtest/cases-pending-go-port/int64-io/0040/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0004/experr b/go/regtest/cases-pending-go-port/int64-io/0040/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0004/experr rename to go/regtest/cases-pending-go-port/int64-io/0040/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0040/expout b/go/regtest/cases-pending-go-port/int64-io/0040/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0040/expout rename to go/regtest/cases-pending-go-port/int64-io/0040/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0041/cmd b/go/regtest/cases-pending-go-port/int64-io/0041/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0041/cmd rename to go/regtest/cases-pending-go-port/int64-io/0041/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0005/experr b/go/regtest/cases-pending-go-port/int64-io/0041/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0005/experr rename to go/regtest/cases-pending-go-port/int64-io/0041/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0041/expout b/go/regtest/cases-pending-go-port/int64-io/0041/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0041/expout rename to go/regtest/cases-pending-go-port/int64-io/0041/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0042/cmd b/go/regtest/cases-pending-go-port/int64-io/0042/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0042/cmd rename to go/regtest/cases-pending-go-port/int64-io/0042/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0006/experr b/go/regtest/cases-pending-go-port/int64-io/0042/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0006/experr rename to go/regtest/cases-pending-go-port/int64-io/0042/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0042/expout b/go/regtest/cases-pending-go-port/int64-io/0042/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0042/expout rename to go/regtest/cases-pending-go-port/int64-io/0042/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0043/cmd b/go/regtest/cases-pending-go-port/int64-io/0043/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0043/cmd rename to go/regtest/cases-pending-go-port/int64-io/0043/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0007/experr b/go/regtest/cases-pending-go-port/int64-io/0043/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0007/experr rename to go/regtest/cases-pending-go-port/int64-io/0043/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0043/expout b/go/regtest/cases-pending-go-port/int64-io/0043/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0043/expout rename to go/regtest/cases-pending-go-port/int64-io/0043/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0013/cmd b/go/regtest/cases-pending-go-port/io-skip-pass-comments/0013/cmd deleted file mode 100644 index 03e2f1a72..000000000 --- a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0013/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --skip-comments --inidx --oxtab cat regtest/input/comments/comments1.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0014/cmd b/go/regtest/cases-pending-go-port/io-skip-pass-comments/0014/cmd deleted file mode 100644 index d812bd5b8..000000000 --- a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0014/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --pass-comments --inidx --oxtab cat regtest/input/comments/comments1.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0015/cmd b/go/regtest/cases-pending-go-port/io-skip-pass-comments/0015/cmd deleted file mode 100644 index b9db57195..000000000 --- a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0015/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --skip-comments --inidx --oxtab cat regtest/input/comments/comments2.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0016/cmd b/go/regtest/cases-pending-go-port/io-skip-pass-comments/0016/cmd deleted file mode 100644 index 31b3f0331..000000000 --- a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0016/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --pass-comments --inidx --oxtab cat regtest/input/comments/comments2.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0017/cmd b/go/regtest/cases-pending-go-port/io-skip-pass-comments/0017/cmd deleted file mode 100644 index 21a3f0d54..000000000 --- a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0017/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --skip-comments --inidx --oxtab cat regtest/input/comments/comments3.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0018/cmd b/go/regtest/cases-pending-go-port/io-skip-pass-comments/0018/cmd deleted file mode 100644 index b5f78fd30..000000000 --- a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0018/cmd +++ /dev/null @@ -1 +0,0 @@ -mlr --pass-comments --inidx --oxtab cat regtest/input/comments/comments3.nidx diff --git a/go/regtest/cases/io-multi/0003/cmd b/go/regtest/cases/io-multi/0003/cmd index df4bdd540..573a71817 100644 --- a/go/regtest/cases/io-multi/0003/cmd +++ b/go/regtest/cases/io-multi/0003/cmd @@ -1 +1 @@ -mlr --inidx --opprint --from regtest/input/s.nidx --from regtest/input/t.nidx put -f ./${CASEDIR}/mlr +mlr --inidx --ifs space --opprint --from regtest/input/s.nidx --from regtest/input/t.nidx put -f ./${CASEDIR}/mlr diff --git a/go/regtest/cases/io-multi/0003/expout b/go/regtest/cases/io-multi/0003/expout index ef9b6e929..db3818c85 100644 --- a/go/regtest/cases/io-multi/0003/expout +++ b/go/regtest/cases/io-multi/0003/expout @@ -1,8 +1,8 @@ -1 nf nr fnr filenum -pan pan 1 0.3467901443380824 0.7268028627434533 1 1 1 1 -eks pan 2 0.7586799647899636 0.5221511083334797 1 2 2 1 -wye wye 3 0.20460330576630303 0.33831852551664776 1 3 3 1 -eks wye 4 0.38139939387114097 0.13418874328430463 1 4 4 1 -wye pan 5 0.5732889198020006 0.8636244699032729 1 5 1 2 -zee pan 6 0.5271261600918548 0.49322128674835697 1 6 2 2 -eks zee 7 0.6117840605678454 0.1878849191181694 1 7 3 2 +1 2 3 4 5 nf nr fnr filenum +pan pan 1 0.3467901443380824 0.7268028627434533 5 1 1 1 +eks pan 2 0.7586799647899636 0.5221511083334797 5 2 2 1 +wye wye 3 0.20460330576630303 0.33831852551664776 5 3 3 1 +eks wye 4 0.38139939387114097 0.13418874328430463 5 4 4 1 +wye pan 5 0.5732889198020006 0.8636244699032729 5 5 1 2 +zee pan 6 0.5271261600918548 0.49322128674835697 5 6 2 2 +eks zee 7 0.6117840605678454 0.1878849191181694 5 7 3 2 diff --git a/go/regtest/cases/io-multi/0009/cmd b/go/regtest/cases/io-multi/0009/cmd index 3265b5ca6..9ed076557 100644 --- a/go/regtest/cases/io-multi/0009/cmd +++ b/go/regtest/cases/io-multi/0009/cmd @@ -1 +1 @@ -mlr --idkvp --ojson --from regtest/input/s.dkvp --from regtest/input/t.dkvp put -f ./${CASEDIR}/mlr +mlr --idkvp --ojson --jvstack --from regtest/input/s.dkvp --from regtest/input/t.dkvp put -f ./${CASEDIR}/mlr diff --git a/go/regtest/cases/io-multi/0019/cmd b/go/regtest/cases/io-multi/0019/cmd index 34c12848e..ac9bd8943 100644 --- a/go/regtest/cases/io-multi/0019/cmd +++ b/go/regtest/cases/io-multi/0019/cmd @@ -1 +1 @@ -mlr --inidx --oxtab cat ./${CASEDIR}/input +mlr --inidx --ifs space --oxtab cat ./${CASEDIR}/input diff --git a/go/regtest/cases/io-multi/0019/expout b/go/regtest/cases/io-multi/0019/expout index e76ab1716..12da45b8a 100644 --- a/go/regtest/cases/io-multi/0019/expout +++ b/go/regtest/cases/io-multi/0019/expout @@ -1,6 +1 @@ -1 a -2 b -3 c -4 d -5 e -6 f +1 a,b,c,d,e,f diff --git a/go/regtest/cases/io-multi/0020/cmd b/go/regtest/cases/io-multi/0020/cmd index 34c12848e..ac9bd8943 100644 --- a/go/regtest/cases/io-multi/0020/cmd +++ b/go/regtest/cases/io-multi/0020/cmd @@ -1 +1 @@ -mlr --inidx --oxtab cat ./${CASEDIR}/input +mlr --inidx --ifs space --oxtab cat ./${CASEDIR}/input diff --git a/go/regtest/cases/io-multi/0020/expout b/go/regtest/cases/io-multi/0020/expout index 0f4eebc66..e76ab1716 100644 --- a/go/regtest/cases/io-multi/0020/expout +++ b/go/regtest/cases/io-multi/0020/expout @@ -1 +1,6 @@ -1 a b c d e f +1 a +2 b +3 c +4 d +5 e +6 f diff --git a/go/regtest/cases/io-multi/0021/cmd b/go/regtest/cases/io-multi/0021/cmd index c47d9a2a2..8331dc836 100644 --- a/go/regtest/cases/io-multi/0021/cmd +++ b/go/regtest/cases/io-multi/0021/cmd @@ -1 +1 @@ -mlr --inidx --ifs , --oxtab cat ./${CASEDIR}/input +mlr --inidx --ifs comma --oxtab cat ./${CASEDIR}/input diff --git a/go/regtest/cases/io-multi/0023/cmd b/go/regtest/cases/io-multi/0023/cmd index fe01e46dc..ac9bd8943 100644 --- a/go/regtest/cases/io-multi/0023/cmd +++ b/go/regtest/cases/io-multi/0023/cmd @@ -1 +1 @@ -mlr --inidx --ifs ' ' --oxtab cat ./${CASEDIR}/input +mlr --inidx --ifs space --oxtab cat ./${CASEDIR}/input diff --git a/go/regtest/cases/io-multi/0024/cmd b/go/regtest/cases/io-multi/0024/cmd index fe01e46dc..ac9bd8943 100644 --- a/go/regtest/cases/io-multi/0024/cmd +++ b/go/regtest/cases/io-multi/0024/cmd @@ -1 +1 @@ -mlr --inidx --ifs ' ' --oxtab cat ./${CASEDIR}/input +mlr --inidx --ifs space --oxtab cat ./${CASEDIR}/input diff --git a/go/regtest/cases/io-multi/0032/cmd b/go/regtest/cases/io-multi/0032/cmd index 491640b46..f8f38c476 100644 --- a/go/regtest/cases/io-multi/0032/cmd +++ b/go/regtest/cases/io-multi/0032/cmd @@ -1 +1 @@ -mlr --c2j cat regtest/input/s.csv +mlr --c2j --jvstack cat regtest/input/s.csv diff --git a/go/regtest/cases/io-multi/0035/cmd b/go/regtest/cases/io-multi/0035/cmd index 60b5322b5..3509d88f6 100644 --- a/go/regtest/cases/io-multi/0035/cmd +++ b/go/regtest/cases/io-multi/0035/cmd @@ -1 +1 @@ -mlr --icsv --ojson cat regtest/input/implicit.csv +mlr --icsv --ojson --jvstack cat regtest/input/implicit.csv diff --git a/go/regtest/cases/io-multi/0036/cmd b/go/regtest/cases/io-multi/0036/cmd index b9caf0e6e..cba04ad24 100644 --- a/go/regtest/cases/io-multi/0036/cmd +++ b/go/regtest/cases/io-multi/0036/cmd @@ -1 +1 @@ -mlr --implicit-csv-header --icsv --ojson cat regtest/input/implicit.csv +mlr --implicit-csv-header --icsv --ojson --jvstack cat regtest/input/implicit.csv diff --git a/go/regtest/cases/io-multi/0037/cmd b/go/regtest/cases/io-multi/0037/cmd index 5192f18fe..7f5509a5e 100644 --- a/go/regtest/cases/io-multi/0037/cmd +++ b/go/regtest/cases/io-multi/0037/cmd @@ -1 +1 @@ -mlr --icsvlite --ojson cat regtest/input/s.csv +mlr --icsvlite --ojson --jvstack cat regtest/input/s.csv diff --git a/go/regtest/cases/io-multi/0038/cmd b/go/regtest/cases/io-multi/0038/cmd index 8faaecfa3..e9abc49b5 100644 --- a/go/regtest/cases/io-multi/0038/cmd +++ b/go/regtest/cases/io-multi/0038/cmd @@ -1 +1 @@ -mlr --icsvlite --implicit-csv-header --ojson cat regtest/input/implicit.csv +mlr --icsvlite --implicit-csv-header --ojson --jvstack cat regtest/input/implicit.csv diff --git a/go/regtest/cases/io-multi/0043/cmd b/go/regtest/cases/io-multi/0043/cmd index af4555b4e..2ccf11303 100644 --- a/go/regtest/cases/io-multi/0043/cmd +++ b/go/regtest/cases/io-multi/0043/cmd @@ -1 +1 @@ -mlr --icsvlite --ojson --allow-ragged-csv-input cat regtest/input/ragged-short.csv +mlr --icsvlite --allow-ragged-csv-input --ojson --jvstack cat regtest/input/ragged-short.csv diff --git a/go/regtest/cases/io-multi/0044/cmd b/go/regtest/cases/io-multi/0044/cmd index 2995d4d5e..73a85d5ae 100644 --- a/go/regtest/cases/io-multi/0044/cmd +++ b/go/regtest/cases/io-multi/0044/cmd @@ -1 +1 @@ -mlr --icsvlite --ojson --allow-ragged-csv-input cat regtest/input/ragged-long.csv +mlr --icsvlite --allow-ragged-csv-input --ojson --jvstack cat regtest/input/ragged-long.csv diff --git a/go/regtest/cases/io-multi/0045/cmd b/go/regtest/cases/io-multi/0045/cmd index 9ca0717ca..ba0952815 100644 --- a/go/regtest/cases/io-multi/0045/cmd +++ b/go/regtest/cases/io-multi/0045/cmd @@ -1 +1 @@ -mlr --icsv --ojson --allow-ragged-csv-input cat regtest/input/ragged-short.csv +mlr --icsv --allow-ragged-csv-input --ojson --jvstack cat regtest/input/ragged-short.csv diff --git a/go/regtest/cases/io-multi/0046/cmd b/go/regtest/cases/io-multi/0046/cmd index de2acc2be..248d9f447 100644 --- a/go/regtest/cases/io-multi/0046/cmd +++ b/go/regtest/cases/io-multi/0046/cmd @@ -1 +1 @@ -mlr --icsv --ojson --allow-ragged-csv-input cat regtest/input/ragged-long.csv +mlr --icsv --allow-ragged-csv-input --ojson --jvstack cat regtest/input/ragged-long.csv diff --git a/go/regtest/cases/io-multi/0047/cmd b/go/regtest/cases/io-multi/0047/cmd index f0555e9e0..f26deb993 100644 --- a/go/regtest/cases/io-multi/0047/cmd +++ b/go/regtest/cases/io-multi/0047/cmd @@ -1 +1 @@ -mlr --ixtab --ojson cat regtest/input/test-1.xtab +mlr --ixtab --ojson --jvstack cat regtest/input/test-1.xtab diff --git a/go/regtest/cases/io-multi/0048/cmd b/go/regtest/cases/io-multi/0048/cmd index 8a6c4079b..1092a5b5c 100644 --- a/go/regtest/cases/io-multi/0048/cmd +++ b/go/regtest/cases/io-multi/0048/cmd @@ -1 +1 @@ -mlr --ixtab --ojson cat regtest/input/test-2.xtab +mlr --ixtab --ojson --jvstack cat regtest/input/test-2.xtab diff --git a/go/regtest/cases/io-multi/0049/cmd b/go/regtest/cases/io-multi/0049/cmd index 8462166af..16f01e0e9 100644 --- a/go/regtest/cases/io-multi/0049/cmd +++ b/go/regtest/cases/io-multi/0049/cmd @@ -1 +1 @@ -mlr --ixtab --ojson cat regtest/input/test-3.xtab +mlr --ixtab --ojson --jvstack cat regtest/input/test-3.xtab diff --git a/go/regtest/cases/io-multi/0050/cmd b/go/regtest/cases/io-multi/0050/cmd index 981103447..4fdfe6cad 100644 --- a/go/regtest/cases/io-multi/0050/cmd +++ b/go/regtest/cases/io-multi/0050/cmd @@ -1 +1 @@ -mlr --ixtab --ojson cat regtest/input/test-1.xtab regtest/input/test-2.xtab +mlr --ixtab --ojson --jvstack cat regtest/input/test-1.xtab regtest/input/test-2.xtab diff --git a/go/regtest/cases/io-multi/0051/cmd b/go/regtest/cases/io-multi/0051/cmd index f68cfed30..4820878d6 100644 --- a/go/regtest/cases/io-multi/0051/cmd +++ b/go/regtest/cases/io-multi/0051/cmd @@ -1 +1 @@ -mlr --ixtab --ojson cat regtest/input/test-2.xtab regtest/input/test-1.xtab +mlr --ixtab --ojson --jvstack cat regtest/input/test-2.xtab regtest/input/test-1.xtab diff --git a/go/regtest/cases/io-multi/0052/cmd b/go/regtest/cases/io-multi/0052/cmd index 7cdee8a4e..5b22ebadf 100644 --- a/go/regtest/cases/io-multi/0052/cmd +++ b/go/regtest/cases/io-multi/0052/cmd @@ -1 +1 @@ -mlr --ixtab --ojson cat regtest/input/test-1.xtab regtest/input/test-2.xtab regtest/input/test-3.xtab +mlr --ixtab --ojson --jvstack cat regtest/input/test-1.xtab regtest/input/test-2.xtab regtest/input/test-3.xtab diff --git a/go/regtest/cases/io-multi/0054/cmd b/go/regtest/cases/io-multi/0054/cmd index a0c002624..4a2899c3a 100644 --- a/go/regtest/cases/io-multi/0054/cmd +++ b/go/regtest/cases/io-multi/0054/cmd @@ -1 +1 @@ -mlr --ojson --from regtest/input/s.dkvp head -n 1 +mlr --ojson --jvstack --from regtest/input/s.dkvp head -n 1 diff --git a/go/regtest/cases/io-multi/0055/cmd b/go/regtest/cases/io-multi/0055/cmd index ed45da6f3..056d3f009 100644 --- a/go/regtest/cases/io-multi/0055/cmd +++ b/go/regtest/cases/io-multi/0055/cmd @@ -1 +1 @@ -mlr --ojson --from regtest/input/s.dkvp head -n 2 +mlr --ojson --jvstack --from regtest/input/s.dkvp head -n 2 diff --git a/go/regtest/cases/io-multi/0056/cmd b/go/regtest/cases/io-multi/0056/cmd index b38182a60..646924e6b 100644 --- a/go/regtest/cases/io-multi/0056/cmd +++ b/go/regtest/cases/io-multi/0056/cmd @@ -1 +1 @@ -mlr --ojson --from regtest/input/s.dkvp head -n 3 +mlr --ojson --jvstack --from regtest/input/s.dkvp head -n 3 diff --git a/go/regtest/cases/io-multi/0057/cmd b/go/regtest/cases/io-multi/0057/cmd index cb96cac4f..29ce73b69 100644 --- a/go/regtest/cases/io-multi/0057/cmd +++ b/go/regtest/cases/io-multi/0057/cmd @@ -1 +1 @@ -mlr --jlistwrap --ojson --from regtest/input/s.dkvp head -n 0 +mlr --jlistwrap --ojson --jvstack --from regtest/input/s.dkvp head -n 0 diff --git a/go/regtest/cases/io-multi/0058/cmd b/go/regtest/cases/io-multi/0058/cmd index 35df0e8e3..17da03052 100644 --- a/go/regtest/cases/io-multi/0058/cmd +++ b/go/regtest/cases/io-multi/0058/cmd @@ -1 +1 @@ -mlr --jlistwrap --ojson --from regtest/input/s.dkvp head -n 1 +mlr --jlistwrap --ojson --jvstack --from regtest/input/s.dkvp head -n 1 diff --git a/go/regtest/cases/io-multi/0059/cmd b/go/regtest/cases/io-multi/0059/cmd index 54cd960bc..85cc55fe4 100644 --- a/go/regtest/cases/io-multi/0059/cmd +++ b/go/regtest/cases/io-multi/0059/cmd @@ -1 +1 @@ -mlr --jlistwrap --ojson --from regtest/input/s.dkvp head -n 2 +mlr --jlistwrap --ojson --jvstack --from regtest/input/s.dkvp head -n 2 diff --git a/go/regtest/cases/io-multi/0060/cmd b/go/regtest/cases/io-multi/0060/cmd index 3cd9bbc2e..e6fee79cb 100644 --- a/go/regtest/cases/io-multi/0060/cmd +++ b/go/regtest/cases/io-multi/0060/cmd @@ -1 +1 @@ -mlr --jlistwrap --ojson --from regtest/input/s.dkvp head -n 3 +mlr --jlistwrap --ojson --jvstack --from regtest/input/s.dkvp head -n 3 diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0001/cmd b/go/regtest/cases/io-skip-pass-comments/0001/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0001/cmd rename to go/regtest/cases/io-skip-pass-comments/0001/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0008/experr b/go/regtest/cases/io-skip-pass-comments/0001/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0008/experr rename to go/regtest/cases/io-skip-pass-comments/0001/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0001/expout b/go/regtest/cases/io-skip-pass-comments/0001/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0001/expout rename to go/regtest/cases/io-skip-pass-comments/0001/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0002/cmd b/go/regtest/cases/io-skip-pass-comments/0002/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0002/cmd rename to go/regtest/cases/io-skip-pass-comments/0002/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0009/experr b/go/regtest/cases/io-skip-pass-comments/0002/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0009/experr rename to go/regtest/cases/io-skip-pass-comments/0002/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0002/expout b/go/regtest/cases/io-skip-pass-comments/0002/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0002/expout rename to go/regtest/cases/io-skip-pass-comments/0002/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0003/cmd b/go/regtest/cases/io-skip-pass-comments/0003/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0003/cmd rename to go/regtest/cases/io-skip-pass-comments/0003/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0010/experr b/go/regtest/cases/io-skip-pass-comments/0003/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0010/experr rename to go/regtest/cases/io-skip-pass-comments/0003/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0003/expout b/go/regtest/cases/io-skip-pass-comments/0003/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0003/expout rename to go/regtest/cases/io-skip-pass-comments/0003/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0004/cmd b/go/regtest/cases/io-skip-pass-comments/0004/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0004/cmd rename to go/regtest/cases/io-skip-pass-comments/0004/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0011/experr b/go/regtest/cases/io-skip-pass-comments/0004/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0011/experr rename to go/regtest/cases/io-skip-pass-comments/0004/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0004/expout b/go/regtest/cases/io-skip-pass-comments/0004/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0004/expout rename to go/regtest/cases/io-skip-pass-comments/0004/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0005/cmd b/go/regtest/cases/io-skip-pass-comments/0005/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0005/cmd rename to go/regtest/cases/io-skip-pass-comments/0005/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0012/experr b/go/regtest/cases/io-skip-pass-comments/0005/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0012/experr rename to go/regtest/cases/io-skip-pass-comments/0005/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0005/expout b/go/regtest/cases/io-skip-pass-comments/0005/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0005/expout rename to go/regtest/cases/io-skip-pass-comments/0005/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0006/cmd b/go/regtest/cases/io-skip-pass-comments/0006/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0006/cmd rename to go/regtest/cases/io-skip-pass-comments/0006/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0013/experr b/go/regtest/cases/io-skip-pass-comments/0006/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0013/experr rename to go/regtest/cases/io-skip-pass-comments/0006/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0006/expout b/go/regtest/cases/io-skip-pass-comments/0006/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0006/expout rename to go/regtest/cases/io-skip-pass-comments/0006/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0007/cmd b/go/regtest/cases/io-skip-pass-comments/0007/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0007/cmd rename to go/regtest/cases/io-skip-pass-comments/0007/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0014/experr b/go/regtest/cases/io-skip-pass-comments/0007/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0014/experr rename to go/regtest/cases/io-skip-pass-comments/0007/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0007/expout b/go/regtest/cases/io-skip-pass-comments/0007/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0007/expout rename to go/regtest/cases/io-skip-pass-comments/0007/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0008/cmd b/go/regtest/cases/io-skip-pass-comments/0008/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0008/cmd rename to go/regtest/cases/io-skip-pass-comments/0008/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0015/experr b/go/regtest/cases/io-skip-pass-comments/0008/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0015/experr rename to go/regtest/cases/io-skip-pass-comments/0008/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0008/expout b/go/regtest/cases/io-skip-pass-comments/0008/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0008/expout rename to go/regtest/cases/io-skip-pass-comments/0008/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0009/cmd b/go/regtest/cases/io-skip-pass-comments/0009/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0009/cmd rename to go/regtest/cases/io-skip-pass-comments/0009/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0016/experr b/go/regtest/cases/io-skip-pass-comments/0009/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0016/experr rename to go/regtest/cases/io-skip-pass-comments/0009/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0009/expout b/go/regtest/cases/io-skip-pass-comments/0009/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0009/expout rename to go/regtest/cases/io-skip-pass-comments/0009/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0010/cmd b/go/regtest/cases/io-skip-pass-comments/0010/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0010/cmd rename to go/regtest/cases/io-skip-pass-comments/0010/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0017/experr b/go/regtest/cases/io-skip-pass-comments/0010/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0017/experr rename to go/regtest/cases/io-skip-pass-comments/0010/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0010/expout b/go/regtest/cases/io-skip-pass-comments/0010/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0010/expout rename to go/regtest/cases/io-skip-pass-comments/0010/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0011/cmd b/go/regtest/cases/io-skip-pass-comments/0011/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0011/cmd rename to go/regtest/cases/io-skip-pass-comments/0011/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0018/experr b/go/regtest/cases/io-skip-pass-comments/0011/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0018/experr rename to go/regtest/cases/io-skip-pass-comments/0011/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0011/expout b/go/regtest/cases/io-skip-pass-comments/0011/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0011/expout rename to go/regtest/cases/io-skip-pass-comments/0011/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0012/cmd b/go/regtest/cases/io-skip-pass-comments/0012/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0012/cmd rename to go/regtest/cases/io-skip-pass-comments/0012/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0025/experr b/go/regtest/cases/io-skip-pass-comments/0012/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0025/experr rename to go/regtest/cases/io-skip-pass-comments/0012/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0012/expout b/go/regtest/cases/io-skip-pass-comments/0012/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0012/expout rename to go/regtest/cases/io-skip-pass-comments/0012/expout diff --git a/go/regtest/cases/io-skip-pass-comments/0013/cmd b/go/regtest/cases/io-skip-pass-comments/0013/cmd new file mode 100644 index 000000000..0dace5202 --- /dev/null +++ b/go/regtest/cases/io-skip-pass-comments/0013/cmd @@ -0,0 +1 @@ +mlr --skip-comments --inidx --ifs space --oxtab cat regtest/input/comments/comments1.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0026/experr b/go/regtest/cases/io-skip-pass-comments/0013/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0026/experr rename to go/regtest/cases/io-skip-pass-comments/0013/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0013/expout b/go/regtest/cases/io-skip-pass-comments/0013/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0013/expout rename to go/regtest/cases/io-skip-pass-comments/0013/expout diff --git a/go/regtest/cases/io-skip-pass-comments/0014/cmd b/go/regtest/cases/io-skip-pass-comments/0014/cmd new file mode 100644 index 000000000..6b12ed6c4 --- /dev/null +++ b/go/regtest/cases/io-skip-pass-comments/0014/cmd @@ -0,0 +1 @@ +mlr --pass-comments --inidx --ifs space --oxtab cat regtest/input/comments/comments1.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0027/experr b/go/regtest/cases/io-skip-pass-comments/0014/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0027/experr rename to go/regtest/cases/io-skip-pass-comments/0014/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0014/expout b/go/regtest/cases/io-skip-pass-comments/0014/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0014/expout rename to go/regtest/cases/io-skip-pass-comments/0014/expout diff --git a/go/regtest/cases/io-skip-pass-comments/0015/cmd b/go/regtest/cases/io-skip-pass-comments/0015/cmd new file mode 100644 index 000000000..47fb83b9d --- /dev/null +++ b/go/regtest/cases/io-skip-pass-comments/0015/cmd @@ -0,0 +1 @@ +mlr --skip-comments --inidx --ifs space --oxtab cat regtest/input/comments/comments2.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0028/experr b/go/regtest/cases/io-skip-pass-comments/0015/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0028/experr rename to go/regtest/cases/io-skip-pass-comments/0015/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0015/expout b/go/regtest/cases/io-skip-pass-comments/0015/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0015/expout rename to go/regtest/cases/io-skip-pass-comments/0015/expout diff --git a/go/regtest/cases/io-skip-pass-comments/0016/cmd b/go/regtest/cases/io-skip-pass-comments/0016/cmd new file mode 100644 index 000000000..164ab0a0f --- /dev/null +++ b/go/regtest/cases/io-skip-pass-comments/0016/cmd @@ -0,0 +1 @@ +mlr --pass-comments --inidx --ifs space --oxtab cat regtest/input/comments/comments2.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0029/experr b/go/regtest/cases/io-skip-pass-comments/0016/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0029/experr rename to go/regtest/cases/io-skip-pass-comments/0016/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0016/expout b/go/regtest/cases/io-skip-pass-comments/0016/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0016/expout rename to go/regtest/cases/io-skip-pass-comments/0016/expout diff --git a/go/regtest/cases/io-skip-pass-comments/0017/cmd b/go/regtest/cases/io-skip-pass-comments/0017/cmd new file mode 100644 index 000000000..6b560eb37 --- /dev/null +++ b/go/regtest/cases/io-skip-pass-comments/0017/cmd @@ -0,0 +1 @@ +mlr --skip-comments --inidx --ifs space --oxtab cat regtest/input/comments/comments3.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0030/experr b/go/regtest/cases/io-skip-pass-comments/0017/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0030/experr rename to go/regtest/cases/io-skip-pass-comments/0017/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0017/expout b/go/regtest/cases/io-skip-pass-comments/0017/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0017/expout rename to go/regtest/cases/io-skip-pass-comments/0017/expout diff --git a/go/regtest/cases/io-skip-pass-comments/0018/cmd b/go/regtest/cases/io-skip-pass-comments/0018/cmd new file mode 100644 index 000000000..df8193626 --- /dev/null +++ b/go/regtest/cases/io-skip-pass-comments/0018/cmd @@ -0,0 +1 @@ +mlr --pass-comments --inidx --ifs space --oxtab cat regtest/input/comments/comments3.nidx diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0031/experr b/go/regtest/cases/io-skip-pass-comments/0018/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0031/experr rename to go/regtest/cases/io-skip-pass-comments/0018/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0018/expout b/go/regtest/cases/io-skip-pass-comments/0018/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0018/expout rename to go/regtest/cases/io-skip-pass-comments/0018/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0025/cmd b/go/regtest/cases/io-skip-pass-comments/0025/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0025/cmd rename to go/regtest/cases/io-skip-pass-comments/0025/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0032/experr b/go/regtest/cases/io-skip-pass-comments/0025/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0032/experr rename to go/regtest/cases/io-skip-pass-comments/0025/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0025/expout b/go/regtest/cases/io-skip-pass-comments/0025/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0025/expout rename to go/regtest/cases/io-skip-pass-comments/0025/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0026/cmd b/go/regtest/cases/io-skip-pass-comments/0026/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0026/cmd rename to go/regtest/cases/io-skip-pass-comments/0026/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0033/experr b/go/regtest/cases/io-skip-pass-comments/0026/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0033/experr rename to go/regtest/cases/io-skip-pass-comments/0026/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0026/expout b/go/regtest/cases/io-skip-pass-comments/0026/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0026/expout rename to go/regtest/cases/io-skip-pass-comments/0026/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0027/cmd b/go/regtest/cases/io-skip-pass-comments/0027/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0027/cmd rename to go/regtest/cases/io-skip-pass-comments/0027/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0034/experr b/go/regtest/cases/io-skip-pass-comments/0027/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0034/experr rename to go/regtest/cases/io-skip-pass-comments/0027/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0027/expout b/go/regtest/cases/io-skip-pass-comments/0027/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0027/expout rename to go/regtest/cases/io-skip-pass-comments/0027/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0028/cmd b/go/regtest/cases/io-skip-pass-comments/0028/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0028/cmd rename to go/regtest/cases/io-skip-pass-comments/0028/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0035/experr b/go/regtest/cases/io-skip-pass-comments/0028/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0035/experr rename to go/regtest/cases/io-skip-pass-comments/0028/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0028/expout b/go/regtest/cases/io-skip-pass-comments/0028/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0028/expout rename to go/regtest/cases/io-skip-pass-comments/0028/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0029/cmd b/go/regtest/cases/io-skip-pass-comments/0029/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0029/cmd rename to go/regtest/cases/io-skip-pass-comments/0029/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0036/experr b/go/regtest/cases/io-skip-pass-comments/0029/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0036/experr rename to go/regtest/cases/io-skip-pass-comments/0029/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0029/expout b/go/regtest/cases/io-skip-pass-comments/0029/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0029/expout rename to go/regtest/cases/io-skip-pass-comments/0029/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0030/cmd b/go/regtest/cases/io-skip-pass-comments/0030/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0030/cmd rename to go/regtest/cases/io-skip-pass-comments/0030/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0037/experr b/go/regtest/cases/io-skip-pass-comments/0030/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0037/experr rename to go/regtest/cases/io-skip-pass-comments/0030/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0030/expout b/go/regtest/cases/io-skip-pass-comments/0030/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0030/expout rename to go/regtest/cases/io-skip-pass-comments/0030/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0031/cmd b/go/regtest/cases/io-skip-pass-comments/0031/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0031/cmd rename to go/regtest/cases/io-skip-pass-comments/0031/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/experr b/go/regtest/cases/io-skip-pass-comments/0031/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0038/experr rename to go/regtest/cases/io-skip-pass-comments/0031/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0031/expout b/go/regtest/cases/io-skip-pass-comments/0031/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0031/expout rename to go/regtest/cases/io-skip-pass-comments/0031/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0032/cmd b/go/regtest/cases/io-skip-pass-comments/0032/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0032/cmd rename to go/regtest/cases/io-skip-pass-comments/0032/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0039/experr b/go/regtest/cases/io-skip-pass-comments/0032/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0039/experr rename to go/regtest/cases/io-skip-pass-comments/0032/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0032/expout b/go/regtest/cases/io-skip-pass-comments/0032/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0032/expout rename to go/regtest/cases/io-skip-pass-comments/0032/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0033/cmd b/go/regtest/cases/io-skip-pass-comments/0033/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0033/cmd rename to go/regtest/cases/io-skip-pass-comments/0033/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0040/experr b/go/regtest/cases/io-skip-pass-comments/0033/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0040/experr rename to go/regtest/cases/io-skip-pass-comments/0033/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0033/expout b/go/regtest/cases/io-skip-pass-comments/0033/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0033/expout rename to go/regtest/cases/io-skip-pass-comments/0033/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0034/cmd b/go/regtest/cases/io-skip-pass-comments/0034/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0034/cmd rename to go/regtest/cases/io-skip-pass-comments/0034/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0041/experr b/go/regtest/cases/io-skip-pass-comments/0034/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0041/experr rename to go/regtest/cases/io-skip-pass-comments/0034/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0034/expout b/go/regtest/cases/io-skip-pass-comments/0034/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0034/expout rename to go/regtest/cases/io-skip-pass-comments/0034/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0035/cmd b/go/regtest/cases/io-skip-pass-comments/0035/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0035/cmd rename to go/regtest/cases/io-skip-pass-comments/0035/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0042/experr b/go/regtest/cases/io-skip-pass-comments/0035/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0042/experr rename to go/regtest/cases/io-skip-pass-comments/0035/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0035/expout b/go/regtest/cases/io-skip-pass-comments/0035/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0035/expout rename to go/regtest/cases/io-skip-pass-comments/0035/expout diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0036/cmd b/go/regtest/cases/io-skip-pass-comments/0036/cmd similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0036/cmd rename to go/regtest/cases/io-skip-pass-comments/0036/cmd diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0043/experr b/go/regtest/cases/io-skip-pass-comments/0036/experr similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0043/experr rename to go/regtest/cases/io-skip-pass-comments/0036/experr diff --git a/go/regtest/cases-pending-go-port/io-skip-pass-comments/0036/expout b/go/regtest/cases/io-skip-pass-comments/0036/expout similarity index 100% rename from go/regtest/cases-pending-go-port/io-skip-pass-comments/0036/expout rename to go/regtest/cases/io-skip-pass-comments/0036/expout diff --git a/go/src/cli/mlrcli.go b/go/src/cli/mlrcli.go index ab80976fd..01eee3813 100644 --- a/go/src/cli/mlrcli.go +++ b/go/src/cli/mlrcli.go @@ -211,16 +211,9 @@ package cli // readerOptions.IFS = nil; // readerOptions.ips = nil; // readerOptions.input_json_flatten_separator = nil; -// readerOptions.json_array_ingest = JSON_ARRAY_INGEST_UNSPECIFIED; // // readerOptions.allow_repeat_ifs = NEITHER_TRUE_NOR_FALSE; // readerOptions.allow_repeat_ips = NEITHER_TRUE_NOR_FALSE; -// readerOptions.use_implicit_csv_header = NEITHER_TRUE_NOR_FALSE; -// readerOptions.allow_ragged_csv_input = NEITHER_TRUE_NOR_FALSE; -// -// readerOptions.prepipe = nil; -// readerOptions.comment_handling = COMMENTS_ARE_DATA; -// readerOptions.comment_string = nil; // // readerOptions.generator_opts.field_name = "i"; // readerOptions.generator_opts.start = 0LL; diff --git a/go/src/cliutil/option_parse.go b/go/src/cliutil/option_parse.go index 0ab18bbaa..da4781bb6 100644 --- a/go/src/cliutil/option_parse.go +++ b/go/src/cliutil/option_parse.go @@ -209,28 +209,28 @@ func ParseReaderOptions( readerOptions.FileInputEncoding = lib.FileInputEncodingBzip2 argi += 1 - // } else if args[argi] == "--skip-comments" { - // readerOptions.comment_string = DEFAULT_COMMENT_STRING; - // readerOptions.comment_handling = SKIP_COMMENTS; - // argi += 1; - // - // } else if args[argi] == "--skip-comments-with" { - // CheckArgCount(args, argi, argc, 2); - // readerOptions.comment_string = args[argi+1]; - // readerOptions.comment_handling = SKIP_COMMENTS; - // argi += 2; - // - // } else if args[argi] == "--pass-comments" { - // readerOptions.comment_string = DEFAULT_COMMENT_STRING; - // readerOptions.comment_handling = PASS_COMMENTS; - // argi += 1; - // - // } else if args[argi] == "--pass-comments-with" { - // CheckArgCount(args, argi, argc, 2); - // readerOptions.comment_string = args[argi+1]; - // readerOptions.comment_handling = PASS_COMMENTS; - // argi += 2; - // + } else if args[argi] == "--skip-comments" { + readerOptions.CommentString = DEFAULT_COMMENT_STRING + readerOptions.CommentHandling = SkipComments + argi += 1 + + } else if args[argi] == "--skip-comments-with" { + CheckArgCount(args, argi, argc, 2) + readerOptions.CommentString = args[argi+1] + readerOptions.CommentHandling = SkipComments + argi += 2 + + } else if args[argi] == "--pass-comments" { + readerOptions.CommentString = DEFAULT_COMMENT_STRING + readerOptions.CommentHandling = PassComments + argi += 1 + + } else if args[argi] == "--pass-comments-with" { + CheckArgCount(args, argi, argc, 2) + readerOptions.CommentString = args[argi+1] + readerOptions.CommentHandling = PassComments + argi += 2 + } *pargi = argi return argi != oargi diff --git a/go/src/cliutil/option_types.go b/go/src/cliutil/option_types.go index 0cd902e45..dbd4bd586 100644 --- a/go/src/cliutil/option_types.go +++ b/go/src/cliutil/option_types.go @@ -19,6 +19,15 @@ import ( // long long step; //} generator_opts_t; +type TCommentHandling int + +const ( + CommentsAreData TCommentHandling = iota + SkipComments + PassComments +) +const DEFAULT_COMMENT_STRING = "#" + // ---------------------------------------------------------------- type TReaderOptions struct { InputFileFormat string @@ -33,10 +42,10 @@ type TReaderOptions struct { // allow_repeat_ips bool; UseImplicitCSVHeader bool AllowRaggedCSVInput bool - // - // comment_handling_t comment_handling; - // comment_string string; - // + + CommentHandling TCommentHandling + CommentString string + // // Fake internal-data-generator 'reader' // generator_opts_t generator_opts; @@ -152,6 +161,7 @@ func DefaultReaderOptions() TReaderOptions { IRS: "\n", IFS: ",", IPS: "=", + CommentHandling: CommentsAreData, FileInputEncoding: lib.FileInputEncodingDefault, } } diff --git a/go/src/input/record_reader_csv.go b/go/src/input/record_reader_csv.go index f8c3ea323..f54cb466c 100644 --- a/go/src/input/record_reader_csv.go +++ b/go/src/input/record_reader_csv.go @@ -1,11 +1,13 @@ package input import ( + "bytes" "encoding/csv" "errors" "fmt" "io" "strconv" + "strings" "miller/src/cliutil" "miller/src/lib" @@ -91,6 +93,12 @@ func (this *RecordReaderCSV) processHandle( errorChannel <- err return } + + isData := this.maybeConsumeComment(csvRecord, context, inputChannel) + if !isData { + continue + } + header = csvRecord rowNumber++ @@ -109,6 +117,11 @@ func (this *RecordReaderCSV) processHandle( } rowNumber++ + isData := this.maybeConsumeComment(csvRecord, context, inputChannel) + if !isData { + continue + } + if header == nil { // implicit CSV header n := len(csvRecord) header = make([]string, n) @@ -171,3 +184,71 @@ func (this *RecordReaderCSV) processHandle( ) } } + +// maybeConsumeComment returns true if the CSV record should be processed as +// data, false otherwise. +func (this *RecordReaderCSV) maybeConsumeComment( + csvRecord []string, + context *types.Context, + inputChannel chan<- *types.RecordAndContext, +) bool { + if this.readerOptions.CommentHandling == cliutil.CommentsAreData { + // Nothing is to be construed as a comment + return true + } + + if len(csvRecord) < 1 { + // Not a comment + return true + } + leader := csvRecord[0] + + if !strings.HasPrefix(leader, this.readerOptions.CommentString) { + // Not a comment + return true + } + + // Is a comment + if this.readerOptions.CommentHandling == cliutil.PassComments { + // What we want to do here is simple enough: write the record back into + // a buffer -- basically string-join on IFS but with csvWriter's + // double-quote handling -- and then pass the resulting string along + // down-channel to the goroutine which writes strings. + // + // However, sadly, bytes.Buffer does not implement io.Writer because + // its Write method has pointer receiver. So we have a WorkaroundBuffer + // struct below which has non-pointer receiver. + buffer := NewWorkaroundBuffer() + csvWriter := csv.NewWriter(buffer) + csvWriter.Comma = rune(this.readerOptions.IFS[0]) // xxx temp + csvWriter.Write(csvRecord) + csvWriter.Flush() + inputChannel <- types.NewOutputString(buffer.String(), context) + } else /* this.readerOptions.CommentHandling == cliutil.SkipComments */ { + // discard entirely + } + return false +} + +// ---------------------------------------------------------------- +// As noted above: wraps a bytes.Buffer, whose Write method has pointer +// receiver, in a struct with non-pointer receiver so that it implements +// io.Writer. +type WorkaroundBuffer struct { + pbuffer *bytes.Buffer +} + +func NewWorkaroundBuffer() WorkaroundBuffer { + var buffer bytes.Buffer + return WorkaroundBuffer{ + pbuffer: &buffer, + } +} + +func (this WorkaroundBuffer) Write(p []byte) (n int, err error) { + return this.pbuffer.Write(p) +} + +func (this WorkaroundBuffer) String() string { + return this.pbuffer.String() +} diff --git a/go/src/input/record_reader_csvlite.go b/go/src/input/record_reader_csvlite.go index b87801171..5b0ac3bc0 100644 --- a/go/src/input/record_reader_csvlite.go +++ b/go/src/input/record_reader_csvlite.go @@ -38,21 +38,13 @@ type RecordReaderCSVLite struct { // TODO: from reader options allowRepeatIFS bool - - // TODO: port from C - // comment_handling_t comment_handling; - // char* comment_string; } // ---------------------------------------------------------------- func NewRecordReaderCSVLite(readerOptions *cliutil.TReaderOptions) *RecordReaderCSVLite { return &RecordReaderCSVLite{ - readerOptions: readerOptions, - allowRepeatIFS: false, - - // TODO: port from C - // pstate->comment_handling = comment_handling; - // pstate->comment_string = comment_string; + readerOptions: readerOptions, + allowRepeatIFS: false, emptyStringMlrval: types.MlrvalFromString(""), } } @@ -60,12 +52,8 @@ func NewRecordReaderCSVLite(readerOptions *cliutil.TReaderOptions) *RecordReader // ---------------------------------------------------------------- func NewRecordReaderPPRINT(readerOptions *cliutil.TReaderOptions) *RecordReaderCSVLite { return &RecordReaderCSVLite{ - readerOptions: readerOptions, - allowRepeatIFS: true, - - // TODO: port from C - // pstate->comment_handling = comment_handling; - // pstate->comment_string = comment_string; + readerOptions: readerOptions, + allowRepeatIFS: true, emptyStringMlrval: types.MlrvalFromString(""), } } @@ -162,9 +150,20 @@ func (this *RecordReaderCSVLite) processHandleExplicitCSVHeader( errorChannel <- err } else { inputLineNumber++ + + // Check for comments-in-data feature + if strings.HasPrefix(line, this.readerOptions.CommentString) { + if this.readerOptions.CommentHandling == cliutil.PassComments { + inputChannel <- types.NewOutputString(line, context) + continue + } else if this.readerOptions.CommentHandling == cliutil.SkipComments { + continue + } + // else comments are data + } + // This is how to do a chomp: line = strings.TrimRight(line, this.readerOptions.IRS) - // xxx temp pending autodetect, and pending more windows-port work line = strings.TrimRight(line, "\r") @@ -259,6 +258,18 @@ func (this *RecordReaderCSVLite) processHandleImplicitCSVHeader( errorChannel <- err } else { inputLineNumber++ + + // Check for comments-in-data feature + if strings.HasPrefix(line, this.readerOptions.CommentString) { + if this.readerOptions.CommentHandling == cliutil.PassComments { + inputChannel <- types.NewOutputString(line, context) + continue + } else if this.readerOptions.CommentHandling == cliutil.SkipComments { + continue + } + // else comments are data + } + // This is how to do a chomp: line = strings.TrimRight(line, this.readerOptions.IRS) diff --git a/go/src/input/record_reader_dkvp.go b/go/src/input/record_reader_dkvp.go index d3106dc57..2ec275853 100644 --- a/go/src/input/record_reader_dkvp.go +++ b/go/src/input/record_reader_dkvp.go @@ -73,22 +73,36 @@ func (this *RecordReaderDKVP) processHandle( if lib.IsEOF(err) { err = nil eof = true - } else if err != nil { - errorChannel <- err - } else { - // This is how to do a chomp: - line = strings.TrimRight(line, "\n") - - // xxx temp pending autodetect, and pending more windows-port work - line = strings.TrimRight(line, "\r") - - record := this.recordFromDKVPLine(&line) - context.UpdateForInputRecord() - inputChannel <- types.NewRecordAndContext( - record, - context, - ) + break } + if err != nil { + errorChannel <- err + break + } + + // Check for comments-in-data feature + if strings.HasPrefix(line, this.readerOptions.CommentString) { + if this.readerOptions.CommentHandling == cliutil.PassComments { + inputChannel <- types.NewOutputString(line, context) + continue + } else if this.readerOptions.CommentHandling == cliutil.SkipComments { + continue + } + // else comments are data + } + + // This is how to do a chomp: + line = strings.TrimRight(line, "\n") + + // xxx temp pending autodetect, and pending more windows-port work + line = strings.TrimRight(line, "\r") + + record := this.recordFromDKVPLine(&line) + context.UpdateForInputRecord() + inputChannel <- types.NewRecordAndContext( + record, + context, + ) } } diff --git a/go/src/input/record_reader_nidx.go b/go/src/input/record_reader_nidx.go index 9c6b8ac70..130a54ce4 100644 --- a/go/src/input/record_reader_nidx.go +++ b/go/src/input/record_reader_nidx.go @@ -74,33 +74,47 @@ func (this *RecordReaderNIDX) processHandle( if lib.IsEOF(err) { err = nil eof = true - } else if err != nil { - errorChannel <- err - } else { - // This is how to do a chomp: - line = strings.TrimRight(line, "\n") - - // xxx temp pending autodetect, and pending more windows-port work - line = strings.TrimRight(line, "\r") - - record := recordFromNIDXLine(&line, &this.readerOptions.IFS) - - context.UpdateForInputRecord() - inputChannel <- types.NewRecordAndContext( - record, - context, - ) + break } + + if err != nil { + errorChannel <- err + break + } + + // Check for comments-in-data feature + if strings.HasPrefix(line, this.readerOptions.CommentString) { + if this.readerOptions.CommentHandling == cliutil.PassComments { + inputChannel <- types.NewOutputString(line, context) + continue + } else if this.readerOptions.CommentHandling == cliutil.SkipComments { + continue + } + // else comments are data + } + + // xxx temp pending autodetect, and pending more windows-port work + // This is how to do a chomp: + line = strings.TrimRight(line, "\n") + line = strings.TrimRight(line, "\r") + + record := recordFromNIDXLine(line, this.readerOptions.IFS) + + context.UpdateForInputRecord() + inputChannel <- types.NewRecordAndContext( + record, + context, + ) } } // ---------------------------------------------------------------- func recordFromNIDXLine( - line *string, - ifs *string, + line string, + ifs string, ) *types.Mlrmap { record := types.NewMlrmap() - values := lib.SplitString(*line, *ifs) // TODO: repifs ... + values := lib.SplitString(line, ifs) // TODO: repifs ... var i int = 0 for _, value := range values { i++ diff --git a/go/src/input/record_reader_xtab.go b/go/src/input/record_reader_xtab.go index 5d6f192a2..f6deb043d 100644 --- a/go/src/input/record_reader_xtab.go +++ b/go/src/input/record_reader_xtab.go @@ -22,8 +22,6 @@ type RecordReaderXTAB struct { // int allow_repeat_ips; // int do_auto_line_term; // int at_eof; - // comment_handling_t comment_handling; - // char* comment_string; } // ---------------------------------------------------------------- @@ -86,7 +84,8 @@ func (this *RecordReaderXTAB) processHandle( eof := false for !eof { - line, err := lineReader.ReadString(this.readerOptions.IRS[0]) // xxx temp + //line, err := lineReader.ReadString(this.readerOptions.IRS[0]) // xxx temp + line, err := lineReader.ReadString('\n') if lib.IsEOF(err) { err = nil eof = true @@ -101,28 +100,44 @@ func (this *RecordReaderXTAB) processHandle( inputChannel <- types.NewRecordAndContext(record, context) linesForRecord = list.New() } - } else if err != nil { + continue + } + + if err != nil { errorChannel <- err + break + } + + // Check for comments-in-data feature + if strings.HasPrefix(line, this.readerOptions.CommentString) { + if this.readerOptions.CommentHandling == cliutil.PassComments { + inputChannel <- types.NewOutputString(line, context) + continue + } else if this.readerOptions.CommentHandling == cliutil.SkipComments { + continue + } + // else comments are data + } + + // xxx temp pending autodetect, and pending more windows-port work + // This is how to do a chomp: + line = strings.TrimRight(line, "\n") + line = strings.TrimRight(line, "\r") + //line = strings.TrimRight(line, this.readerOptions.IRS) + + if line != "" { + linesForRecord.PushBack(line) + } else { - // This is how to do a chomp: - line = strings.TrimRight(line, this.readerOptions.IRS) - - // xxx temp pending autodetect, and pending more windows-port work - line = strings.TrimRight(line, "\r") - - if line == "" { - if linesForRecord.Len() > 0 { - record, err := this.recordFromXTABLines(linesForRecord) - if err != nil { - errorChannel <- err - return - } - context.UpdateForInputRecord() - inputChannel <- types.NewRecordAndContext(record, context) - linesForRecord = list.New() + if linesForRecord.Len() > 0 { + record, err := this.recordFromXTABLines(linesForRecord) + if err != nil { + errorChannel <- err + return } - } else { - linesForRecord.PushBack(line) + context.UpdateForInputRecord() + inputChannel <- types.NewRecordAndContext(record, context) + linesForRecord = list.New() } } } diff --git a/go/src/types/context.go b/go/src/types/context.go index fed36e29d..88560e540 100644 --- a/go/src/types/context.go +++ b/go/src/types/context.go @@ -54,7 +54,11 @@ func (this *RecordAndContext) Copy() *RecordAndContext { } } -// For print/dump/etc to insert strings sequenced into the record-output stream. +// For print/dump/etc to insert strings sequenced into the record-output +// stream. This avoids race conditions between different goroutines printing +// to stdout: we have a single designated goroutine printing to stdout. This +// makes output more predictable and intuitive for users; it also makes our +// regression tests run reliably the same each time. func NewOutputString( outputString string, context *Context, diff --git a/go/todo.txt b/go/todo.txt index 6b7bd9c3e..daeece017 100644 --- a/go/todo.txt +++ b/go/todo.txt @@ -1,6 +1,11 @@ ================================================================ TOP OF LIST: +* repifs fix +* starrer survey +* defer json comment-handling +* c bug: ../c/mlr --jlistwrap --ojson --jvstack --from regtest/input/s.dkvp head -n 0 -> ] + * mlr -k o c,go o various test cases @@ -35,6 +40,8 @@ TOP OF LIST: - maybe mlr -> mlrc as live-todo & 6make by default -- ? ---------------------------------------------------------------- +* blocker: nidx ifs space & find out why not caught sooner + * blocker: jsonx back-compat * blockers: @@ -59,9 +66,12 @@ TOP OF LIST: ---------------------------------------------------------------- +* blocker: remaining functions: o regextract regextract_or_else * blocker: comment-handling + o really easy for all but JSON + o for JSON, if comments-mode, layer in a line-filtering io.Reader * blocker: localtime functions