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