Subject: bug#18987: the bourne shell printf-vs-\xHH portability trap

From: Jim Meyering <[email-masked]>
Date: Fri, 7 Nov 2014 11:14:21 -0600

I ran grep's tests on a debian system this morning and was
surprised to see the word-multibyte test fail...
Until I realized it was because that system was configured
to use dash for /bin/sh, and this test relied on the unportable
printf '\xc3\xa1\n' to print an à (A-grave).  Using \xHH
hexadecimal constants works with bash and zsh, but that
is not portable, and dash's printf built-in emits the 9 bytes
rather than the expected three.

This isn't the first time this has happened, so I'll be writing
a syntax-check rule to help avoid another repeat.

Here's how I've fixed it: