Package: coreutils
Version: 8.32-4+b1
Version: 9.1-1
Severity: normal

Dear Maintainer,

POSIX says (lines 1003.1-202x/D3):
-- >8 --
110789  −s[char]  Separate text columns by the single character char instead of 
by the appropriate
110790            number of <space> characters (default for char shall be 
<tab>).

110817  LC_CTYPE  Determine the locale for the interpretation of sequences of 
bytes of text data as
110818            characters (for example, single-byte as opposed to multi-byte 
characters in
110819            arguments and input files) and which characters are defined 
as printable (character
110820            class print). Non-printable characters are still written to 
standard output, but are
110821            not counted for the purpose for column-width and line-length 
calculations.
-- >8 --

So how does this map onto
-- >8 --
% pr -w22 -2 -s | cat -As
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
$
2023-05-05 03:16  Page 1$
$
abcdefghijkabcdefghijk$
$
% pr -w22 -2 -s'        ' | cat -As
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
$
2023-05-05 03:16  Page 1$
$
abcdefghij abcdefghij$
$
-- >8 --
(that's a literal tab in the second one).

Not only ought these to be the same,
in the first one the separator is lost,
and in the second it's turned into a space.

The correct output for both is, naturally,
  abcdefghijk^Iabcdefghijk$

Oddly, specifying -sQ behaves as expected.

Best,
наб

-- System Information:
Debian Release: 12.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.1.0-2-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1      2.3.1-3
ii  libattr1     1:2.5.1-4
ii  libc6        2.36-9
ii  libgmp10     2:6.2.1+dfsg1-1.1
ii  libselinux1  3.4-1+b5

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information

Attachment: signature.asc
Description: PGP signature

Reply via email to