uutils/coreutils

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

Open

#10095 opened on Jan 7, 2026

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

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