nmh-workers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nmh-workers] Blockers for 1.7.1.


From: Ken Hornstein
Subject: Re: [Nmh-workers] Blockers for 1.7.1.
Date: Sat, 17 Feb 2018 15:57:16 -0500

>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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]