>GNU iconv is also used here, where I did d4814561e, but the commit does >not remove support for eliding the `?'. > >The before, 79e8d527, says > > iconv_elides_question_marks=0 > if test "$ICONV_ENABLED" -eq 0; then > text_size=10 > else > text_size=11 > #### The GNU iconv library normalises charset names by eliding '?', > along > #### with some other characters. The iconv library used on > FreeBSD/NetBSD > #### doesn't. > printf x | iconv -f '?UTF-8' -t UTF-8 >/dev/null 2>&1 && > iconv_elides_question_marks=1 > fi > >So let's assume we reach the end of this on Mac OS X with > > ICONV_ENABLED=1 > text_size=11 > iconv_elides_question_marks=1 > >The only other use of iconv_elides_question_marks is > > run_prog mhshow $msgnum > $actual 2>&1 > if [ $iconv_elides_question_marks -eq 1 ]; then > check "$expected" "$actual" > >The `after' from that commit does > > text_size=10 > test "$ICONV_ENABLED" -eq 1 && text_size=11 > >so that will still give the > > ICONV_ENABLED=1 > text_size=11 > >and then the run_prog is > > run_prog mhshow $msgnum > $actual 2>&1 > check "$expected" "$actual" > >Effectively the same. It's the non-iconv_elides_question_marks >behaviour that has changed. > >It did take David and I a bit of head scratching though, IIRC, so it >could be wrong but we'd need to see what's happening to help further.
Alright, test/mhshow/test-charset on master currently fails on MacOS X with: *************** *** 3,6 **** --- 3,8 ---- MIME-Version: 1.0 + mhshow: Can't convert ?us-ascii to UTF-8 + mhshow: unable to convert character set from ?us-ascii, continuing... [ part - text/plain - 0B ] ../nmh/test/mhshow/test-charset: test failed, outputs are in /Users/kenh/nmh-obj/test/testdir/24741.expected and /Users/kenh/nmh-obj/test/testdir/24741.actual. first named test failure: replacement character in parameter value But even though we are using GNU iconv, it turns out that in the old code iconv_elides_question_marks was set to 0. On my systems: % /usr/bin/iconv --version iconv (GNU libiconv 1.11) Copyright (C) 2000-2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. /usr/bin/iconv -f '?UTF-8' -t UTF-8 /usr/bin/iconv: conversion from ?UTF-8 unsupported /usr/bin/iconv: try '/usr/bin/iconv -l' to get the list of supported encodings Even a newer one does the same thing: % /opt/local/bin/iconv --version iconv (GNU libiconv 1.14) Copyright (C) 2000-2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Bruno Haible. % /opt/local/bin/iconv -f '?UTF-8' -t UTF-8 /opt/local/bin/iconv: conversion from ?UTF-8 unsupported /opt/local/bin/iconv: try '/opt/local/bin/iconv -l' to get the list of supported encodings So I guess the non-elides case is the one that is now broken. If you need more info, just let me know. I'm aware those iconv libraries are kind of old; a CentOS system here has 2.17 on it. --Ken -- Nmh-workers https://lists.nongnu.org/mailman/listinfo/nmh-workers
