mirror of
https://github.com/johnkerl/miller.git
synced 2026-08-04 05:23:20 +00:00
bugfix utf8 byte-length -> rune-length in pprint writer
This commit is contained in:
parent
147a057964
commit
eff0437a53
3 changed files with 20 additions and 16 deletions
11
go/case-diff
11
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue