On Fri, 27 Jan 2017 13:23:53, "Eric Blake (cygwin)" wrote: > A new release of bash, 4.4.12-3, has been uploaded and will soon reach a > mirror near you.
Bash printf cannot handle any Unicode blocks starting with "Private Use Area" (U+E000 - U+F8FF). Note I will be skipping the surrogate blocks[1] (U+D800 - U+DFFF) for this post, as /bin/printf does not support them either[2]: $ bash -c 'printf \\uD7FF' | od -tcx1 0000000 355 237 277 ed 9f bf $ bash -c 'printf \\uE000' | od -tcx1 0000000 355 237 270 355 260 200 ed 9f b8 ed b0 80 $ /bin/printf '\uD7FF' | od -tcx1 0000000 355 237 277 ed 9f bf $ /bin/printf '\uE000' | od -tcx1 0000000 356 200 200 ee 80 80 Tested with these environments: cygwin-20170119 bash-4.4.12 cygwin-20170119 bash-4.4.11 cygwin-20170119 bash-4.4.5 cygwin-20170119 bash-4.3.48 cygwin-2.6.1 bash-4.4.12 cygwin-2.6.1 bash-4.4.11 cygwin-2.6.1 bash-4.4.5 cygwin-2.6.1 bash-4.3.48 cygwin-2.6.0 bash-4.4.12 cygwin-2.6.0 bash-4.4.11 cygwin-2.6.0 bash-4.4.5 cygwin-2.6.0 bash-4.3.48 This appears to be Cygwin specific: I tested also on Debian 8.7.1 without issue. [1] http://wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates [2] http://lists.gnu.org/archive/html/bug-coreutils/2008-05/msg00068 -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple