#1093224 coreutils: numfmt: assigns width 1 to tab (without -d)

Package:
coreutils
Source:
coreutils
Description:
GNU core utilities
Submitter:
наб
Date:
2025-01-16 17:24:02 UTC
Severity:
normal
#1093224#5
Date:
2025-01-16 17:20:37 UTC
From:
To:
Dear Maintainer,

Consider the following sequence:
-- >8 --
printf '1K\n' | numfmt --from iec --field -
printf ' 1K\n' | numfmt --from iec --field -
printf '  1K\n' | numfmt --from iec --field -
printf '   1K\n' | numfmt --from iec --field -
printf '    1K\n' | numfmt --from iec --field -
printf '     1K\n' | numfmt --from iec --field -
printf '      1K\n' | numfmt --from iec --field -
printf '       1K\n' | numfmt --from iec --field -
printf '        1K\n' | numfmt --from iec --field -
printf '\t1K\n' | numfmt --from iec --field -
printf '\t 1K\n' | numfmt --from iec --field -
printf ' \t 1K\n' | numfmt --from iec --field -
printf ' \t1K\n' | numfmt --from iec --field -
printf ' \t 1K\n' | numfmt --from iec --field -
printf '  \t 1K\n' | numfmt --from iec --field -
printf '\t\t1K\n' | numfmt --from iec --field -
printf '\t\t\t1K\n' | numfmt --from iec --field -
printf '\t\t\t\t1K\n' | numfmt --from iec --field -
printf '10\t10\n' | numfmt --from iec --field -
-- >8 --

This yields
-- >8 --
1024
1024
1024
 1024
  1024
   1024
    1024
     1024
      1024
1024
1024
 1024
1024
 1024
  1024
1024
 1024
  1024
10 10
-- >8 --

Kinda smells like it turns 1 tab = 1 column?
Even between fields (see the '10\t10' case)?

A tab should be 8 columns wide, I think we'd all agree.

Best,