diff --git a/go/case-diff b/go/case-diff index 7701d73a6..cdde915a9 100755 --- a/go/case-diff +++ b/go/case-diff @@ -1,8 +1,13 @@ #!/bin/bash # See ./reg-test/run +diff_context_flag="" for arg; do - expfile=./reg-test/expected/$arg.out - outfile=./output-reg-test/$arg.out - diff -a -I '^mlr' -I '^Miller:' -I '^cat' $expfile $outfile + if [ "$arg" = "-C5" ]; then + diff_context_flag="$arg" + else + expfile=./reg-test/expected/$arg.out + outfile=./output-reg-test/$arg.out + diff -a -I '^mlr' -I '^Miller:' -I '^cat' $expfile $outfile + fi done diff --git a/go/cases-to-do.txt b/go/cases-to-do.txt index 3a618b643..02e129c98 100644 --- a/go/cases-to-do.txt +++ b/go/cases-to-do.txt @@ -1,19 +1,18 @@ ================================================================ BUG: -rrv ./reg-test/cases/case-c-altkv.sh rrv ./reg-test/cases/case-c-dsl-argpass-typedecl.sh rrv ./reg-test/cases/case-c-dsl-extended-typeof.sh rrv ./reg-test/cases/case-c-dsl-functional-tests.sh rrv ./reg-test/cases/case-c-dsl-haskey.sh +rrv ./reg-test/cases/case-c-dsl-multipart-scripts.sh +rrv ./reg-test/cases/case-c-dsl-null-empty-handling.sh rrv ./reg-test/cases/case-c-dsl-triple-for-loops.sh rrv ./reg-test/cases/case-c-label.sh -rrv ./reg-test/cases/case-c-remove-empty-columns.sh ================================================================ FORMATTING? -rrv ./reg-test/cases/case-c-clean-whitespace.sh rrv ./reg-test/cases/case-c-localvar-unsets.sh rrv ./reg-test/cases/case-c-dsl-operator-associativity.sh rrv ./reg-test/cases/case-c-dsl-operator-precedence.sh @@ -21,7 +20,9 @@ rrv ./reg-test/cases/case-c-dsl-operator-precedence.sh ================================================================ PARTIALLY IMPLEMENTED: +rrv ./reg-test/cases/case-c-clean-whitespace.sh rrv ./reg-test/cases/case-c-cut.sh +rrv ./reg-test/cases/case-c-localvar-unsets.sh ================================================================ PPRINT --BARRED --RIGHT @@ -47,7 +48,12 @@ rrv ./reg-test/cases/case-c-auxents.sh rrv ./reg-test/cases/case-c-bar.sh rrv ./reg-test/cases/case-c-compressed-input.sh rrv ./reg-test/cases/case-c-count-distinct.sh +rrv ./reg-test/cases/case-c-csv-rs-environment-defaults.sh +rrv ./reg-test/cases/case-c-dsl-gmt-date-time-functions.sh rrv ./reg-test/cases/case-c-dsl-local-date-time-functions.sh +rrv ./reg-test/cases/case-c-dsl-mapvars-udfs-subroutines.sh +rrv ./reg-test/cases/case-c-dsl-positional-indexing.sh +rrv ./reg-test/cases/case-c-dsl-redirects.sh rrv ./reg-test/cases/case-c-dsl-regex-captures.sh rrv ./reg-test/cases/case-c-dsl-regex-matching.sh rrv ./reg-test/cases/case-c-fraction.sh @@ -114,23 +120,15 @@ rrv ./reg-test/cases/case-c-dsl-typed-overlay.sh rrv ./reg-test/cases/case-c-dsl-user-defined-functions-and-subroutines.sh rrv ./reg-test/cases/case-c-dsl-user-defined-functions.sh rrv ./reg-test/cases/case-c-dsl-user-defined-subroutines.sh -rrv ./reg-test/cases/case-c-dsl-utf8-uppercase-lowercase.sh rrv ./reg-test/cases/case-c-format-conversion-keystroke-savers.sh rrv ./reg-test/cases/case-c-het-pprint-input.sh ================================================================ TBD: -rrv ./reg-test/cases/case-c-csv-rs-environment-defaults.sh -rrv ./reg-test/cases/case-c-dsl-gmt-date-time-functions.sh -rrv ./reg-test/cases/case-c-dsl-mapvars-udfs-subroutines.sh -rrv ./reg-test/cases/case-c-dsl-multipart-scripts.sh -rrv ./reg-test/cases/case-c-dsl-null-empty-handling.sh rrv ./reg-test/cases/case-c-dsl-parameterized-emit.sh -rrv ./reg-test/cases/case-c-dsl-positional-indexing.sh rrv ./reg-test/cases/case-c-dsl-prefixed-unprefixed-emit.sh rrv ./reg-test/cases/case-c-dsl-print.sh -rrv ./reg-test/cases/case-c-dsl-redirects.sh rrv ./reg-test/cases/case-c-dsl-scientific-notation.sh rrv ./reg-test/cases/case-c-dsl-stack-allocation.sh rrv ./reg-test/cases/case-c-format-values.sh diff --git a/go/src/miller/output/record_writer_pprint.go b/go/src/miller/output/record_writer_pprint.go index dd1cc0ac2..6b4dfe93a 100644 --- a/go/src/miller/output/record_writer_pprint.go +++ b/go/src/miller/output/record_writer_pprint.go @@ -6,6 +6,7 @@ import ( "fmt" "os" "strings" + "unicode/utf8" "miller/clitypes" "miller/types" @@ -89,7 +90,7 @@ func (this *RecordWriterPPRINT) writeHeterogenousList( for e := records.Front(); e != nil; e = e.Next() { outrec := e.Value.(*types.Mlrmap) for pe := outrec.Head; pe != nil; pe = pe.Next { - width := len(pe.Value.String()) + width := utf8.RuneCountInString(pe.Value.String()) if width == 0 { width = 1 // We'll rewrite "" to "-" below } @@ -102,7 +103,7 @@ func (this *RecordWriterPPRINT) writeHeterogenousList( // Column name may be longer/shorter than all data values in the column for key, oldMaxWidth := range maxWidths { - width := len(key) + width := utf8.RuneCountInString(key) if width > oldMaxWidth { maxWidths[key] = width }