GNU skips only spaces and tabs before the algorithm name in a tagged
checksum line. A form feed or carriage return, as in
`\fMD5 (f) = D` or `\rMD5 (f) = D`, makes the line improperly
formatted.
uutils trimmed all ASCII whitespace there and accepted those lines.
Skip only spaces and tabs instead.
Wrap identifiers in backticks in the entries docs, as suggested by
clippy::doc_markdown, without enabling the lint. Also fix an
unbalanced ``set'' quote that broke rendering of the POSIX getgroups()
excerpt, and a stray backtick in the cstr2string docs. Docs only.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Table::new seeded each column width with the header's length in bytes,
while every cell, the header row included, is measured in display
columns. A non-ASCII header therefore widened its column by one space
per extra byte: with LANG=fr_FR.UTF-8, "Utilisé" gets 8 columns instead
of 7, Cyrillic headers come out twice as wide as they should, CJK ones
one and a half times.
The header row already goes through the same width loop as the data
rows, so drop the byte-length seed and let that loop size it.
Closes#15246.
Each "-" operand took its own lock on stdin, and the second lock blocked
forever, so `comm - -` hung. Keep the stdin handle and lock it for each
read instead, so both operands take their lines from the one shared
stdin buffer.
The is_a_tty.sh fixtures and the script written by
test_nohup_stderr_to_stdout only use POSIX shell features, and the tests
already run the fixtures as `sh is_a_tty.sh`, so the bash shebang is not
needed. Using /bin/sh lets the tests run on systems without bash, such
as minimal embedded images.
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
AIX tr has a -A flag that makes it work byte by byte, with ASCII
ranges and character classes instead of the locale's. AIX's own
scripts use it (lslpp -L does), and GNU tr has accepted it since 8.30
without documenting it. Our tr rejected it as an unexpected argument.
This tr never looks at the locale, so it already behaves as if -A
were given. Accept the flag, keep it out of --help as GNU does, and
otherwise ignore it.
Closes#15225.
GNU join accepts -e more than once as long as every occurrence gives the
same replacement string, and fails with "conflicting empty-field
replacement strings" when they differ. uutils rejected any repeated -e
through clap ("cannot be used multiple times").
Accept repeated -e and report the conflict like GNU. This fixes the ee1
and ee2 cases of the GNU test tests/join/join.pl.