uutils/coreutils

fmt: line-wrapping differs from gnu implementation in some situations

Open

#10,095 opened on Jan 7, 2026

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Rust (1,852 forks)batch import
U - fmtgood first issue

Repository metrics

Stars
 (23,246 stars)
PR merge metrics
 (Avg merge 5d 23h) (239 merged PRs in 30d)

Description

Description

When trying to come across edge cases in the non utf-8 fmt PR I came across that some outputs to fmt were not matching due to the line breaks being inserted in different places

Examples:


  $ printf 'aa bb cc dd ee' | /usr/bin/fmt -w 8
GNU
  aa
  bb cc
  dd ee

uutils
  aa bb cc
  dd ee


  $ printf '漢 字 test 日 本 語' | /usr/bin/fmt -w 10
GNU
  漢 字
  test 日
  本 語

uutils
  漢 字 test
  日 本 語


  $ printf '漢字 test 日本語' | /usr/bin/fmt -w 15
GNU
  漢字 test
  日本語

uutils
  $ printf '漢字 test 日本語' | uutils fmt -w 15
  漢字 test 日本語

Where to fix:

src/uu/fmt/src/linebreak.rs is the file that has the logic

Contributor guide