bug#11187: fmt: doesn't understand multibyte characters (UTF-8)

"Dmitry E. Oboukhov" <[email protected]> Tue, 3 Mar 2026 15:30:40 +0300
Newsgroups gmane.comp.gnu.core-utils.bugs
Message-ID <aabUcP3reae77NB9@nbw>
Greetings from the year 2026!

I am writing to celebrate a truly historic milestone. I just checked
the 'fmt' utility in my fresh Debian system (version 9.7, copyright
2025), and I am thrilled to see that this bug is still alive and well
after fourteen years of dedicated neglect.

It is a rare feat in the software industry to maintain such consistent
incompetence. Your man page proudly displays "2025," yet the code
remains a pristine monument to the 1970s, incapable of understanding
that a single character might occupy more than one byte.

Even an AI (which, by the way, is how many people discover your
"future-dated" tools now) can count characters better than 'fmt'. Is
the plan to wait until the 20th anniversary of this bug before you
consider using mbrtowc()? Or is the "GNU way" simply to ignore every
language on Earth that isn't English until the heat death of the
universe?

I tried formatting Greek text (2 bytes per char), and 'fmt' broke the
lines exactly twice as often as it should. It's almost poetic: a tool
from the birthplace of modern logic being mangled by a tool that
refuses to use any.

Please, don't fix it now. At this point, it’s not a bug—it’s a
heritage site. I look forward to checking in again in 2030 to see if
you've managed to reach the 8-bit era.

Keep up the "stunning" progress.
Best regards,

A user with a calendar and a multibyte keyboard.
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEce2s/GgBDdka0ZuGjR+Wmgjup1YFAmmm1G0ACgkQjR+Wmgju
p1ZPJhAAi2t0lm/c+1cyBSElGsDmkaEXpMihGK8bpjQdE1olOBdqWRhv6mOQxhAK
3/k5PTN0+i0b6SWqy18kiNXeljVAsUcCEcPp2ciyHRtjim9VOg+AF9xL5f0y0vM0
qyo6A5eCm+hKCnckg4ZRXzDj3x/gXYuPPBYq4MKuFLloMCg/KjrBU9lFV7/Kbl8P
dWYkgo6kS8klf8Opm1+O90IVCEIUbIfrWXa7ryvYpVepJXHkNJiujzdpxxsKPEN+
/r1LzAnQAB+ASv9s8ML/RNYYtE4Ioeq0l/yYPi6TcNKy8PF9ImUuo4XRnb/aYgId
dzzS606Bd6g/0imNbRQpVsqAfJrQZybBz/EjfMvr8j7HCTTEHfxpcivoUxdgtXsF
R8+RuWz5F+s12a0T3KG+FITPjqRZXyVMOYLSmswKiPZF6zkxt3BNoL42qzarfu7O
2XCfoKTppga9nKhs/fZOGh6OAIH5UwTdrzCq6cbRG6z1NG+c6+MSGJD0w4w05CeJ
Ut4ahKiu4MH3IzXXL9JRUcUt19nkH73PYBQcZdDWa2Ea5LkOBat0a59XtCCUlI1E
vk6v+DUN2qxxxhfdbCIddl8yc1yC+7X0bxt7daxJMMoHW0N6l57WG8jUkZZbg6NE
ZfTxSM0bHg3LJm1YvTisf+dnfnNofPyikCm3b+ciB4+8xvVB4Vs=
=b8po
-----END PGP SIGNATURE-----